fix(settings): add SFM Forward tab to settings dialog (v1.5.1)

v1.5.0 shipped the forwarder module + INI keys but the settings
dialog wasn't extended, so the only way operators could enable
forwarding was hand-editing config.ini.  This adds a sixth tab
("SFM Forward") with:

  - Forward events to SFM    checkbox
  - SFM Server URL           entry + Test button (GETs /health)
  - Forward Interval (sec)   spinbox
  - Quiescence (sec)         spinbox
  - Missing-Report Grace     spinbox
  - HTTP Timeout             spinbox
  - State File               entry + Browse...

Save-time guard: enabling the forwarder without a URL raises a
validation error rather than silently saving a non-functional
config.

Patch release — same on-disk INI schema, no config migration.
This commit is contained in:
2026-05-10 00:01:25 +00:00
parent f4ec6ef945
commit 3ee0cae31e
6 changed files with 180 additions and 7 deletions
+10
View File
@@ -6,6 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
---
## [1.5.1] - 2026-05-10
### Added
- **SFM Forward tab in the Settings dialog.** v1.5.0 shipped the `event_forwarder.py` module + INI keys but missed the GUI; operators had to edit `config.ini` by hand to enable forwarding. The settings dialog now exposes:
- **Forward events to SFM** checkbox
- **SFM Server URL** entry with a **Test** button (mirrors the Connection tab — GETs `/health` and shows the result)
- **Forward Interval / Quiescence / Missing-Report Grace / HTTP Timeout** spinboxes
- **State File** entry with a Browse... button (defaults to `<log dir>/sfm_forwarded.json` when blank)
- Save-time guard: enabling SFM Forward without filling in the URL shows a validation error rather than silently saving a non-functional config.
## [1.5.0] - 2026-05-09
### Added