Skip to content

fix: resolve PR loading hang with pagination and concurrency control#62

Open
watany-dev wants to merge 2 commits intomainfrom
claude/fix-pr-loading-hang-BYPsj
Open

fix: resolve PR loading hang with pagination and concurrency control#62
watany-dev wants to merge 2 commits intomainfrom
claude/fix-pr-loading-hang-BYPsj

Conversation

@watany-dev
Copy link
Copy Markdown
Owner

GetDifferences and GetCommentsForPullRequest APIs were not handling
pagination (NextToken), silently truncating results for large PRs.
Blob fetches fired all at once (N files × 2) causing API throttling.

  • Add pagination loop for GetDifferences in both PR detail and commit diff
  • Add pagination loop for GetCommentsForPullRequest
  • Limit concurrent blob fetches to 5 via worker pool pattern
  • Extract shared fetchBlobTexts helper used by both PR and commit views

https://claude.ai/code/session_01MyhBKncxxkLaLfCRxge4yC

GetDifferences and GetCommentsForPullRequest APIs were not handling
pagination (NextToken), silently truncating results for large PRs.
Blob fetches fired all at once (N files × 2) causing API throttling.

- Add pagination loop for GetDifferences in both PR detail and commit diff
- Add pagination loop for GetCommentsForPullRequest
- Limit concurrent blob fetches to 5 via worker pool pattern
- Extract shared fetchBlobTexts helper used by both PR and commit views

https://claude.ai/code/session_01MyhBKncxxkLaLfCRxge4yC
getCommitsForPR previously walked only parentIds[0] sequentially.
For PRs with merge commits, this followed the wrong branch and made
up to 100 sequential API calls before hitting MAX_COMMITS.

Rewrite to BFS: each level fetches commits in parallel, all parents
are visited, and mergeBase is pre-marked as visited to stop correctly.

Also add concurrency control (5 workers) to getReactionsForComments,
which was firing all reaction fetches in parallel with no limit.

https://claude.ai/code/session_01MyhBKncxxkLaLfCRxge4yC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants