ec56ceb632a1

docs: verify v4.7.5 implementation, fix stale restoreFromSession docstring (v4.7.6)

Verification pass over the v4.7.5 background-sync work (save 2ce3e994721e): - vault_locked confirmed in WARNINGS not FAILURES (sync-outcome.ts) - lock() confirmed to no longer clear the MV3 session key; clearSessionKey now only runs on restore-failure hygiene paths - restoreFromSession() confirmed to derive rootKey unconditionally in real mode (no recovery-field gate) - Gates re-run clean: tsc RC=0, full vitest 3679 passed / 40 todo / 0 fail, focused suites 61/61, npm run build RC=0 (chrome+firefox+mobile) One defect found and fixed: restoreFromSession docstring still claimed the session key is 'cleared on lock' — stale after v4.7.5 and a maintenance hazard (invites a future change that re-breaks background sync). Corrected to state the key deliberately survives lock(). Comment-only change; bumped patch for version-tracking discipline. Also commits the v4.7.5 session continuity block that was pending since the last save.

time
2026-08-01 16:33 UTC · 2 months ago
machine
koh2
parent
2ce3e994721e
4 files manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/background/vault.ts+3 −1
manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22   "manifest_version": 3,33   "name": "Peach Password Manager",4-  "version": "4.7.5",4+  "version": "4.7.6",55   "description": "Zero-knowledge password manager",66   "browser_specific_settings": {77     "gecko": {

view file

manifest.json+1 −1
@@ -2,7 +2,7 @@22   "manifest_version": 3,33   "minimum_chrome_version": "116",44   "name": "Peach Password Manager",5-  "version": "4.7.5",5+  "version": "4.7.6",66   "description": "Zero-knowledge password manager",77   "action": {88     "default_popup": "src/popup/index.html",

view file

package.json+1 −1
@@ -1,6 +1,6 @@11 {22   "name": "peach",3-  "version": "4.7.5",3+  "version": "4.7.6",44   "description": "Zero-knowledge password manager",55   "license": "GPL-3.0-only",66   "type": "module",

view file

src/background/vault.ts+3 −1
@@ -1404,7 +1404,9 @@14041404 14051405 /**14061406  * On SW restart, re-derive all in-memory vault state from the session key1407- * stored in chrome.storage.session (set at unlock time, cleared on lock).1407+ * stored in chrome.storage.session (set at unlock time; deliberately NOT1408+ * cleared by lock() — see lock() below. Cleared only on browser close or1409+ * when restoration fails).14081410  * Returns true if the vault was restored, false if no session key was found.14091411  * No-ops if the vault is already unlocked.14101412  */

view file