- Add UnauthorizedError class exported from services.ts
- loggedApiCall now detects Unauthorized GraphQL errors, logs at DEBUG
instead of ERROR, and throws UnauthorizedError (no more stack dumps)
- hooks.server.ts catches UnauthorizedError from any load function and
redirects to /login?redirect=<original-path>
- getRecordings, getRecording, getAnalytics now accept an optional token
and use getAuthClient server-side so cross-origin cookie forwarding works
- Update play/recordings, play/buttplug, me/analytics page.server.ts to
pass the session token — prevents Unauthorized on auth-protected pages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>