clone

a self-hosted sync node for lofi apps: jazz sync over iroh, ticket-gated, with no static ip or cloud needed

docs: browser convergence is validated against lofi-node

Dami committed fa050a6
The validation-status section reported lofi's browser convergence gate
failing with CatalogueWriteDenied and attributed it upstream. The
diagnosis was wrong: the gate was not electing sync, so both clients
ran local-only by design and the boot-time warning (logged once per
client on every server) was misattributed. With the election performed
the gate passes fully against lofi-node and the first-party server
alike. Evidence: lofi docs/decisions/0002-convergence-verdict.md.

Part of FelineStateMachine/lofi#123 (B1 resolution).
commit
fa050a646dcf46ba0976edeb135bb62147e3d5c8
parent
d60d5ed17c1279395ca74910bb078c3d8b33d640
author
Dami <dami.etoile@gmail.com>
1 file changed, +9 -7
Mdocs/hosting-lofi-apps.md16+++++++++-------
M docs/hosting-lofi-apps.md +9 -7
@@ -95,13 +95,15 @@ build-time env becomes unnecessary — the app enrolls the ticket at runtime ins
9595 - Reference app **builds, boots, and serves** against a lofi-node backend; two real Chromium clients9696 (lofi's `createTwoClientFixture`) load the app, hydrate the store, go offline, and edit9797 independently.98-- lofi's opt-in browser convergence gate (`tests/convergence_e2e_test.ts`) currently fails at the99- convergence stage with `CatalogueWriteDenied` from the server when the second (cloned identity)100- client reconnects — **identically against lofi-node and against lofi's own managed dev server**101- (controlled experiment, same error, same catalogue object id). lofi-node has exact behavior parity102- with the first-party local server; the denial is a jazz-tools alpha.53 local-server behavior,103- upstream of this project. Headless two-client convergence (jazz-tools `createDb` clients, same104- account, concurrent offline edits) passes against lofi-node — see `tests/convergence_test.ts`.98+- lofi's opt-in browser convergence gate (`tests/convergence_e2e_test.ts`) **passes against99+ lofi-node**: two real Chromium clients with the backup-and-sync election performed, concurrent100+ offline edits, reconnection, full bidirectional convergence — identical results against lofi's own101+ managed dev server. (An earlier version of this section reported the gate failing with102+ `CatalogueWriteDenied`; that diagnosis was wrong. The gate was not electing sync, so both clients103+ ran local-only by design, and the warning — which every browser client logs once at boot on every104+ server, converging or not — was misattributed as the cause. lofi's decision record105+ `docs/decisions/0002-convergence-verdict.md` carries the evidence.) Headless two-client106+ convergence passes as before — see `tests/convergence_test.ts`.105107 106108 ## Pairing two homes107109