feat: reflect server mode in client UI #8

Merged
forbes merged 2 commits from feature/server-mode-ui into main 2026-02-08 22:10:23 +00:00

2 Commits

Author SHA1 Message Date
fb9e1d3188 Merge branch 'main' into feature/server-mode-ui 2026-02-08 22:10:14 +00:00
Zoe Forbes
026ed0cb8a feat: reflect server mode in client UI
Add server mode awareness to the FreeCAD client. The mode (normal,
read-only, degraded, offline) is fetched from the /ready endpoint on
each status refresh and updated in real-time via SSE server.state events.

Changes:
- Add _server_mode global and _fetch_server_mode() helper that queries
  /ready and maps response status to mode string
- Add server_mode_changed signal to SiloEventListener, handle
  server.state SSE events in _dispatch()
- Add mode banner to SiloAuthDockWidget: colored bar shown when server
  is not in normal mode (yellow=read-only, orange=degraded, red=offline)
- Update _refresh_status() to fetch mode and update banner
- Disable write commands (New, Save, Commit, Push) when server is not
  in normal mode via IsActive() checks

Closes #4
2026-02-08 16:06:48 -06:00