9cab7d6bd740

diag: log canonical string length + head (v4.7.1)

time
2026-08-01 14:44 UTC · 2 months ago
machine
koh2
parent
8a84c926b1bf
4 files manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/background/sync-vault-adapter.ts+8 −0
manifest.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": {

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.0",5+  "version": "4.7.1",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.0",3+  "version": "4.7.1",44   "description": "Zero-knowledge password manager",55   "license": "GPL-3.0-only",66   "type": "module",

view file

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

view file