perf: bound listReconciliations — server-side status filter + pagination #52

Closed
opened 2026-07-04 12:11:47 +00:00 by momsse · 0 comments
Owner

Migré depuis viziertronic/octant#116 — ouvert le 2026-06-27 par @momsse.

reconciliations.query.adapter.ts runs findAllReconciliations with only WHERE status <> 'archived' — no LIMIT, no pagination, no per-status filter. As reconciliations accumulate across statuses (pending, established, dismissed, skipped, undone), the response payload, decode time and JS heap grow unboundedly. The backoffice list atom is keepAlive, so a stale full snapshot stays resident for the runtime's lifetime.

Follow-up to the #41 review queue (PR #114). Proposed:

  • a status filter on the listReconciliations RPC (the queue only needs pending by default);
  • server-side pagination (cursor or offset) on the query adapter;
  • the backoffice page passes the active status filter + page through.

Surfaced in the #41 review (PR #114).

> _Migré depuis [viziertronic/octant#116](https://github.com/viziertronic/octant/issues/116) — ouvert le 2026-06-27 par @momsse._ `reconciliations.query.adapter.ts` runs `findAllReconciliations` with only `WHERE status <> 'archived'` — no `LIMIT`, no pagination, no per-status filter. As reconciliations accumulate across statuses (pending, established, dismissed, skipped, undone), the response payload, decode time and JS heap grow unboundedly. The backoffice list atom is `keepAlive`, so a stale full snapshot stays resident for the runtime's lifetime. Follow-up to the #41 review queue (PR #114). Proposed: - a status filter on the `listReconciliations` RPC (the queue only needs `pending` by default); - server-side pagination (cursor or offset) on the query adapter; - the backoffice page passes the active status filter + page through. Surfaced in the #41 review (PR #114).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
momsse/octant#52
No description provided.