fix: accept wsPort:0 as valid no-port sentinel in manifest validation (v4.7.8) Root cause from live diag (v4.7.7): Android sends wsPort:0 (Kotlin Int default for no-port) in the manifest body. The browser's body validation rejected anything below 1, throwing 'device.wsPort invalid' BEFORE the Ed25519 signature was even checked. The v4.7.4 canonical fix was necessary but not sufficient — this validation gate was the second blocker. Fix: d.wsPort < 1 → d.wsPort < 0. Port 0 is a valid sentinel meaning 'no LAN port'. Both canonicalisers (browser + Android) include wsPort:0 in their bytes (neither filters 0, only null), so signatures match. Two regression tests: canonicalise preserves wsPort:0; verifyDeviceManifest accepts a signed manifest carrying wsPort:0. Diag lines from v4.7.7 kept for one more live round. Gates: tsc RC=0, device-manifest 14/14, build clean.

dev · 3 weeks ago · 2026-08-01 · 5.7 MB

$ koh steal kepr.uk/peach-browser@ceeb0d1edf66
·
← f17d073716b4 de56d93b26ce →
⇓ download .face