fix(fleet): add auth middleware, input validation, and design system compliance (#536)

Add authMiddleware to all 13 fleet endpoints that were previously
accessible without authentication. Add NaN validation for parseInt
params, stackName validation on snapshot restore, and description
length cap on snapshot creation. Clean up updateTracker entries on
node deletion to prevent memory leaks.

Replace hardcoded colors with design system tokens, swap Select for
Combobox, replace overflow-y-auto with ScrollArea, fix card styling
(shadow-card-bevel, border tokens). Fix stale container data by
always refetching on stack expand with a loading guard against
concurrent requests.

Add operational logging for state-changing fleet operations and
diagnostic logging gated behind Developer Mode. Add 20 fleet tests
covering auth enforcement, input validation, tier gating, and
snapshot CRUD lifecycle.
This commit is contained in:
Anso
2026-04-12 20:28:18 -04:00
committed by GitHub
parent bbaee7f7f0
commit 1702dabb7a
7 changed files with 333 additions and 62 deletions
+2
View File
@@ -118,6 +118,8 @@ Click a stack name to expand it further and see individual containers with:
- Image name (e.g. `linuxserver/plex:latest`)
- Uptime (e.g. "Up 4 days")
Container data is fetched fresh each time you expand a stack, so you always see the current state.
Hover over any container row to reveal an **Open in editor** button that navigates you directly to that stack's editor on the corresponding node.
<Frame>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 94 KiB