Summary
The offset branch also returns a next_cursor derived from the last row, mixing two pagination models in one response.
Location
src/api/payments.rs:276-284
Details & impact
Clients may interleave offset and cursor, producing inconsistent/duplicated pages since the two orderings differ (created_at DESC vs created_at DESC, id DESC).
Suggested fix
Pick one model per request and document that mixing is unsupported; ideally deprecate offset.
Acceptance criteria
- Pagination semantics are unambiguous and documented.
Summary
The offset branch also returns a
next_cursorderived from the last row, mixing two pagination models in one response.Location
src/api/payments.rs:276-284Details & impact
Clients may interleave
offsetandcursor, producing inconsistent/duplicated pages since the two orderings differ (created_at DESCvscreated_at DESC, id DESC).Suggested fix
Pick one model per request and document that mixing is unsupported; ideally deprecate offset.
Acceptance criteria