In api/src/db/remittanceStore.ts, the queryWithCursor method uses cursor-based pagination but does not account for new records being inserted between page requests. New remittances inserted between page 1 and page 2 fetches can cause records to appear on both pages or be skipped entirely.
File: api/src/db/remittanceStore.ts
Fix: Use a stable cursor based on a monotonically increasing ID or a snapshot timestamp to ensure consistent pagination across concurrent inserts.
In
api/src/db/remittanceStore.ts, thequeryWithCursormethod uses cursor-based pagination but does not account for new records being inserted between page requests. New remittances inserted between page 1 and page 2 fetches can cause records to appear on both pages or be skipped entirely.File:
api/src/db/remittanceStore.tsFix: Use a stable cursor based on a monotonically increasing ID or a snapshot timestamp to ensure consistent pagination across concurrent inserts.