lila/apps/api/src
lila 0118798e36 feat: guest play — allow singleplayer quiz without auth
- Add optionalAuth middleware: attaches session when present,
  never blocks (guests pass through)
- Make game endpoints (start/answer) accept optional auth
- GameSessionStore.userId: string → string | null
- Rate limiter falls back to IP for unauthenticated users
- Frontend: remove /play route guard, show 'Create account' CTA
  on score screen for guests
- Add tests for guest session creation, answer submission,
  and cross-user session isolation
2026-05-31 21:28:08 +02:00
..
controllers feat: guest play — allow singleplayer quiz without auth 2026-05-31 21:28:08 +02:00
errors fix: improve error semantics, clarify answer key type 2026-04-28 16:07:19 +02:00
gameSessionStore wip 2026-05-30 03:47:59 +02:00
lib feat: email/password auth + email verification + password reset via Resend 2026-05-02 13:05:43 +02:00
lobbyGameStore fix(lint): resolve all eslint errors across monorepo 2026-04-17 16:46:33 +02:00
middleware feat: guest play — allow singleplayer quiz without auth 2026-05-31 21:28:08 +02:00
routes feat: guest play — allow singleplayer quiz without auth 2026-05-31 21:28:08 +02:00
services feat: guest play — allow singleplayer quiz without auth 2026-05-31 21:28:08 +02:00
types feat: guest play — allow singleplayer quiz without auth 2026-05-31 21:28:08 +02:00
ws feat: multiplayer slice — end to end working 2026-04-18 23:32:21 +02:00
app.test.ts feat(api): add helmet security headers and rate limiting 2026-04-23 11:13:11 +02:00
app.ts refactor: dependency injection for GameSessionStore via composition root 2026-04-28 13:48:50 +02:00
server.ts fix(api): use server.listen instead of app.listen for WebSocket support 2026-04-18 21:57:58 +02:00