Skip to content

perf(api): combines aliased GraphQL queries, parallelizes fetches#28

Merged
wgordon17 merged 4 commits intogordon-code:mainfrom
wgordon17:perf/api-optimization
Mar 29, 2026
Merged

perf(api): combines aliased GraphQL queries, parallelizes fetches#28
wgordon17 merged 4 commits intogordon-code:mainfrom
wgordon17:perf/api-optimization

Conversation

@wgordon17
Copy link
Copy Markdown
Member

Summary

  • Merges issue, PR-involves, and PR-review-requested GraphQL searches into a single aliased query per repo chunk, reducing HTTP round-trips by ~66%
  • Replaces sequential 10-repo workflow run chunks with a pooled concurrency pattern (20 workers) for faster workflow data loading
  • Bumps SEARCH_REPO_BATCH_SIZE from 30 to 50 to eliminate extra chunks for users tracking 31-50 repos

Splits fetchIssuesAndPullRequests into two phases for progressive rendering:
- Phase 1 (light): minimal PR fields for immediate dashboard render
- Phase 2 (heavy): nodes(ids:[]) backfill for check status, size, reviewers

Reduces nested connection sizes (labels/assignees 20→10, latestReviews
15→5) and search page size (first: 100→50) across all GraphQL queries.

UI renders after phase 1 (~1.9s) instead of waiting for full data (~3.3s).
Filters on heavy fields skip unenriched PRs to prevent incorrect empty
states. Fine-grained SolidJS store merge via produce on initial load;
full atomic replacement on subsequent polls.
@wgordon17 wgordon17 merged commit 73e401f into gordon-code:main Mar 29, 2026
1 check passed
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.

1 participant