Skip to content

fix(performance): fetch GitHub commits concurrently to prevent serverless timeouts#3174

Open
nyxsky404 wants to merge 2 commits into
Priyanshu-byte-coder:mainfrom
nyxsky404:fix/github-fetch-timeout
Open

fix(performance): fetch GitHub commits concurrently to prevent serverless timeouts#3174
nyxsky404 wants to merge 2 commits into
Priyanshu-byte-coder:mainfrom
nyxsky404:fix/github-fetch-timeout

Conversation

@nyxsky404

Copy link
Copy Markdown
Contributor

This PR refactors the GitHub Search API pagination in fetchContributionsForAccount. Previously, the route fetched up to 10 pages sequentially in a while loop, which could take up to 20 seconds for highly active users and frequently caused 504 Gateway Timeouts on Vercel's edge/serverless architecture. The new implementation fetches the first page to determine the total_count, and then fetches the remaining required pages (up to 10 max) concurrently using Promise.all(). This drastically reduces the total execution time while correctly handling secondary rate limit (HTTP 429/403) fallbacks. Fixes #3170.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix type:performance GSSoC type bonus: performance (+15 pts) labels Jul 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@github-actions github-actions Bot added the type:feature GSSoC type bonus: new feature label Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix type:feature GSSoC type bonus: new feature type:performance GSSoC type bonus: performance (+15 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Severe API Timeout via Sequential O(N) GitHub Commits Fetching

1 participant