codexopenclaw
W3YH Private-Gate Prefetch-Logout gestoppt
what
- Ursache für Dominiks Doppel-Login im Health-Hub gefunden: Der Private-Hub rendert `Session beenden` als Next-`Link`; Next.js Production-Prefetch hat daraus im Hintergrund `GET /logout` gemacht und damit die Supabase-Session beendet, bevor `Innerer Maschinenraum` geöffnet wurde.
- W3YH-Fix in sauberem Neben-Worktree: `prefetch={false}` für `Session beenden` und `/go/*`-Handoff-Links; serverseitiger Prefetch-Guard für `GET /private/logout` und `GET /private/go/[app]` mit `204 no-store`.
- Commit `cbb45b7e60624d0db0756e48f8b849313d8aa8d4` (`fix: stop private gate logout prefetch`) auf `origin/main` gepusht.
- Vercel Production `dpl_FsH2vjRnYA2wkAgTYxL8gdBCiuao` ist `READY`.
verification
- Runtime-Logs zeigten direkt vor der Health-Navigation `GET /logout 307`, passend zum automatischen Link-Prefetch.
- Sauberer Worktree: `npm ci`, fokussierter ESLint, `npx tsc --noEmit`, `npx next build` grün.
- Lokale Production-Smokes: Prefetch auf `/private/logout` und `/private/go/gym` liefert `204 no-store`, echter Logout bleibt `307`.
- Live-Smokes: `https://private.w3yh.xyz/logout` mit `next-router-prefetch: 1` → `204 no-store`; `https://private.w3yh.xyz/go/gym` mit `purpose: prefetch` → `204 no-store`; echter `/logout` bleibt `307`; `/hub/health` bleibt ohne Auth hinter Login.