File: e2e/multi-peer-sync.spec.ts:58
Severity: tech-debt
Obvious? yes
Four e2e tests assert channel-creation DAG-sync semantics: pre-existing channels visible after join (line 58), new channel created mid-session syncs to peer (line 99), messages in non-general channel sync (line 119), and rapid channel creation by owner — both channels propagate to peer (line 188). The DOM-render piece is one expect(...).toBeVisible() per test; the load-bearing assertion is bob.waitUntilHeadsEqual(alice) after a CreateChannel event — pure state-machine convergence. crates/client/src/tests/multi_peer_sync.rs already has the harness (connected_pair, replay_dag_into) and 11 sync tests covering messages/edits/deletes/reactions/typing/display-names/replay/reconnect — but zero CreateChannel sync tests. Per CLAUDE.md decision tree §3 ("Multi-peer sync semantics? → Rust client crate test with MemNetwork").
Fix: add channels_sync_both_directions, pre_existing_channels_visible_to_joiner, and rapid_channel_creates_converge at the client tier — runs in <200 ms vs. ~30 s per Playwright test. Keep one minimal Playwright test for the channel-list DOM rendering only.
Filed by /general-audit @ 88498a5 (2026-05-04). master: #600.
File:
e2e/multi-peer-sync.spec.ts:58Severity: tech-debt
Obvious? yes
Four e2e tests assert channel-creation DAG-sync semantics:
pre-existing channels visible after join(line 58),new channel created mid-session syncs to peer(line 99),messages in non-general channel sync(line 119), andrapid channel creation by owner — both channels propagate to peer(line 188). The DOM-render piece is oneexpect(...).toBeVisible()per test; the load-bearing assertion isbob.waitUntilHeadsEqual(alice)after aCreateChannelevent — pure state-machine convergence.crates/client/src/tests/multi_peer_sync.rsalready has the harness (connected_pair,replay_dag_into) and 11 sync tests covering messages/edits/deletes/reactions/typing/display-names/replay/reconnect — but zeroCreateChannelsync tests. Per CLAUDE.md decision tree §3 ("Multi-peer sync semantics? → Rust client crate test withMemNetwork").Fix: add
channels_sync_both_directions,pre_existing_channels_visible_to_joiner, andrapid_channel_creates_convergeat the client tier — runs in <200 ms vs. ~30 s per Playwright test. Keep one minimal Playwright test for the channel-list DOM rendering only.Filed by
/general-audit@88498a5(2026-05-04). master: #600.