Fix/contributor repo page#91
Conversation
|
Warning Review limit reached
More reviews will be available in 35 minutes and 55 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughThe PR adds score-based repository selection and total repository counting, then updates overview, contributors, repositories, and network pages to use the new data and hover-based tooltip interactions. It also changes the navbar background token. ChangesApp exploration and UI updates
Estimated review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Please resolve the merge conflicts before review. Your PR will only be reviewed by a maintainer after all conflicts have been resolved. 📺 Watch this video to understand why conflicts occur and how to resolve them: |
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/pages/ContributorsPage.jsx`:
- Around line 93-97: The info panels in ContributorsPage are currently driven
only by mouse hover, which makes them inaccessible to keyboard and touch users.
Update the tooltip/popup interaction around the busfactor/info icon so the same
open state is also controlled by onFocus/onBlur and a click toggle (or
equivalent controlled popover behavior), and apply the same fix to the other
matching info triggers in ContributorsPage so interaction is input-agnostic.
In `@src/pages/NetworkPage.jsx`:
- Line 31: The force graph in NetworkPage is currently built from all entries in
model.contributors, which can cause node/link explosion and slow rendering on
large orgs. Reintroduce an explicit contributor cap or adaptive sampling before
node and link generation in the topContribs flow, so the graph only uses a
bounded subset while preserving the existing graph-building logic.
In `@src/pages/OverviewPage.jsx`:
- Line 75: The org avatar image in OverviewPage.jsx uses an empty alt attribute,
so update the img rendering for orgs[0].avatar_url to provide meaningful
descriptive alt text using the org’s login or name. Keep the change localized to
the avatar img element in OverviewPage so the image conveys org identity to
assistive technologies.
- Around line 141-147: The tooltip trigger in OverviewPage.jsx is currently only
wired to mouse hover via the button’s onMouseEnter and onMouseLeave handlers, so
update this interaction to also work with keyboard and touch input. Adjust the
same trigger element and its open state logic so the info button can open on
focus and toggle on click/tap, and close appropriately on blur or outside
interaction while preserving the existing hover behavior.
- Line 109: The Active Repos stat in OverviewPage can render NaN when totalRepo
is zero, so guard the percentage calculation before doing the math. Update the
StatCard usage in OverviewPage to handle the zero-total case explicitly, and
keep the formatting logic tied to the activeRepos and totalRepo values so the
subtext always shows a valid percentage.
In `@src/pages/RepositoriesPage.jsx`:
- Around line 74-78: The info popover in RepositoriesPage is currently driven
only by mouse enter/leave on the trigger, which makes it unusable for
keyboard/touch and causes it to close when moving into the panel. Update the
open/close logic around the trigger and popover so the wrapper containing both
the AiOutlineInfoCircle button and the info panel handles enter/leave, and add
focus/click support to the same state used by setOpenInfo so users can open and
keep it accessible via keyboard and touch.
In `@src/services/analytics.js`:
- Around line 177-186: The repository scoring logic in the analytics ranking
path can return NaN when repo.pushed_at is missing/invalid or when
stargazers_count, forks_count, or watchers_count are undefined. Update the score
computation in the analytics service to sanitize these inputs before calculating
daysSinceLastPush and score, using safe numeric fallbacks and skipping the
activity bonus when pushed_at cannot be parsed. Keep the fix localized around
the score calculation so the repo sorting and top-repo selection always receive
a valid numeric score.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 846786bf-a41d-43c6-a66d-dc681d0dca59
📒 Files selected for processing (7)
src/components/Navbar.jsxsrc/context/AppContext.jsxsrc/pages/ContributorsPage.jsxsrc/pages/NetworkPage.jsxsrc/pages/OverviewPage.jsxsrc/pages/RepositoriesPage.jsxsrc/services/analytics.js
Screenshots/Recordings:
Before:
https://1drv.ms/v/c/2b55451e453f4443/IQBifYNkOtKYRr7BR1o2bT1BAaSbFkU_Q2DBFY3_a-4s5Co?e=gdRWQQ
After:
https://1drv.ms/v/c/2b55451e453f4443/IQD740EsPsqBQZYyi9LyPAZ5AWNia-4n4UJVasbhhWqBfoo?e=h0q1xY
Additional Notes:
Summary
This PR includes multiple UI/UX improvements and fixes across the Home, Overview, Repository, Settings, and Contributor pages. And the core work like, added a formula to calculate top repo and show analytics for top repos.
Changes Made
Home Page
Fixed the Settings and Theme Toggle button sizing.
Fix theme in light mode.
Improved footer navigation:
Overview Page
Repository Page
ALLto a more descriptive value.Contributor Page
Network Page
Additional Notes
Checklist
We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact.
Summary by CodeRabbit
New Features
Bug Fixes
UI Improvements