Skip to content

[FEATURE] on-call pages list still can't reach current pages once a team's history exceeds 1000 (follow-up to #642 / #670) #709

Description

@nadimchakra

Is your feature request related to a problem?

#642 asked for a stable, time-filterable, paginated way to list on-call pages. #670 added on-call pages list, but only as a wrapper around the same unstable endpoint #642 already documented the limitations of — no time filter, no working pagination, oldest-first ordering, and a 1000-record cap.

Once a team's total page count exceeds 1000, its current pages become permanently unreachable through this command. Not delayed — unreachable, since there's no way to skip past the first 1000 results.

Describe the solution you'd like

The original ask from #642: a stable GET /api/v2/on-call/pages list endpoint with real time-window filtering and pagination, exposed as pup on-call pages list --from/--to. The wrapper in #670 was always scoped as a stopgap, not this fix.

Describe alternatives you've considered

If the stable endpoint isn't close, sort the existing unstable-endpoint wrapper newest-first instead of oldest-first. That alone would make --page-size bound "how far back you can see" instead of "how far behind the start of a team's history you are," which is usable for ongoing monitoring even without full pagination.

Additional context

Verified live against pup 1.10.2:

  • --page-size returns the oldest N pages, not the most recent N.
  • --from, --to, --cursor, --after are all rejected: error: unexpected argument '...' found.
  • --page-size is capped at 1000: error: invalid value '5000' ... 5000 is not in 1..=1000.
  • Confirmed in src/commands/on_call.rs (Add on-call pages list #670): the query sent is always just page[size] and an optional filter=team:<handle>. No sort, cursor, or time parameter is ever sent.

These match the limitations #642 and #641 already documented before #670 merged — they weren't resolved, just carried forward into the shipped command. At current volume, one team crosses the 1000-record threshold in about a month, at which point this command returns zero current pages for that team with no workaround.

Proposed command syntax (if applicable)

pup on-call pages list --team=<team> --from=2026-08-01 --to=2026-08-07
# or, as a no-backend-work interim fix:
pup on-call pages list --team=<team> --page-size=100 --sort=-created_at

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions