fix the second, independent bug blocking Codex restore: a malformed regex in VaultRepository.restoreFromCodex - the pattern's trailing wrapper-object close-brace was unescaped (\s*}\s*$ instead of \s*\}\s*$), which Android's on-device regex compiler rejects as a syntax error while the host JVM's regex engine silently tolerates it. This meant restoreFromCodex has likely never worked on a real device regardless of decode success - confirmed via a temporary debug log showing UnlockResult.Error with the exact 'Syntax error in regexp pattern' exception, and confirmed the existing VaultRepositoryExtraTest covering this path passes on the host JVM (explaining why it was never caught) despite failing identically every time on-device. Escaped the brace. Full end-to-end live verification: generated a fresh Codex PDF from a 5-entry vault (Pro-gated feature, activated with the real license key), saved it, navigated to Restore from Codex, imported the exact same file - 76/76 codes decoded (building on the fork's earlier vector-rendering fix), entered the master password, tapped restore, relaunched the app fresh, unlocked, and confirmed all 5 original entries present by name (Recovery Notes, Fastmail, Old Bank, Google with TOTP, GitHub). Codex generate+restore is now fully confirmed working, closing out the last unverified vault import/export format.
$ koh steal kepr.uk/peach-android@cc9b66d963a4
·
parent: c6e41d31ec0a
discussion
log in to leave a comment.