Resolves the deferred clearDevice security gap: logout never removed the E2EE private key from IndexedDB, so on a shared machine the conversations stayed decryptable after sign-out (ChatDock auto-unlocks from the persisted key next visit). Per the user's decision (clear on EVERY logout), NavSidebar.logout() now awaits e2ee.clearDevice(me.id) before reload — guarded so an IndexedDB failure (e.g. private mode) can never block the logout. Re-entering the message passphrase is required on the next visit. Resolves the Phase-1 NEEDS-DECISION #3 (clearDevice) + retires the last e2ee unused export (knip now only flags loadDefaultViewFilters). tsc green, re-review clean (found + fixed an idb-open throw path blocking logout). |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||