Next cursor was always the last scanned row of a 200-row window while only 50 were returned. Now resumes after the last returned row when matches overflow the page. Same for eval-queue.
Next cursor was always the last *scanned* row of a 200-row window while only 50 were returned. Now resumes after the last *returned* row when matches overflow the page. Same for eval-queue.
c2-core pytest: 446 pass (3 new).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
/calls/search scans a 200-row window and returns 50, but the next cursor
was always the last SCANNED row — so with an unfiltered list each page
jumped past the 150 matches it had already read and not shown. Resume
after the last RETURNED row when matches overflow the page; keep the
last-scanned cursor only when the page holds every match (the sparse-
filter case that cursor exists for). Same fix for /calls/eval-queue.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
logan
merged commit 02b5b7b5a5 into main2026-09-24 01:05:37 -04:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Next cursor was always the last scanned row of a 200-row window while only 50 were returned. Now resumes after the last returned row when matches overflow the page. Same for eval-queue.
c2-core pytest: 446 pass (3 new).
🤖 Generated with Claude Code