kcar 6bd85671d2 fix(panels): bypass GoTrueClient lock — expose accessToken via AuthContext, gate panels on auth
Root cause: apiFetch called supabase.auth.getSession() on every API request, acquiring
the GoTrueClient internal lock. On refresh, concurrent mount of panels caused lock
contention — the loadCabinets/loadSessions fetch awaits hung, loading spinner never
cleared.

- AuthContext: add accessToken state, set/clear it alongside user on all auth events
- CCFilesPanel: apiFetch reads accessToken from AuthContext (no lock), loadCabinets
  effect gated on authUser.id (fires only after SIGNED_IN, session guaranteed valid)
- CCTranscriptionPanel: loadSessions effect gated on authUser.id for same reason

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 15:06:51 +01:00
2026-02-23 21:16:29 +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
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%