Commit Graph

14 Commits

Author SHA1 Message Date
Axel Meyer
99eeffcbe4 Detect missing Syncthing, rewrite README with architecture diagram
Some checks failed
Release / build (push) Failing after 2m53s
Add Syncthing installation detection (PATH + config file check) to both
the tray app and setup installer. When missing, the tray shows an
"Install Syncthing..." menu item and the setup opens the download page.

Rewrite README with Mermaid topology graph, per-binary dependency tables,
project layout, API endpoint reference, and shields.io badges.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v0.2.0
2026-03-04 00:08:34 +01:00
Axel Meyer
11e5c9b915 Set window icon on Admin Panel (title bar + taskbar)
All checks were successful
Release / build (push) Successful in 2m34s
Embed the blue SyncWarden shield icon in the panel binary and set it
as the window icon via Win32 SendMessage/WM_SETICON on startup.
Uses the syncing (blue) variant as the status-independent panel icon.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v0.1.0
2026-03-03 23:26:11 +01:00
Axel Meyer
110bb715ff Redesign icon: wood texture shield with darken-blended Syncthing motif
All checks were successful
Release / build (push) Successful in 2m34s
Replace procedural icon renderer with pre-rendered textured icons:
- Use Stammtisch wood texture as shield face (crop tabletop planks)
- Apply Syncthing motif via darken blend ("warpaint on wood" effect)
- Fix Syncthing logo geometry: asymmetric node placement (76°/116°/168°
  gaps) with offset hub, matching the official SVG
- Metal rim with rivets and directional lighting
- Embed pre-rendered PNGs via go:embed (no runtime rendering)
- Icon generator in cmd/icongen/ takes wood texture as input

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:01:51 +01:00
Axel Meyer
cdeae01398 Add shield icon: medieval round shield with Syncthing motif warpaint
All checks were successful
Release / build (push) Successful in 2m47s
Redesign tray/app icon as a wooden round shield with iron rim, rivets,
wood grain, and the Syncthing network motif (ring + 3 nodes + spokes)
painted in the state color. Dark shadow outline for wood contrast.
Inspired by Stammtisch hero icon style (warm, illustrated wood tones).

- Dynamic tray icon changes color per state (green/blue/gray/red)
- Static assets: PNG at 7 sizes + multi-size .ico + preview sheet
- Icon generator utility (cmd/icongen)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:35:40 +01:00
Axel Meyer
28d9ff6f54 CI: fix panel builds (webkit2gtk-4.1, EventToken.h case, re-release)
All checks were successful
Release / build (push) Successful in 2m44s
- Ubuntu 24.04 (Noble) dropped webkit2gtk-4.0; install 4.1 and symlink
  the pkg-config file so webview_go finds it
- MinGW ships eventtoken.h (lowercase) but WebView2.h includes
  EventToken.h; create case-correct symlink for Linux cross-compilation
- Delete existing Gitea release before creating new one (re-release)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:16:49 +01:00
Axel Meyer
9a2cec8e21 CI: make panel build optional, show apt-get errors, graceful fallbacks
Some checks failed
Release / build (push) Failing after 1m44s
If CGO dependencies are missing, panel builds are skipped with a warning
and the tray binary falls back to opening the browser.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:00:06 +01:00
Axel Meyer
6149a82d0b Restore panel build in CI, add browser fallback for Open Admin Panel
Some checks failed
Release / build (push) Failing after 21s
- Re-add CGO panel builds with apt-get install of gcc/g++/mingw-w64/webkit2gtk
- Panel launch falls back to default browser if panel binary not found
- Restore panel binary in nfpm .deb package

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:55:29 +01:00
Axel Meyer
3f6b3c20e0 Fix .gitignore ignoring cmd/syncwarden directory
All checks were successful
Release / build (push) Successful in 1m9s
The pattern 'syncwarden' matched cmd/syncwarden/ too.
Anchor binary patterns to repo root with leading slash.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:33:47 +01:00
Axel Meyer
9f0780cc6a CI: add debug step to diagnose directory not found
Some checks failed
Release / build (push) Failing after 41s
2026-03-03 21:31:11 +01:00
Axel Meyer
50f1f3d758 CI: revert to act image, pin nfpm version to avoid Go toolchain switch
Some checks failed
Release / build (push) Failing after 42s
The golang:1.24 container lacks Node (needed by actions/checkout).
Pin nfpm to v2.41.1 to avoid go>=1.25 requirement that triggers
toolchain download and breaks the build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:28:03 +01:00
Axel Meyer
7dc277c9da CI: use golang:1.24 container instead of installing Go
Some checks failed
Release / build (push) Failing after 20s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:25:15 +01:00
Axel Meyer
0cae2407a9 Fix CI: remove CGO panel builds, match working pipeline pattern
Some checks failed
Release / build (push) Failing after 46s
The act runner doesn't have CGO/MinGW available by default. Ship tray +
setup binaries only (panel requires CGO cross-compile, deferred to later).
Also move apt-get install to the step that needs it (zip).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:20:11 +01:00
Axel Meyer
34a1a94502 Implement SyncWarden v0.1.0
Some checks failed
Release / build (push) Failing after 19s
Full Syncthing tray wrapper with:
- System tray with 5 icon states (idle/syncing/paused/error/disconnected)
- Syncthing REST API client with auto-discovered API key
- Long-polling event listener for real-time status
- Transfer rate monitoring, folder tracking, recent files, conflict counting
- Full context menu with folders, recent files, settings toggles
- Embedded admin panel binary (webview, requires CGO)
- OS notifications via beeep (per-event configurable)
- Syncthing process management with auto-restart
- Cross-platform installer with autostart
- CI pipeline for Linux (.deb + .tar.gz) and Windows (.zip)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:16:28 +01:00
Axel Meyer
2256df9dd7 Initial scaffold: project structure, .gitignore, go.mod 2026-03-03 21:07:31 +01:00