|
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 |
|---|
|
|
| .gitignore |
|---|
| client/index.html |
|---|
| client/js/api.js 0 → 100644 |
|---|
| client/js/app.js 0 → 100644 |
|---|
| client/js/chat.js 0 → 100644 |
|---|
| client/js/sidebar.js 0 → 100644 |
|---|
| client/js/ws.js 0 → 100644 |
|---|
| navi/api/deps.py |
|---|
| navi/config.py |
|---|
| navi/core/__init__.py |
|---|
| navi/core/sqlite_session_store.py 0 → 100644 |
|---|
| pyproject.toml |
|---|