Keep group chat session cache loading (#1418)
This commit is contained in:
@@ -8,6 +8,7 @@ import spinnerModule from './spinner.js';
|
||||
import { providerLogo } from './providers.js';
|
||||
import { PROMPT_TEMPLATES, getAllPresets } from './presets.js';
|
||||
import { sortModelObjects } from './modelSort.js';
|
||||
import Storage from './storage.js';
|
||||
|
||||
let API_BASE = '';
|
||||
let _active = false;
|
||||
@@ -546,7 +547,8 @@ export async function startGroup(models, parentSessionId) {
|
||||
_parentSessionId = pdata.id;
|
||||
// Register as group session for sidebar icon
|
||||
try {
|
||||
const gids = JSON.parse(localStorage.getItem('odysseus-group-sessions') || '[]');
|
||||
const storedGroupSessions = Storage.getJSON('odysseus-group-sessions', []);
|
||||
const gids = Array.isArray(storedGroupSessions) ? storedGroupSessions : [];
|
||||
if (!gids.includes(_parentSessionId)) { gids.push(_parentSessionId); localStorage.setItem('odysseus-group-sessions', JSON.stringify(gids)); }
|
||||
} catch (e) {}
|
||||
} catch (e) {
|
||||
|
||||
13
tests/test_group_chat_storage.py
Normal file
13
tests/test_group_chat_storage.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
SOURCE = (
|
||||
Path(__file__).resolve().parent.parent / "static" / "js" / "group.js"
|
||||
).read_text(encoding="utf-8")
|
||||
|
||||
|
||||
def test_group_session_sidebar_cache_uses_safe_json_loader():
|
||||
assert "import Storage from './storage.js';" in SOURCE
|
||||
assert "Storage.getJSON('odysseus-group-sessions', [])" in SOURCE
|
||||
assert "Array.isArray(storedGroupSessions)" in SOURCE
|
||||
assert "JSON.parse(localStorage.getItem('odysseus-group-sessions')" not in SOURCE
|
||||
Reference in New Issue
Block a user