|
Client UX: profile-filtered sessions, draft persistence, stream safety
- Profile selector now filters session list: only sessions of the selected profile are shown; switching profile opens the most recent session for that profile (or empty state if none exist) - openSession() syncs profileSelect to the opened session's profile so the list always reflects what's on screen - Session items no longer show redundant profile name (list is filtered) - Bug fix: switching sessions while streaming now calls abandonStream() before ws.disconnect() β resets state without touching DOM, preventing WS onClose from calling finishStream() on the wrong session - Textarea no longer disabled during streaming β only the Send button is locked; user can type the next message while model is still responding - Draft auto-saved to localStorage per session on every keystroke, restored on session switch, cleared on send β survives page refresh Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
|---|
|
|
| client/index.html |
|---|
| client/js/app.js |
|---|
| client/js/sidebar.js |
|---|