Jason Staack
213681c4e6
feat(firmware): make device hostnames clickable in firmware page
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:19:13 -05:00
Jason Staack
e5a5d735a6
feat(dashboard): make device hostnames clickable in events timeline
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:18:40 -05:00
Jason Staack
7c45b18870
feat(dashboard): make AP hostnames clickable in wireless issues
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:17:58 -05:00
Jason Staack
9718a94d1d
feat(transparency): make device names clickable in transparency log
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:17:14 -05:00
Jason Staack
6713a8cf5b
feat(audit): make device names clickable in audit log
...
Add device_id to the audit log API response and frontend type, then
use DeviceLink to make device hostnames navigable in AuditLogTable.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:16:21 -05:00
Jason Staack
33be7a9522
feat(map): make device hostname clickable in map popup
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:14:27 -05:00
Jason Staack
e8ffbdbf7a
feat(alerts): use DeviceLink for device hostnames
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:13:33 -05:00
Jason Staack
e4b9eeae1d
feat(fleet): make device hostname a clickable link in fleet table
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:12:38 -05:00
Jason Staack
c3bbdb852d
feat(ui): add DeviceLink reusable component
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:11:25 -05:00
Jason Staack
f6283cff7c
fix(lint): remove unused FleetDevice import in traffic page
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 19:03:31 -05:00
Jason Staack
c455fe4ed5
feat(ui): sweep remaining components for Deep Space consistency
...
Replace old design tokens and hardcoded colors across 29 files:
- bg-primary/text-primary-foreground -> bg-accent/text-white
- text-muted-foreground -> text-text-muted
- text-destructive/bg-destructive -> text-error/bg-error
- bg-muted -> bg-elevated (background usage)
- Hardcoded green/red/yellow/emerald/amber/slate -> semantic tokens
- Remove shadow-md/lg from cards, tooltips, topology nodes
- rounded-xl -> rounded-lg on cards/panels
- focus:ring-1 focus:ring-ring -> focus:border-accent on inputs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 19:00:36 -05:00
Jason Staack
25d4a80b73
feat(ui): polish command palette and login page for Deep Space
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 18:42:07 -05:00
Jason Staack
4924580a4b
feat(ui): polish remaining pages with Deep Space tokens
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 18:40:48 -05:00
Jason Staack
133e6e50e4
feat(ui): wire Wireless and Traffic pages to live data
...
Replace placeholder "coming soon" pages with functional implementations
that query the fleet APIs and display real-time wireless issues and
resource consumption data.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 18:36:44 -05:00
Jason Staack
1800330545
feat: expand config editor menu tree and add WiFi wave2 template
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 18:27:38 -05:00
Jason Staack
b8797c9b79
chore: remove deprecated Header component (replaced by ContextStrip)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:45:49 -05:00
Jason Staack
bdff65b9cf
chore: remove Geist font files and dependency
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:45:26 -05:00
Jason Staack
64dc6beb11
feat(ui): polish Config Editor with Deep Space styling
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:44:18 -05:00
Jason Staack
8fadfc4d7d
feat(ui): polish device table with Deep Space styling
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:43:31 -05:00
Jason Staack
06ac1b73b6
feat(ui): polish Fleet Overview with Deep Space styling
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:42:44 -05:00
Jason Staack
bea80b354f
feat(ui): add placeholder Wireless and Traffic routes
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:39:51 -05:00
Jason Staack
99215810a9
feat(ui): replace AppLayout with ContextStrip + rebuilt Sidebar
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:39:31 -05:00
Jason Staack
b9bbcf4a45
feat(ui): rebuild Sidebar with Fleet/Config/Admin structure
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:39:12 -05:00
Jason Staack
a10e609c02
feat(ui): add ContextStrip with org switcher, status, and user controls
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:38:24 -05:00
Jason Staack
76d7f5561d
feat(ui): restyle DropdownMenu and Popover
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:34:01 -05:00
Jason Staack
627c5af8da
feat(ui): restyle Select, Badge, Tabs, Checkbox
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:33:56 -05:00
Jason Staack
d5eaaafcfc
feat(ui): restyle Dialog with Deep Space overlay and borders
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:33:52 -05:00
Jason Staack
038a988c55
feat(ui): restyle Card — borders over shadows
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:33:48 -05:00
Jason Staack
b347d4bb89
feat(ui): restyle Input with Deep Space focus behavior
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:33:43 -05:00
Jason Staack
eea3321e7d
feat(ui): restyle Button with Deep Space variants
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:33:38 -05:00
Jason Staack
267724ccb6
feat(ui): add Deep Space transition defaults
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:30:52 -05:00
Jason Staack
304844c3ff
feat(ui): update Tailwind theme for Deep Space tokens
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:30:34 -05:00
Jason Staack
e7a5567f0c
feat(ui): replace color tokens with Deep Space palette
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:30:23 -05:00
Jason Staack
258a8fe8b4
feat(ui): swap Geist for Manrope + IBM Plex Mono
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:29:26 -05:00
Jason Staack
79cc0ad793
chore: add Manrope and IBM Plex Mono font files
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 17:28:57 -05:00
Jason Staack
144fb8b32d
fix: resolve React Compiler lint errors
...
- WifiPanel: revert useEffect back to useState initializer (avoids
synchronous setState in effect)
- Device detail: avoid Date.now() during render for push alert check
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 23:34:58 -05:00
Jason Staack
874542f802
fix: mount RollbackAlert, fix WifiPanel useEffect, remove unused PoolPanel prop
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 23:17:07 -05:00
Jason Staack
f49f5f739b
fix: remove dead code (toast stubs, unused Redis key, tunnel manager fields)
...
- Remove 7 no-op exported stubs from toast.tsx (ToastProvider, ToastViewport,
Toast, ToastTitle, ToastDescription, ToastClose, useToasts) — nothing imports them
- Remove fwFailKey variable and its Set() call from worker.go — the
firmware:check-failed Redis key was never read anywhere
- Remove unused deviceStore and credCache fields from tunnel.Manager struct
and drop corresponding parameters from NewManager(); update call site in
main.go and all test usages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 23:12:56 -05:00
Jason Staack
461bfcd89b
fix: update version string from v8.0 to v9.6
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 23:10:21 -05:00
Jason Staack
409fb000b5
fix(a11y): add focus trap, Escape key, and dialog role to mobile sidebar
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 21:10:32 -05:00
Jason Staack
42216ea326
fix(a11y): add keyboard support and aria-expanded to audit log rows
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 21:10:17 -05:00
Jason Staack
2e9584d2c7
fix(a11y): add keyboard nav to fleet table rows, fix ARIA, add scope
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 21:10:08 -05:00
Jason Staack
c0f6f84677
fix(a11y): add aria-live to password strength, role=meter to signal bar
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 21:09:48 -05:00
Jason Staack
608a42a376
fix(a11y): add role=alert to form error messages
2026-03-15 21:08:36 -05:00
Jason Staack
bf2002f8be
fix(a11y): restore keyboard access to forgot-password, add role=alert to error
2026-03-15 21:08:19 -05:00
Jason Staack
9ce4c9aa60
fix(a11y): add aria-label to collapsed sidebar links, aria-current to active
2026-03-15 21:08:09 -05:00
Jason Staack
b07659e2c2
fix(a11y): add aria-labels to unlabeled controls and table headers
2026-03-15 21:08:02 -05:00
Jason Staack
9ad5438860
fix(a11y): add focus ring to dialog close button
2026-03-15 21:07:01 -05:00
Jason Staack
5d3463b633
fix(a11y): improve color contrast for WCAG AA compliance
...
- Darken --text-muted in light mode (6.2:1 on white)
- Brighten --text-muted in dark mode (4.6:1 on surface)
- Split status colors: darker variants for light mode, bright for dark
- All text colors now meet WCAG AA 4.5:1 minimum
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 21:05:51 -05:00
Jason Staack
24cf57d2ca
fix: remove unused WirelessIssue type import
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 20:09:56 -05:00