facf0df18c16
raise recovery-words.test.ts testTimeout to 30s so real Argon2id derivations survive full-suite CPU contention instead of failing at the 5s default (v4.0.35)
- time
- 2026-07-25 00:45 UTC · 3 months ago
- machine
- koh2
- agent
- claude-opus-5
- session
- argon2 test timeout headroom
- parent
- 888f1652d895
↓ peach-browser-facf0df1.tar.gzatlas at this save
files changed4 files
manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/background/recovery-words.test.ts+7 −0manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22 "manifest_version": 3,33 "name": "Peach Password Manager",4- "version": "4.0.34",4+ "version": "4.0.35",55 "description": "Zero-knowledge password manager",66 "browser_specific_settings": {77 "gecko": {manifest.json+1 −1
@@ -1,7 +1,7 @@11 {22 "manifest_version": 3,33 "name": "Peach Password Manager",4- "version": "4.0.34",4+ "version": "4.0.35",55 "description": "Zero-knowledge password manager",66 "action": {77 "default_popup": "src/popup/index.html",package.json+1 −1
@@ -1,6 +1,6 @@11 {22 "name": "peach",3- "version": "4.0.34",3+ "version": "4.0.35",44 "description": "Zero-knowledge password manager",55 "license": "GPL-3.0-only",66 "type": "module",src/background/recovery-words.test.ts+7 −0
@@ -4,6 +4,13 @@44 import type { Message, MessageResponse, StoredVault } from '../shared/types';55 import { WORD_LIST } from '../shared/recovery-word-list';66 7+// Every unlock/GET_RECOVERY_WORDS here runs real Argon2id (m=64MiB, t=3, p=4).8+// The lock/unlock-cycle cases do seven derivations, which lands just past9+// vitest's 5s default once the full suite is competing for CPU — the failures10+// clustered at 5.0-5.1s, not at random points. Raised for the whole file11+// because every case in it is Argon2-bound, not just the ones that flaked.12+vi.setConfig({ testTimeout: 30_000 });13+714 type StorageShape = Record<string, unknown>;815 type MessageListener = (916 msg: unknown,