You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Playwright iso harness (`cargo make test-e2e-real-node` with `FREENET_LIVE_E2E_SEND=1`): bob's UI never surfaces alice's message subject within the 60s timeout. Both `alice → bob across nodes (E2E test gaps that allowed cross-node delivery bugs to ship #81)` and `multi-round + read + archive across nodes` fail at the first `expect(bobApp.getByText(/...)).toBeVisible()`.
Both tests gated on `FREENET_LIVE_E2E_SEND=1` for now (see #104).
Repro
```bash
FREENET_LIVE_E2E_SEND=1 cargo make test-e2e-real-node
```
Suspected divergences (manual vs harness)
Identity-management state cross-talk. Gw log shows `create alias new alice` AND `create alias new bob` on both nodes during a single test run — the delegate state is bleeding between contexts. Real users have one identity per delegate; here both browser contexts hit the iso 2-node net and both aliases land in both delegates.
Permission pump timing. `startPermissionPump(ISO_GW_ORIGIN)` and `startPermissionPump(ISO_PEER_ORIGIN)` poll `/permission/pending` and POST `{"index":0}` to respond. AFT permission overlay timing on contact-import → send round-trip is the historical flake from E2E test gaps that allowed cross-node delivery bugs to ship #81.
AFT slot. Day1 cap (AFT: make tier + max_age recipient-configurable via InboxParams #85). Multiple test retries on the same node may exhaust slot before the harness wipes state. `cargo make test-e2e-real-node` does wipe per run, but Playwright internal retries (configured `retries: 2`) reuse the same iso state.
Diagnostics needed
Capture browser console for both alice and bob during the harness run (currently silent — `page.on('console')` not wired in test 1; new test has it but only catches WASM panics).
Tee gw + peer logs into the test report so the per-test artifact bundle includes them.
Compare `UPDATE_PROPAGATION` events for the inbox contract (peer side) against UI state at the moment of timeout.
Out of scope
Manual cross-node verification (works, doesn't need a fix).
Symptom
Cross-node `alice → bob` send (gw 7510 → peer 7511):
Both tests gated on `FREENET_LIVE_E2E_SEND=1` for now (see #104).
Repro
```bash
FREENET_LIVE_E2E_SEND=1 cargo make test-e2e-real-node
```
Suspected divergences (manual vs harness)
Identity-management state cross-talk. Gw log shows `create alias new alice` AND `create alias new bob` on both nodes during a single test run — the delegate state is bleeding between contexts. Real users have one identity per delegate; here both browser contexts hit the iso 2-node net and both aliases land in both delegates.
Permission pump timing. `startPermissionPump(ISO_GW_ORIGIN)` and `startPermissionPump(ISO_PEER_ORIGIN)` poll `/permission/pending` and POST `{"index":0}` to respond. AFT permission overlay timing on contact-import → send round-trip is the historical flake from E2E test gaps that allowed cross-node delivery bugs to ship #81.
AFT slot. Day1 cap (AFT: make tier + max_age recipient-configurable via InboxParams #85). Multiple test retries on the same node may exhaust slot before the harness wipes state. `cargo make test-e2e-real-node` does wipe per run, but Playwright internal retries (configured `retries: 2`) reuse the same iso state.
Diagnostics needed
Out of scope