--- kind: task slug: smoke-test-collab-editor title: Smoke-test TipTap + Yjs + Hocuspocus across two browsers on deployed stack plan_slug: daily-driver-finish epic_slug: shipping-the-shell status: ready priority: P1 tenant_id: global owner: unassigned cursor_todo_id: null updated_at: "2026-06-03" --- # Task summary The TipTap + Yjs + Hocuspocus stack works in dev. Before declaring Echodo daily-usable, verify two browsers on the deployed collab service can edit the same document without drift, disconnect, or auth issues. ## Description This is a verification task, not a feature task. It has two parts: build a checklist, run the checklist, document the result. ### Pre-flight - Deploy must be up. CT 102 (Postgres/Redis), CT 107 (Coolify web), collab service running and reachable. - A test workspace must exist with at least one document object. - Two browsers with different sign-ins (use credentials provider for both — fastest path). ### Checklist 1. Browser A opens the document. Verify cursor appears and TipTap loads. 2. Browser B opens the same document. Verify B sees A's content. 3. A types a paragraph. B should see it within ~200ms. 4. B types in a different paragraph simultaneously. Both should converge without lost characters. 5. A goes offline (devtools network → offline), types, comes back online. Yjs should reconcile A's offline edits. 6. Kill the Hocuspocus process; clients should reconnect when it comes back (verify in `apps/collab-server/src/index.ts` logs). 7. Close both browsers. Reopen. Verify content persisted in Postgres (Hocuspocus database extension). ### Output Write the result up as a comment block in `apps/collab-server/README.md` (create if missing) — a one-screen "verified on $DATE against $COMMIT_SHA, here's what works" note. Future operators need to know whether this stack is trusted or risky. ### If you find a regression Don't fix it in this task. File a follow-up task in the same epic and flag the issue clearly. This task is verification; fixes are scoped separately so the verification has a clean before/after. ## Subtasks - [ ] Verify deploy is live on CT 107 with collab server reachable. - [ ] Run the 7-step checklist above. - [ ] Write the result block in `apps/collab-server/README.md`. - [ ] File any regression follow-ups as new tasks under this epic. ### Agent-side prep (already done) The pieces an agent can verify without a live deploy + two browsers were checked as Path A landed: - `pnpm lint && pnpm type-check` is green across all 6 packages, including `@tasks/collab-server`. `apps/collab-server/tsconfig.json` was cleaned up in commit `1c9deea` (removed vestigial `rootDir`/`declaration`/`outDir`/etc.). - The auth changes that landed in commit `875b1cf` (Authentik SSO, case-insensitive emails, first-signin workspace provisioning) and subsequent Path-A commits do **not** touch the Hocuspocus auth path in `apps/collab-server/src/index.ts`. The session model the collab server reads from is unchanged. - Workspace home, AI chat, and landing-route changes are all confined to `apps/web` and don't import or affect anything under `apps/collab-server`. So the static health is fine. What's left is the live multi-browser test against the deployed stack, which has to be driven by an operator with the homelab credentials and two browser sessions in hand. ## Owner or assignee Unassigned ## Status ready ## Estimation S ## Acceptance criteria - [ ] All 7 checklist items pass, or any failures are filed as separate tasks. - [ ] Result block exists in `apps/collab-server/README.md` with date and commit SHA. ## Links to related Epic / Plan - Epic: `./Epic-shipping-the-shell.md` - Plan: `../Plan-daily-driver-finish.md`