-
Notifications
You must be signed in to change notification settings - Fork 141
feat(dashboard): show runner pool errors #3741
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
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
How to use the Graphite Merge QueueAdd the label merge-queue to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
PR Review: feat(dashboard): show runner pool errorsOverviewThis PR adds functionality to display runner pool errors in the dashboard runner config table. The implementation includes error status indicators, grouped provider configurations, and detailed error tooltips. Positive Aspects
Issues Found1. Logic Bug in Error Detection (Line 196-198)const hasAtLeastOneError = groupedConfigs.some(
(g) => Object.keys(g.runnerPoolErrors).length > 0,
);Problem: This checks if there are any keys in the errors object, not if there are actual errors. An error object with { dc1: undefined } would still have a key count of 1. Fix: Should check for actual error values: const hasAtLeastOneError = groupedConfigs.some(
(g) => Object.values(g.runnerPoolErrors).some(err => err !== undefined)
);2. Whitespace Typo (Line 207)There is a tab character between providers and have in the error message string. Should be a single space. 3. Unused getModal Function (Line 423-425)This function always returns the same string and ignores the metadata parameter. Either remove it and use the string directly, or add a comment explaining it is kept for future extensibility. 4. Potential undefined access (Line 193)If groupedConfigs is empty (no datacenters), this will pass undefined to ProviderRow. Add a safety check before accessing groupedConfigs[0]. Code Quality Suggestions
Security ConsiderationsNo security issues identified. The code properly handles user input sanitization, no unsafe HTML rendering, and no direct DOM manipulation. Performance Considerations
Test CoverageThis PR lacks test coverage for error grouping logic, error message formatting for different error types, edge cases (empty datacenters, undefined errors), and provider name extraction. Consider adding unit tests for the utility functions. Minor Issues
SummaryPriority Issues to Fix:
Recommended Improvements:
Overall Assessment: The PR implements the requested feature well with good UX considerations. The main concerns are a logic bug in error detection and missing safety checks. Once the critical issues are addressed, this will be ready to merge. |
Graphite Automations"Test" took an action on this PR • (01/02/26)1 assignee was added to this PR based on Kacper Wojciechowski's automation. |
93bc627 to
0d44a67
Compare
f941b79 to
70e750a
Compare
70e750a to
2658d38
Compare
0d44a67 to
8b32560
Compare
More templates
@rivetkit/cloudflare-workers
@rivetkit/db
@rivetkit/framework-base
@rivetkit/next-js
@rivetkit/react
rivetkit
@rivetkit/sql-loader
@rivetkit/virtual-websocket
@rivetkit/engine-runner
@rivetkit/engine-runner-protocol
commit: |
2658d38 to
61e5c6a
Compare
Merge activity
|

Closes FRONT-906