Keep group chat session cache loading (#1418)
This commit is contained in:
parent
0ec8415f0e
commit
5fd71f68e8
2 changed files with 16 additions and 1 deletions
|
|
@ -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
|
||||
Loading…
Add table
Reference in a new issue