hoangsonww / hoangsonww/Threadline-RealTime-Collab
Wire the two-independent-browser-context collaboration test into CI
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 1
- Avg merge
- 6h 39m
- Merged PRs (30d)
- 4
Description
## Problem
Two genuinely independent browser contexts — separate cookie jars, two separately registered real users — has been used by hand throughout this project's development and *did* catch real bugs (the mesh-initiator issue, the stale-presence-after-disconnect race). The Durable Object's local test runtime doesn't reproduce the timing quirk behind the presence race, so only two real concurrent sessions against a deployed Worker actually exposes it. This technique has never been wired into CI as an automated Playwright suite — it's only ever been run manually.
## Proposed solution
- Build on the `apps/web` Playwright suite proposed in #7: add a scenario that opens two separate `BrowserContext`s, registers two real users, joins the same room from both, and asserts on live chat/presence/whiteboard sync between them.
- Run it against a deployed preview (Vercel preview + a preview Durable Object) rather than local dev, since the presence-race bug specifically didn't reproduce against the local Miniflare runtime.
- Add it as a new job in `.github/workflows/quality.yml`, likely gated to run only when relevant files change or on a schedule, given the extra infrastructure it needs to stand up.
## References
- [`docs/roadmap.md`](https://github.com/hoangsonww/Threadline-RealTime-Collab/blob/main/docs/roadmap.md) — "No multi-browser-context E2E wired into CI"
- [`docs/testing.md#everything-the-automated-suites-dont-cover`](https://github.com/hoangsonww/Threadline-RealTime-Collab/blob/main/docs/testing.md)
- [`docs/troubleshooting.md`](https://github.com/hoangsonww/Threadline-RealTime-Collab/blob/main/docs/troubleshooting.md) — "Testing with two different logged-in accounts in one browser breaks the wrong tab"
Contributor guide
Assessment
This issue has not been assessed yet.