Persistent sessions and client module refactor
Server:
- SqliteSessionStore replaces InMemorySessionStore as default backend
- Sessions survive server restarts (stored in navi.db)
- DB_PATH configurable via .env

Client:
- Split monolithic app.js into ES modules:
  js/api.js    — REST calls
  js/ws.js     — WebSocket wrapper (WsClient class)
  js/chat.js   — message area DOM helpers
  js/sidebar.js — session list and header helpers
  js/app.js    — state, wiring, boot
- Active session persisted in localStorage — restored on page reload
1 parent 025fda9 commit 0709074da8678bbe9becdf3304049ae055f608dd
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 8 Apr
Showing 12 changed files
View
.gitignore
View
client/index.html
View
client/js/api.js 0 → 100644
View
client/js/app.js 0 → 100644
View
client/js/chat.js 0 → 100644
View
client/js/sidebar.js 0 → 100644
View
client/js/ws.js 0 → 100644
View
navi/api/deps.py
View
navi/config.py
View
navi/core/__init__.py
View
navi/core/sqlite_session_store.py 0 → 100644
View
pyproject.toml