feat: implement update management web UI

Add complete update management interface to web UI:
- Update status display (current version, last status, timestamp, errors)
- Check for updates button with availability indicator
- Apply update button with confirmation dialog and backup warnings
- Rollback button with confirmation dialog
- Update logs viewer (collapsible, reverse chronological)
- Auto-refresh after update/rollback actions (5s delay)

Features:
- Uses existing Pico CSS framework for consistent styling
- Integrates with existing auth system (Bearer token/session cookies)
- Real-time feedback with loading states and error handling
- German UI language matching existing interface
- All API calls use existing api() helper function

Complete US_000029-033 and TASK_000030-034:
- US_000029: Display update status in web UI
- US_000030: Trigger update check from UI
- US_000031: Apply updates from UI
- US_000032: Display update logs in UI
- US_000033: Trigger rollback from UI

EPIC_000008 (Client-Side Update Mechanism) now fully complete.
Documentation updated per SOP (CHANGELOG, PROJECT_STATUS, stories/tasks).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-30 11:32:39 +01:00
parent 107cdabe8d
commit d799c0f042
13 changed files with 210 additions and 25 deletions

View File

@ -92,16 +92,16 @@ Sicheres, remote steuerbares System zum Sperren/Entsperren lokaler Nutzerkonten.
- [x] TASK_000028: Verify and apply update
- [x] US_000028: Client meldet Update-Status
- [x] TASK_000029: Report update status
- [ ] US_000029: Update-Status im Web-UI anzeigen
- [ ] TASK_000030: UI update status view
- [ ] US_000030: Update-Check im Web-UI ausloesen
- [ ] TASK_000031: UI update check trigger
- [ ] US_000031: Update im Web-UI anstossen
- [ ] TASK_000032: UI update apply action
- [ ] US_000032: Update-Logs im Web-UI anzeigen
- [ ] TASK_000033: UI update logs view
- [ ] US_000033: Rollback im Web-UI anstossen
- [ ] TASK_000034: UI rollback action
- [x] US_000029: Update-Status im Web-UI anzeigen
- [x] TASK_000030: UI update status view
- [x] US_000030: Update-Check im Web-UI ausloesen
- [x] TASK_000031: UI update check trigger
- [x] US_000031: Update im Web-UI anstossen
- [x] TASK_000032: UI update apply action
- [x] US_000032: Update-Logs im Web-UI anzeigen
- [x] TASK_000033: UI update logs view
- [x] US_000033: Rollback im Web-UI anstossen
- [x] TASK_000034: UI rollback action
### EPIC_000009: Update Webservice (External Team)
- [ ] US_000026: Client bezieht Updates (Pull)

View File

@ -1,9 +1,9 @@
ID: US_000029 | Version: 0.1.0 | Status: Draft
ID: US_000029 | Version: 0.1.0 | Status: Done
By: Codex (GPT-5)
# US_000029: Update-Status im Web-UI anzeigen
Status: In Progress
Status: Done
Als Admin moechte ich die aktuelle Version und den Update-Status im Web-UI sehen, damit ich den Zustand schnell pruefen kann.

View File

@ -1,9 +1,9 @@
ID: US_000030 | Version: 0.1.0 | Status: Draft
ID: US_000030 | Version: 0.1.0 | Status: Done
By: Codex (GPT-5)
# US_000030: Update-Check im Web-UI ausloesen
Status: In Progress
Status: Done
Als Admin moechte ich manuell nach Updates suchen koennen, damit ich Updates sofort pruefen kann.

View File

@ -1,9 +1,9 @@
ID: US_000031 | Version: 0.1.0 | Status: Draft
ID: US_000031 | Version: 0.1.0 | Status: Done
By: Codex (GPT-5)
# US_000031: Update im Web-UI anstossen
Status: In Progress
Status: Done
Als Admin moechte ich ein Update im Web-UI anstossen, damit der Client die neue Version installiert.

View File

@ -1,9 +1,9 @@
ID: US_000032 | Version: 0.1.0 | Status: Draft
ID: US_000032 | Version: 0.1.0 | Status: Done
By: Codex (GPT-5)
# US_000032: Update-Logs im Web-UI anzeigen
Status: In Progress
Status: Done
Als Admin moechte ich Update-Logs im Web-UI einsehen, damit Fehler nachvollziehbar sind.

View File

@ -1,9 +1,9 @@
ID: US_000033 | Version: 0.1.0 | Status: Draft
ID: US_000033 | Version: 0.1.0 | Status: Done
By: Codex (GPT-5)
# US_000033: Rollback im Web-UI anstossen
Status: In Progress
Status: Done
Als Admin moechte ich einen Rollback im Web-UI anstossen, damit ich nach einem fehlerhaften Update schnell zur letzten Version zurueckkehre.

View File

@ -1,4 +1,4 @@
ID: TASK_000030 | Version: 0.1.0 | Status: In Progress
ID: TASK_000030 | Version: 0.1.0 | Status: Done
By: Codex (GPT-5)
# TASK_000030: UI update status view

View File

@ -1,4 +1,4 @@
ID: TASK_000031 | Version: 0.1.0 | Status: In Progress
ID: TASK_000031 | Version: 0.1.0 | Status: Done
By: Codex (GPT-5)
# TASK_000031: UI update check trigger

View File

@ -1,4 +1,4 @@
ID: TASK_000032 | Version: 0.1.0 | Status: In Progress
ID: TASK_000032 | Version: 0.1.0 | Status: Done
By: Codex (GPT-5)
# TASK_000032: UI update apply action

View File

@ -1,4 +1,4 @@
ID: TASK_000033 | Version: 0.1.0 | Status: In Progress
ID: TASK_000033 | Version: 0.1.0 | Status: Done
By: Codex (GPT-5)
# TASK_000033: UI update logs view

View File

@ -1,4 +1,4 @@
ID: TASK_000034 | Version: 0.1.0 | Status: In Progress
ID: TASK_000034 | Version: 0.1.0 | Status: Done
By: Codex (GPT-5)
# TASK_000034: UI rollback action