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 { providerLogo } from './providers.js';
|
||||||
import { PROMPT_TEMPLATES, getAllPresets } from './presets.js';
|
import { PROMPT_TEMPLATES, getAllPresets } from './presets.js';
|
||||||
import { sortModelObjects } from './modelSort.js';
|
import { sortModelObjects } from './modelSort.js';
|
||||||
|
import Storage from './storage.js';
|
||||||
|
|
||||||
let API_BASE = '';
|
let API_BASE = '';
|
||||||
let _active = false;
|
let _active = false;
|
||||||
@@ -546,7 +547,8 @@ export async function startGroup(models, parentSessionId) {
|
|||||||
_parentSessionId = pdata.id;
|
_parentSessionId = pdata.id;
|
||||||
// Register as group session for sidebar icon
|
// Register as group session for sidebar icon
|
||||||
try {
|
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)); }
|
if (!gids.includes(_parentSessionId)) { gids.push(_parentSessionId); localStorage.setItem('odysseus-group-sessions', JSON.stringify(gids)); }
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
} 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