hoangsonww / hoangsonww/Threadline-RealTime-Collab

Stand up an automated test suite for apps/web

Open
#7 0 comments 0 reactions 1 assignee Claimed by @hoangsonww View on GitHub
bug documentation enhancement help wanted
Dominant language
TypeScript
Stars
3
Forks
1
Avg merge
6h 39m
Merged PRs (30d)
4

Description

## Problem

`apps/web` has no automated test suite at all today. Every UI fix and feature — the WebRTC mesh initiator bug, the room-membership UI, the screen-share state machine, the whiteboard off-tab-loss fix — was verified through live manual testing against the running app rather than a regression suite. This is the single largest testing gap in the repo, and it's the reason real bugs (mesh initiator, stale-presence-after-disconnect, off-tab whiteboard loss) shipped before being caught by hand.

## Proposed solution

- Introduce a Playwright-based suite (the same tool already used for manual verification during development, per `docs/testing.md`) rather than a component-only unit-test framework, since most of the value here is in genuinely exercising `WorkspaceGate`, routing, and real WebSocket/WebRTC behavior.
- Start with the two-independent-browser-context pattern already proven by hand (see `docs/troubleshooting.md`'s note on why two tabs sharing one context's cookies doesn't work) and wire it into CI as a new job in `.github/workflows/quality.yml`.
- Prioritize coverage for the bugs that have actually shipped before: mesh initiator negotiation, presence-after-disconnect, and the whiteboard off-tab mount behavior.

## References

- [`docs/roadmap.md`](https://github.com/hoangsonww/Threadline-RealTime-Collab/blob/main/docs/roadmap.md) — "No automated suite for apps/web"
- [`docs/testing.md#everything-the-automated-suites-dont-cover`](https://github.com/hoangsonww/Threadline-RealTime-Collab/blob/main/docs/testing.md)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.