trails/apps/journal/app
Ullrich Schäfer 067e2ebd0b
fix: enforce Terms gate on bearer-token API requests
Mobile API requests authenticated via OAuth2 bearer tokens bypassed the
Terms gate that the root loader applies to web cookie sessions. Extend
requireApiUser to compare the user's termsVersion with TERMS_VERSION
and return a structured 403 { code: "TERMS_OUTDATED", currentTermsVersion }
on mismatch so mobile clients can surface their own re-acceptance UI.

Spec delta on journal-auth captures the new requirement.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 01:59:28 +02:00
..
components Redesign navbar with avatar dropdown and mobile drawer 2026-04-26 09:56:20 +02:00
hooks Implement notifications + supporting fixes 2026-04-26 01:28:55 +02:00
jobs Cursor-based pagination for /notifications 2026-04-26 01:42:32 +02:00
lib fix: enforce Terms gate on bearer-token API requests 2026-05-08 01:59:28 +02:00
routes fix: enforce Terms gate on bearer-token API requests 2026-05-08 01:59:28 +02:00
entry.client.tsx Add legal pages, ToS acceptance, and alpha banner 2026-04-18 00:08:48 +02:00
entry.server.tsx Consolidate Sentry config into shared package; fix inconsistencies 2026-04-18 00:30:09 +02:00
root.tsx Test PR for staging preview lifecycle 2026-05-03 22:18:06 +02:00
routes.ts Add Wahoo push action route + OAuth callback resume 2026-04-30 22:41:24 +02:00