-
-
Notifications
You must be signed in to change notification settings - Fork 940
chore(webapp): Concurrency page UI improvements #2825
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…g actions on click
|
WalkthroughThis pull request adds configurable tooltip placement props to environment labels, updates button and table styling patterns, enhances tooltip accessibility, and revises the concurrency management UI. Changes include introducing tooltipSide and tooltipSideOffset props to EnvironmentCombo and EnvironmentLabel, adding a new "bright/no-hover" table variant, updating the concurrency route to use the new variant with additional UI elements (icons and pluralized text), adding type="button" to TooltipTrigger, and revising documentation for Pro tier concurrency acquisition via the dashboard. Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Pre-merge checks and finishing touches❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✨ Finishing touches
📜 Recent review detailsConfiguration used: Repository UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (6)
🧰 Additional context used📓 Path-based instructions (6)**/*.{ts,tsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
{packages/core,apps/webapp}/**/*.{ts,tsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.{ts,tsx,js,jsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
apps/webapp/app/**/*.{ts,tsx}📄 CodeRabbit inference engine (.cursor/rules/webapp.mdc)
Files:
apps/webapp/**/*.{ts,tsx}📄 CodeRabbit inference engine (.cursor/rules/webapp.mdc)
Files:
**/*.{js,ts,jsx,tsx,json,md,css,scss}📄 CodeRabbit inference engine (AGENTS.md)
Files:
🧠 Learnings (5)📚 Learning: 2025-11-14T16:03:06.917ZApplied to files:
📚 Learning: 2025-11-27T16:27:35.304ZApplied to files:
📚 Learning: 2025-12-08T15:19:56.823ZApplied to files:
📚 Learning: 2025-11-27T16:26:58.661ZApplied to files:
📚 Learning: 2025-11-27T16:27:35.304ZApplied to files:
🧬 Code graph analysis (2)apps/webapp/app/components/environments/EnvironmentLabel.tsx (1)
apps/webapp/app/components/primitives/Buttons.tsx (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (23)
🔇 Additional comments (10)
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 |
Review CompleteYour review story is ready! Comment !reviewfast on this PR to re-generate the story. |
Changes SummaryThis PR enhances the concurrency management page UI with several UX improvements: truncating long branch names with tooltips, adding a new table variant to remove hover states, fixing tooltip button types for accessibility, using proper pluralization for bundle labels, and displaying a clear banner when unallocated concurrency is available. The documentation is also updated to reflect the new self-service concurrency purchasing feature. Type: feature Components Affected: EnvironmentLabel component, Table component, Tooltip component, Concurrency management route, Documentation (limits page) Files Changed
Architecture Impact
Risk Areas: ResizeObserver lifecycle management - ensures proper cleanup with dependency arrays, Tooltip positioning edge cases - custom side offsets and sides may have unexpected behavior in certain viewport positions, Table variant proliferation - new variant adds complexity; future maintenance may require consolidation, simplur library - introduces new external dependency for string pluralization (consider lightweight alternative if not already standard) Suggestions
Full review in progress... | Powered by diffray |
| type="button" | ||
| tabIndex={-1} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟡 MEDIUM - Intentional tabIndex=-1 on tooltip trigger
Agent: react
Category: quality
Description:
SimpleTooltip uses tabIndex={-1} on type='button' element. This is likely intentional to prevent tooltip triggers from being focusable while still being mouse-interactive, but should be documented.
Suggestion:
Add a comment explaining why tabIndex={-1} is used intentionally, or consider if keyboard accessibility should be supported.
Confidence: 60%
Rule: ts_use_appropriate_tabindex_values
Review ID: fb475f6c-79ba-4905-bbc9-50e570158b3a
Rate it 👍 or 👎 to improve future reviews | Powered by diffray
Review Summary
Validated 26 issues: 6 kept (1 critical bug, 1 medium bug, 4 low-value docs/style), 20 filtered (mostly low-value performance/style suggestions and documentation requests) Issues Found: 5💬 See 1 individual line comment(s) for details. 📊 4 unique issue type(s) across 5 location(s) 📋 Full issue list (click to expand)🟠 HIGH - Missing destructuring of tryCatch resultAgent: refactoring Category: bug File: Description: tryCatch() returns [error, result] tuple but line 110 assigns entire tuple to Suggestion: Change Confidence: 95% Rule: 🟡 MEDIUM - useEffect dependency uses method call resultAgent: react Category: bug File: Description: Dependency array contains Suggestion: Extract before effect: Confidence: 75% Rule: 🟡 MEDIUM - Unsafe 'as any' type assertion with TODO (2 occurrences)Agent: react Category: bug 📍 View all locations
Rule: 🟡 MEDIUM - Intentional tabIndex=-1 on tooltip triggerAgent: react Category: quality File: Description: SimpleTooltip uses tabIndex={-1} on type='button' element. This is likely intentional to prevent tooltip triggers from being focusable while still being mouse-interactive, but should be documented. Suggestion: Add a comment explaining why tabIndex={-1} is used intentionally, or consider if keyboard accessibility should be supported. Confidence: 60% Rule: ℹ️ 4 issue(s) outside PR diff (click to expand)
🟠 HIGH - Missing destructuring of tryCatch resultAgent: refactoring Category: bug File: Description: tryCatch() returns [error, result] tuple but line 110 assigns entire tuple to Suggestion: Change Confidence: 95% Rule: 🟡 MEDIUM - useEffect dependency uses method call resultAgent: react Category: bug File: Description: Dependency array contains Suggestion: Extract before effect: Confidence: 75% Rule: 🟡 MEDIUM - Unsafe 'as any' type assertion with TODO (2 occurrences)Agent: react Category: bug 📍 View all locations
Rule: Review ID: |
UI Improvements to the Concurrency page:
type=submitCleanShot.2025-12-30.at.17.06.15.mp4