feat: Multi-view enhancements — Branches search+tags, Network date axis, PR CI+reviewers+filters#23
Merged
Merged
Conversation
Branches View: - Search bar to filter by branch/tag name - Tabs: Branches / Tags with lazy-loaded tag details - New server endpoint GET /api/repos/:owner/:repo/tags - Tags show name, commit message, author, date, SHA Network Graph View: - Date axis on x-axis (bottom), zooms/pans with graph - Adaptive tick format based on date span Pull Requests View: - CI/CD status icons (✅/❌/⏳/⚪) with hover tooltip showing all checks - Reviewer avatars with status rings (green/red/yellow/gray) - Author and Reviewer filter dropdowns - Sort moved to dropdown to save toolbar space - GraphQL query updated with statusCheckRollup, reviews, reviewRequests
The network graph uses evenly-spaced x-positions (not proportional to time), but the date axis was using d3.scaleTime which assumes linear time-to-position mapping. This caused: - Dates misaligned with commit nodes (e.g. Nov commit shown at Oct) - Labels overlapping when commits are clustered Fix: sample actual commit positions and label them with their dates. Ticks are placed at real commit x-coordinates, not interpolated time positions. Labels are spaced at least 60px apart to prevent overlap.
The tooltip was opening upward (bottom: calc(100% + 6px)) which caused it to get clipped by the scroll container on the first PR row. Changed to open downward (top: calc(100% + 6px)) so it stays within the scrollable content area.
- New 'All' tab shows Open + Closed + Merged PRs together - Tab order: All | Open | Closed | Merged (Open still default) - Server handles state=ALL by passing all three states to GraphQL - Empty state message adapts for All tab
Small GitHub octocat SVG icon appears after the repo dropdown when a
repo is selected. Links to github.com/{owner}/{repo} in a new tab.
Hover: turns white with subtle blue background. Tooltip on hover.
The date picker was filtering PRs by createdAt, showing '12 of 50 shown' which was confusing. PRs have their own filtering (state tabs + author + reviewer) and the date range doesn't apply meaningfully. Removed: useDateRange hook, DateRangePicker component, date-based filtering from the PR filter logic. The 'N of M shown' badge now only appears when author or reviewer filters are active.
This reverts commit d895a83.
- Reverted removal of date picker from PRs - Badge now says 'Showing 12 of 50 PRs' (clearer wording) - Badge only appears when filteredCount < totalCount (hidden when all PRs match, avoiding confusing '50 of 50 shown') - Date picker filters PRs by createdAt as intended
The GraphQL query was limited to 'first: 50' with no pagination, so
repos with 100+ PRs were cut off. Now:
- Bumped page size to 100
- Added cursor-based pagination loop to fetch ALL PRs
- Added pageInfo { hasNextPage, endCursor } to the query
Removed 'Load more commits' and 'Load more branches' buttons from both Commit Graph and Network Graph views. The date range picker now controls how much data is loaded — everything within the selected range is fetched automatically. Changes: - GraphPage: autoFetchAll=true, removed load-more button, shows loading indicator - NetworkPage: autoFetchAll=true, auto-loads remaining branches after main commits, removed both load-more buttons, shows loading indicator - Both views show a subtle 'Loading… N commits' indicator while fetching
Date range presets now: 1 week | 2 weeks | 1 month | 3 months | 6 months | 1 year | All time | Custom Default changed from 'Last month' to 'Last week' for faster initial loads.
homeles
approved these changes
Apr 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three view enhancements in one PR (+969/-64 lines across 7 files).
1. Branches View — Search + Tags
GET /api/repos/:owner/:repo/tagswith GraphQL query supporting both annotated and lightweight tags2. Network Graph — Date Axis
d3.scaleTimemapping min/max commit dates to x-positions'%b %d'for ≤1 year,'%b %Y'for longer3. Pull Requests — CI Status + Reviewers + Filters
commits(last:1).statusCheckRollup,reviews(first:20),reviewRequests(first:10)TypeScript
Both
clientandserverpasstsc -bcleanly (noUnusedLocals: true).