trails/apps/planner/app
Ullrich Schäfer 6f18ce8099
fix(planner): bound /api/sessions listing (default 50, max 200)
Addresses planner-audit #8. `listSessions()` had no LIMIT — every call
to `GET /api/sessions` returned every non-closed session and did a
full table scan ordered by last_activity. On a long-running planner
host that's both a memory cliff and a query-plan footgun.

Now: defaults to 50 rows, clamps to [1, 200], accepts `?limit=` for
pagination-light scenarios. `sessions_last_activity_idx` (added in
#438) backs the ORDER BY + LIMIT efficiently.
2026-05-26 00:46:38 +02:00
..
components fix(planner): keep journal callback token off the client (#2 Phase A) 2026-05-26 00:29:24 +02:00
jobs Add pg-boss background job queue with session expiry 2026-04-13 21:17:24 +02:00
lib fix(planner): bound /api/sessions listing (default 50, max 200) 2026-05-26 00:46:38 +02:00
routes fix(planner): bound /api/sessions listing (default 50, max 200) 2026-05-26 00:46:38 +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 Disable page zoom on iOS to prevent accidental pinch-to-zoom 2026-04-12 19:35:56 +02:00
routes.ts fix(planner): keep journal callback token off the client (#2 Phase A) 2026-05-26 00:29:24 +02:00