The vitest suite (#165) covers the high-risk pure logic — store reconcile invariants, Graph-id decoding, reactions signatures, thread-panel selectors — but nothing exercises components or full flows. UI regressions (hover toolbars, modals, scroll behavior, optimistic-render paths) still rely on manual QA.
Proposed, post-launch:
- Component tests (@testing-library/react on the existing jsdom setup) for the highest-churn components: MessageFeed scroll/stick-to-bottom, MessageItem optimistic states, ThreadPanel.
- A small Playwright smoke pass against the demo mode (no sign-in needed): open demo, send message, react, open thread, switch channels. Demo mode makes this feasible in CI without Graph credentials.
Not a launch blocker; filing so the gap is tracked rather than remembered.
The vitest suite (#165) covers the high-risk pure logic — store reconcile invariants, Graph-id decoding, reactions signatures, thread-panel selectors — but nothing exercises components or full flows. UI regressions (hover toolbars, modals, scroll behavior, optimistic-render paths) still rely on manual QA.
Proposed, post-launch:
Not a launch blocker; filing so the gap is tracked rather than remembered.