Skip to content

Cursor pagination has no unique tie-breaker #280

Closed

Description

@Ashborne267

Summary

/streams orders by createdAt only and /ngos orders by name or
createdAt only, while both paginate with an id cursor. Streams created in
the same ledger share a createdAt (it is set from ledgerClosedAt), so
page boundaries can skip or repeat rows. Only the activity and
recent-streams queries add id.

Acceptance criteria

  • Add id as a secondary sort key to every cursor-paginated query.
  • Add a test with rows that share a timestamp spanning a page boundary.

Getting started

Fork this repository, clone your fork, and add this repo as upstream:

git clone https://github.com/<your-username>/streamgive-backend.git
cd streamgive-backend
git remote add upstream https://github.com/StreamGive/streamgive-backend.git

Create a branch for this issue:

git checkout -b fix/pagination-tiebreaker

Suggested commit message:

fix: add a unique tie-breaker to cursor pagination

Run npm run lint, npm run typecheck, and npm test before pushing, then
open a pull request from your fork against main and link this issue. See
the contributing guide for the full contribution guide.

Activity

  1. Michvista commented on Oct 18, 2026

    @Michvista

    @Michvista has applied to work on this issue as part of the Stellar Wave Program's 10th wave.

    Please aissgn this issue to me

    ℹ️ Repo Maintainers: To accept this application, review their application or assign @Michvista to this issue.

  2. charliechinedu19-netizen commented on Oct 18, 2026

    @charliechinedu19-netizen

    @charliechinedu19-netizen has applied to work on this issue as part of the Stellar Wave Program's 10th wave.

    hey gm, please give me this task

    ℹ️ Repo Maintainers: To accept this application, review their application or assign @charliechinedu19-netizen to this issue.

  3. AMDYFX commented on Oct 18, 2026

    @AMDYFX
    Contributor

    @AMDYFX has applied to work on this issue as part of the Stellar Wave Program's 10th wave.

    Hi, can I work on this task?

    ℹ️ Repo Maintainers: To accept this application, review their application or assign @AMDYFX to this issue.

  4. drips-wave commented on Oct 18, 2026

    @drips-wave

    Congratulations, @AMDYFX! 🎉 Your application was accepted by the repo's maintainers, and the issue is due on October 22, 2026.

    🧑‍💻 @AMDYFX: Please resolve the issue such that the repo's maintainers have enough time to review your contribution before the due date. You'll earn Points for completing the issue on-time, which will make you eligible for a share of the Stellar Wave Program's reward pool.

    Warning

    When opening a PR, please link it to this issue to ensure it gets tracked accurately. Points are awarded when this issue is marked as completed by the maintainer.

    🤠 Repo maintainers: Please keep an eye on the contributor's progress and review their work before the due date. You can manage this issue, including adjusting its complexity and points, here.

    🌊 Happy Wave 🌊

  5. github-actions commented on Oct 18, 2026

    @github-actions
    Contributor

    Closed by #340, which was merged automatically.

  6. drips-wave commented on Oct 18, 2026

    @drips-wave

    This issue has been completed by @AMDYFX as part of the Stellar Wave Program's 10th Wave 🥳

    😎 @AMDYFX: You earned 200 Points for completing this issue! Once the Wave's rewards are finalized, you'll be eligible for a percentage of the Wave's reward pool based on the percentage of total points you've earned. Learn more here. You can also Leave a review to share your experience working on this issue.

    🧑‍💻 Repo maintainers: How'd the contributor do? Leave a review to share your experience working with them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programbugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions