feat(dashboard): add settings API contract#363
feat(dashboard): add settings API contract#363powerfulDev-cloud wants to merge 1 commit intoLight-Heart-Labs:mainfrom
Conversation
Lightheartdevs
left a comment
There was a problem hiding this comment.
Review: REQUEST CHANGES — Hard conflict with PR #364
Blocking: Incompatible /api/settings implementations
PR #363 adds GET /api/settings in main.py with a rich payload (version, services, GPU, model, updates, hostname). PR #364 adds GET /api/settings in routers/runtime.py with a slimmer payload (version, tier, uptime, storage). Different response shapes, different locations, different tests. Cannot both merge.
Recommendation: Merge the richer payload from #363 into the routers/runtime.py location from #364. Both PRs also have near-identical _format_uptime helpers.
Blocking: Verify triggerUpdate exists
Settings.jsx imports triggerUpdate from ../hooks/useVersion, but no changes to that hook are in the diff. If this function doesn't exist on the target branch, the build breaks.
Non-blocking:
_read_version_statesilently returns("0.0.0", {})on JSON parse failure — addlogger.warningsocket.gethostname()exposed in API — unnecessary since frontend already haswindow.location.hostname
🤖 Reviewed with Claude Code
Lightheartdevs
left a comment
There was a problem hiding this comment.
Review — Needs more context in PR description.
+355/-115 across 6 files for a settings API contract, but the PR body is empty beyond the title. Need:
- What endpoints are added/changed?
- How does this relate to #364 (which also adds settings APIs)?
- Are these frontend-only changes or backend too?
Please add a description so reviewers can evaluate without reading 470 lines of diff cold.
No description provided.