9cab7d6bd740
diag: log canonical string length + head (v4.7.1)
- time
- 2026-08-01 14:44 UTC · 2 months ago
- machine
- koh2
- parent
- 8a84c926b1bf
↓ peach-browser-9cab7d6b.tar.gzatlas at this save
files changed4 files
manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/background/sync-vault-adapter.ts+8 −0manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22 "manifest_version": 3,33 "name": "Peach Password Manager",4- "version": "4.7.0",4+ "version": "4.7.1",55 "description": "Zero-knowledge password manager",66 "browser_specific_settings": {77 "gecko": {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.0",5+ "version": "4.7.1",66 "description": "Zero-knowledge password manager",77 "action": {88 "default_popup": "src/popup/index.html",package.json+1 −1
@@ -1,6 +1,6 @@11 {22 "name": "peach",3- "version": "4.7.0",3+ "version": "4.7.1",44 "description": "Zero-knowledge password manager",55 "license": "GPL-3.0-only",66 "type": "module",src/background/sync-vault-adapter.ts+8 −0
@@ -35,6 +35,7 @@3535 } from "../shared/sync-identity";3636 import {3737 buildSignedDeviceManifest,38+ canonicalise,3839 verifyDeviceManifest,3940 } from "../shared/device-manifest";4041 import { constantTimeEqualHex } from "../shared/constant-time";@@ -309,6 +310,8 @@309310 }310311 311312 let body: Awaited<ReturnType<typeof verifyDeviceManifest>>;313+ // ponytail: temporary mesh-propagation diagnostic, strip before save314+ console.info("[Peach diag] verifyDeviceManifest sigHex=" + manifest.signatureHex?.slice(0, 16) + "... bodyIssuerId=" + manifest.body?.issuerDeviceId + " bodyIssuedAt=" + manifest.body?.issuedAt + " bodyDeviceCount=" + (manifest.body?.devices?.length ?? -1));312315 try {313316 body = await verifyDeviceManifest(314317 manifest,@@ -319,6 +322,11 @@319322 } catch (storedError) {320323 // ponytail: temporary mesh-propagation diagnostic, strip before save321324 console.info("[Peach diag] verifyDeviceManifest with stored key threw:", String(storedError));325+ // ponytail: temporary mesh-propagation diagnostic, strip before save326+ {327+ const canonicalStr = canonicalise(manifest.body);328+ console.info("[Peach diag] canonical len=" + canonicalStr.length + " head=" + canonicalStr.slice(0, 240));329+ }322330 // Stored key may be stale (older builds persisted the key derived at323331 // first-pair and never refreshed it). The signing keypair is deterministic324332 // from (masterKey, deviceId) on both sides, so retry once with the locally