Web UI: License panel — status, warnings, key install (v0.4 #43) #45

Merged
Cordy merged 1 commit from feat/license-ui into main 2026-07-26 17:16:32 +00:00
Owner

Frontend for #24's licensing model:

  • License toolbar button, feature-detected: GET /api/v1/license returns 200 only for admins on servers with auth.admins configured — non-admins never see licensing UI.
  • Dialog shows plan (Free tier / Licensed — org), seats used/cap, expiry, last check-in; warnings in danger color for revoked, grace-window countdown, and seat-limit-reached (buy prompt wording per #24).
  • Paste-and-install form → PUT /api/v1/license; server-side verification errors (bad signature, expired) surface in the status line.

node --check verified inline during the patch.

Frontend for #24's licensing model: - **License** toolbar button, feature-detected: `GET /api/v1/license` returns 200 only for admins on servers with `auth.admins` configured — non-admins never see licensing UI. - Dialog shows plan (Free tier / Licensed — org), seats used/cap, expiry, last check-in; warnings in danger color for revoked, grace-window countdown, and seat-limit-reached (buy prompt wording per #24). - Paste-and-install form → `PUT /api/v1/license`; server-side verification errors (bad signature, expired) surface in the status line. `node --check` verified inline during the patch.
web: License panel — status, warnings, key install (#43)
All checks were successful
ci / test-and-build (pull_request) Successful in 19s
9023594d17
Cordy merged commit 7164853c4f into main 2026-07-26 17:16:32 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#45
No description provided.