[codex] Improve dev dashboard workflow and docs#293
Conversation
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (16)
✨ 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 |
There was a problem hiding this comment.
Pull request overview
Adds development-only error diagnostics to the admin dashboard UI and rebuilds the checked-in static dashboard bundle served by the API so developers can see richer context for API failures and browser-level errors while production behavior stays unchanged.
Changes:
- Introduces a dev-only on-page diagnostics panel that captures caught API request failures, uncaught browser errors, and unhandled promise rejections.
- Enhances request error handling with an
ApiRequestErrorthat includes method/URL/status/payload for better debugging context. - Updates the checked-in Vite build output (HTML manifest + hashed CSS/JS references).
Reviewed changes
Copilot reviewed 4 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| apps/admin_dashboard/src/main.tsx | Adds ApiRequestError, centralized showError, global error listeners, and a dev-only diagnostics panel UI. |
| apps/api/src/five08/backend/static/dashboard/index.html | Updates asset references to the newly built hashed JS/CSS filenames. |
| apps/api/src/five08/backend/static/dashboard/.vite/manifest.json | Updates Vite manifest entries to point at the new hashed assets. |
| apps/api/src/five08/backend/static/dashboard/assets/index-UBE2QwKH.css | Adds the newly built hashed CSS bundle. |
| apps/api/src/five08/backend/static/dashboard/assets/index-Cjc8hvil.css | Removes the previous hashed CSS bundle. |
Files not reviewed (1)
- apps/api/src/five08/backend/static/dashboard/assets/index-UBE2QwKH.css: Language not supported
Comments suppressed due to low confidence (1)
apps/admin_dashboard/src/main.tsx:1993
- This panel can display non-request errors (uncaught browser errors / unhandled promise rejections), but the heading always says "Request failed". Consider using more general copy (e.g., "Dashboard error") or switching the heading based on whether request context (
method/url/status) is available.
<div className="flex flex-wrap items-center gap-2">
<strong className="text-red-300">Request failed</strong>
<Badge variant="failed">{status || latest.name || "Error"}</Badge>
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <aside | ||
| aria-label="Development request errors" | ||
| className="fixed bottom-5 left-5 z-50 grid max-h-[70vh] w-[min(42rem,calc(100vw-2.5rem))] gap-3 overflow-auto rounded-md border border-red-500/40 bg-background p-4 text-sm shadow-2xl" |
| elif exc.code == "candidate_not_found": | ||
| detail = ( | ||
| "The selected person record is no longer available. Search again and " | ||
| "choose one of the current matches." | ||
| ) | ||
| elif exc.code == "ambiguous_person": | ||
| detail = ( | ||
| f'Multiple people matched "{person}". Choose the matching person record.' | ||
| ) | ||
| else: | ||
| detail = "Unable to resolve that person for the historical roster." |
Summary
person_not_found./scripts/dev.sh no-bot/web-workerfor infra + migrations + Web/API dashboard + worker without launching the Discord bot./scripts/dev.sh loginto create local/dev one-time dashboard links without running the Discord botREADME.mdas an overview and quickstartDEVELOPMENT.md, architecture intoARCHITECTURE.md, and configuration notes intodocs/configuration.mdReview follow-up
scripts/dev_mux.pyhelper tests after CI caught the signature changeweb-workerhelp text, and blank-string error fallback handlingValidation
uv run pytest tests/unit/test_backend_api.py -k historical_memberuv run pytest tests/unit/test_dev_mux.py tests/unit/test_backend_api.py -k "dev_mux or historical_member"uv run ruff check scripts/dev_mux.py apps/api/src/five08/backend/api.py tests/unit/test_backend_api.pypython3 -m py_compile scripts/dev_mux.pysh -n scripts/dev.shbun run formatbun run lintbun run typecheckbun run testbun run build./scripts/dev.sh loginmock-server smoke test