v1.0.2
Windows becomes a first-class home, and battery cameras get a fix they will feel.
Added
- Run everything on one Windows PC. The installer gained a checkbox: tick it and the full server installs alongside the desktop app as a Windows service - starts with Windows, records your cameras 24/7 whether anyone is signed in, keeps config and footage under C:\ProgramData\Neolink.NET, and opens the firewall to your local subnet only. The web UI's Restart button restarts the service, and the same recovery brings it back from a crash. Step-by-step guide with screenshots: docs/windows-install.md.
- A one-command demo.
docker run --rm -p 8655:8655 ghcr.io/borexola/neolink.net:latest --demoruns the whole product against four synthetic cameras - live video, detections, seeded history, timeline - with nothing saved and a self-resetting world. Safe to host as a public try-it instance (accounts are disabled in demo mode). - The desktop app keeps a server list. Switch between saved servers with a double-click, add new ones, remove one with a confirmation - credentials stay DPAPI-encrypted.
Fixed
- UDP battery cameras on Windows hosts stop losing to Hyper-V. Wake probes and UDP connects bound their local port inside a band that Hyper-V/Docker port exclusions can swallow almost entirely, and every miss was silent - awake cameras reported asleep at whatever rate the exclusions dictated. Binding now falls back to the OS's ephemeral allocator. If your battery camera's wake capture felt unreliable on a Docker/Hyper-V machine, this is why.
- Refreshing the page now checks for updates instead of waiting out the daily timer (throttled to one GitHub call per six hours).
- Desktop dialogs no longer clip on 125%/150% display scaling, and every button sizes to its text.
- The empty camera wall points at Server settings (the gear icon) instead of telling you to edit config.json - in all seven languages.
Also: the README slimmed down into focused guides (Docker, Recording, Troubleshooting, Windows install) and wears a fresh, consistent screenshot set from the demo world.
Full detail: CHANGELOG.md