• v1.4.4 1abdc13645

    v1.4.4 Stable

    serversdown released this 2026-03-18 01:34:30 -04:00 | 0 commits to main since this release

    Downloads
  • v1.4.3 f790b21808

    serversdown released this 2026-03-17 21:12:39 -04:00 | 2 commits to main since this release

    [1.4.3] - 2026-03-17

    Added

    • Auto-updater now logs all activity to the watcher log file ([updater] prefix) — silent failures are now visible.
    • Configurable update source: UPDATE_SOURCE = gitea (default), url, or disabled. In url mode the watcher fetches version.txt and the .exe from a custom base URL (e.g. terra-view) instead of the Gitea API — enables updates on isolated networks that cannot reach Gitea. disabled turns off automatic checks while keeping the remote push path (from terra-view) functional.
    • New Updates tab in the Settings dialog to configure UPDATE_SOURCE and UPDATE_URL.

    Fixed

    • Downloaded .exe is now validated before applying: absolute size floor (100 KB), relative size floor (50% of current exe), and MZ magic bytes check. A corrupt or truncated download is now rejected and logged rather than silently overwriting the live exe.
    • Swap .bat now backs up the current exe as <exe>.old before overwriting, providing a manual rollback copy if needed.
    • Swap .bat retry loop is now capped at 5 attempts — was previously infinite if the file remained locked.
    • Swap .bat now cleans up the temp download file on both success and failure.
    Downloads
  • v1.4.2 0bea6ca4ea

    serversdown released this 2026-03-17 16:30:53 -04:00 | 4 commits to main since this release

    Changed

    • Tray icon color now reflects watcher + API health rather than unit ages — green=API OK, amber=API disabled, red=API failing, purple=watcher error.
    • Status menu text updated to show Running — API OK | N unit(s) | scan Xm ago.
    • Units submenu removed from tray — status tracking for individual units is handled by terra-view, not the watcher.
    • Unit list still logged to console and log file for debugging, but no OK/Pending/Missing judgement applied.
    • watcher_status field added to heartbeat payload so terra-view receives accurate watcher health data.

    Install

    • To install on a new machine, please use the installer.exe (from 1.4.1, it will then automatically update to 1.4.2 after detecting the new release)
    • If already running 1.4.1, it SHOULD auto update. (its still tbd if that actually works tho....)
    Downloads
  • v1.4.1 2456fd0ee8

    serversdown released this 2026-03-17 14:36:36 -04:00 | 7 commits to main since this release

    Installation

    New Install

    • download the series3-watcher-setup.exe
    • Run install wizard.

    Existing Install update

    • Should update automatically? (havent tested it yet tho)

    [1.4.1] - 2026-03-17

    Fixed

    • config.ini now saves to AppData\Local\Series3Watcher\ instead of Program Files — fixes permission denied error on first-run wizard save.
    • Config path resolution in both series3_tray.py and series3_watcher.py updated to use sys.frozen + LOCALAPPDATA when running as a PyInstaller .exe.
    • Status menu item now uses a callable so it updates every time the menu opens — was showing stale "Starting..." while tooltip correctly showed current status.
    • Settings dialog now opens in its own thread — fixes unresponsive tabs and text fields while the watcher loop is running.
    • Tray icon reverted to plain colored dot — custom icon graphic was unreadable at 16px tray size. .ico file is still used for the .exe file icon.

    Changed

    • Terra-View URL field in settings wizard now accepts base URL only (e.g. http://192.168.x.x:8000) — /api/series3/heartbeat endpoint appended automatically.
    • Test Connection button now hits /health endpoint instead of posting a fake heartbeat — no database side effects.
    • "terra-view URL" label capitalized to "Terra-View URL".
    • Default log path updated to AppData\Local\Series3Watcher\agent_logs\series3_watcher.log.
    • Installer now creates agent_logs\ folder on install.
    • BUILDING.md added — step-by-step guide for building, releasing, and updating.

    [1.4.0] - 2026-03-12

    Added

    • series3_tray.py — system tray launcher using pystray + Pillow. Color-coded icon (green=OK, amber=Pending, red=Missing, purple=Error, grey=Starting). Right-click menu shows live status, unit count, last scan age, Open Log Folder, and Exit.
    • run_watcher(state, stop_event) in series3_watcher.py for background thread use by the tray. Shared state dict updated on every scan cycle with status, unit list, last scan time, and last error.
    • Interruptible sleep in watcher loop — tray exit is immediate, no waiting out the full scan interval.

    Changed

    • main() now calls run_watcher() — standalone behavior unchanged.
    • requirements.txt updated to document tray dependencies (pystray, Pillow); watcher itself remains stdlib-only.
    Downloads