ui/device-details - #254
Conversation
Watches *.go, *.html, and *.css; rebuilds via make fioserver and restarts the server automatically. Run contrib/run-local.sh once first to initialise .local-data, then use `air` in place of manual rebuild+restart cycles. air must be installed first: go install github.com/air-verse/air@latest Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
|
Other PRs in this stack, in order:
|
The gateway code will need this also Signed-off-by: Andy Doan <doanac@qti.qualcomm.com>
Fixes issue #242 Signed-off-by: Andy Doan <doanac@qti.qualcomm.com>
Signed-off-by: Andy Doan <doanac@qti.qualcomm.com>
gateway: Add `PATCH /config` support
There is no existing test run for oauth2 and the following use-cases: - A device registering - A fiocli user logging in The shared fixtures run the server in noauth mode, which fabricates a full-scope session on every request and cannot exercise the login redirect, a real user confirming the code, or scope intersection. Instead, stand up a dedicated fioserver with auth-init --local on test ports and drive the flow with Playwright: `fiocli login` through the authorize, deny, and scope-mismatch paths, plus a fio-device-register mimic which registers a device by POSTing a CSR with the minted token base64-encoded. NOTE: The tests run against the server's default per-IP rate limits, so the steps are paced to human speed. Signed-off-by: Michael Scott <mike@foundries.io> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
TestApiRolloutPut slept a fixed 50ms for the async rollout commit before asserting the committed state, which is racy under load. Poll for the committed state with require.Eventually instead, matching the pattern already used by the rollout daemon and update tail tests. Signed-off-by: Andre Detsch <andre.detsch@foundries.io> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Yeah, that content grows too much indeed. I think we need a compromise there: show 5 or 6, and have a button/link to a new page with the complete list of updates. That will add a new tab at the top, "Updates". I noticed only now that there is a |
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
The new UI will show an error the first time a user arrives at the login page and there is no cookie set. Silence that error so it does not pop up in the UI. Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Replace the 15px root override with 16px (browser baseline, cleaner rem math). Add Minor-Third-based heading scale using --pico-font-size overrides so Pico's own rules read the values without a specificity fight. h1–h3: fluid via clamp() (22–28 / 18–22 / 16–19 px across 320–1280px) h4–h6: fixed (17 / 13 / 11 px) — hierarchy carried by weight and case. Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
- Add app shell: sticky topbar with brand + nav-toggle + theme-toggle,
collapsible push-sidebar (desktop) / off-canvas drawer (mobile ≤860px)
- Add user avatar badge with initials derived from username
- Redesign devices list page
- Add OtherLabels/Initials template helpers with unit tests"
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Revert tsToString to RFC3339 and add a separate tsToDate (DateOnly) helper used only by devices_list.html, restoring full timestamps everywhere else. Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Old /configs/device/:uuid GET routes now 301-redirect to /devices/:uuid/configs (and related). PATCH/DELETE and history also moved. No handler logic changed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Update template hrefs to use new URL structure: - /configs/device/:uuid -> /devices/:uuid/configs - /configs/device/:uuid/applied -> /devices/:uuid/applied-configs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
Signed-off-by: Milo Casagrande <mcasagra@qti.qualcomm.com>
c0e5b40 to
3c8fd35
Compare

feat: redesign device detail page with new layout
Signed-off-by: Milo Casagrande mcasagra@qti.qualcomm.com