No account?
/api/auth/* proxy keeps cookies on the SvelteKit domainhandleAuth reads the JWT cookie into locals.convexToken + locals.usersetupConvexAuth(initialToken) pre-authenticates the WebSocket — no flashconvexUser(locals.user) seeds from JWT, auto-upgrades to live Convex subscription