v0.4.0 - dual send mirror implementation #6

Merged
serversdown merged 9 commits from dev into main 2026-06-25 12:36:43 -04:00

9 Commits

Author SHA1 Message Date
serversdown 302934ced6 Merge branch 'main' into dev
main's v0.3.x event-forwarding (delivered via the event-db branch) is
content-identical to dev's, except for older version strings and the
pre-fix MLG timestamp handling that dev's 4742ed9 already superseded.
Keep dev's tree verbatim (-s ours); this only records main as merged so
the dev->main PR for v0.4.0 (mirror dual-send) merges without conflicts.
2026-06-25 15:14:43 +00:00
serversdown 3bef58b8dd chore(release): bump to v0.4.0 — mirror (dual-send) docs
Version bump across series4_ingest.py / tray / settings dialog / installer.iss.
CHANGELOG + README document the optional best-effort mirror server
(mirror_api_url / mirror_sfm_url / mirror_sfm_state_file, default off).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 05:54:14 +00:00
serversdown 3dadac4bcb Merge pull request 'feat: add optional mirror server config' (#5) from feat/mirror-dual-send into dev
Reviewed-on: #5
2026-06-25 01:42:29 -04:00
serversdown 7d22442bad feat: best-effort mirror (dual-send) of heartbeats + events
Optional second destination so each heartbeat and event is posted to a
mirror server (the office NAS) alongside the primary — dual-write to
de-risk the migration. Default off (blank mirror URLs); existing installs
unchanged.

- event_forwarder: mirror_reachable() fast-fail probe + mirror_forward_pass()
  (reliable event mirror with its OWN state file, total exception isolation,
  never raises into the primary path).
- series4_ingest: mirror_api_url/mirror_sfm_url/mirror_sfm_state_file config;
  best-effort heartbeat mirror; isolated event-mirror pass after the primary.
- settings dialog: new 'Mirror' tab.
- 9 new tests incl. the isolation invariant (down mirror = fast no-op that
  never touches primary state). 42 passing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 23:10:50 +00:00
serversdown dae67afeb9 docs: mirror dual-send design spec
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 23:02:47 +00:00
serversdown 997b5f053c chore: bump to version 0.3.1 2026-06-24 22:12:31 +00:00
serversdown 7f2a4a5a96 feat: enhance settings dialog and update check logging 2026-06-24 22:12:31 +00:00
serversdown ac8b58c193 feat: SFM event forwarding added. v0.3.0 2026-06-01 21:31:45 +00:00
claude 4742ed92ba fix: improve MLG file timestamp handling in scan_thordata function. Uses file metadata, not unit reported time. 2026-04-02 17:45:57 -04:00