CC Worker 5b6e461706
Some checks failed
app-ci-deploy / test-build-deploy (push) Has been cancelled
fix(canvas): separate store lifecycle from snapshot lifecycle — one store per user session prevents disposed-store crash
Root cause: disposing store while React's async state update (storeReady=false) hadn't
unmounted Tldraw yet caused tldraw's reactive signals to read currentPageId on a disposed store.

Fix: Effect 1 creates store once per user.id (never recreated on node navigation).
     Effect 2 loads/reloads snapshots when context.node changes, store stays alive.
     Store is only disposed when user changes or component unmounts — after setStoreReady(false)
     has had time to unmount Tldraw cleanly via React's synchronous cleanup.
2026-06-01 06:25:15 +00:00
2025-07-11 13:21:49 +00:00
2025-07-11 13:21:49 +00:00
2025-07-11 13:21:49 +00:00
2025-07-11 13:21:49 +00:00
2025-07-11 13:21:49 +00:00
Description
React 18 + TypeScript + TLDraw 3.6 frontend for Classroom Copilot — whiteboard, transcription panel, timetable, and graph views
8.2 MiB
Languages
TypeScript 96%
CSS 3.2%
JavaScript 0.5%
Dockerfile 0.2%
HTML 0.1%