- Start: WinSW's NetX.out.log/err.log in data\runtime are the same files as
start_netx.ps1's netx.out.log (case-insensitive) and stay open, so NetX
could not truncate its log and every start failed. WinSW logs now go to
data\runtime\service.
- Stop: nothing told the service_run.ps1 supervisor to exit, so it kept
restarting NetX and WinSW waited forever. stop_netx_app.ps1 writes the
service.stop flag (-KeepSupervisor for the supervisor's own restarts),
service_run checks it every second, and runtime_ctl / service_lifecycle
write it before stopping the service.
- WinSW launched powershell.exe as stop hook never reached the script
(stuck on inherited std handles); run it via cmd with NUL stdin and output
to data\runtime\service\stopexec.log. stop_netx_app.ps1 keeps a
timestamped trace there.
Offline Windows Sandbox: service install -> healthy in 28s, stop in 20s.
Existing service installs need "install service" re-run to pick this up.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Choose bundled or external PostgreSQL in the Setup wizard with connection
validation; optional NETX_CREDENTIAL_SECRET_KEY; single desktop shortcut;
faster uninstall and tray startup for offline Windows packages.
Co-authored-by: Cursor <cursoragent@cursor.com>
Chinese packaging scripts without BOM were misread as ANSI and failed at first-run.
Document that bundled Python 3.13+ needs Server 2016+ / Win10+.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship installable releases via zip/Inno Setup with optional bundled Postgres, API-hosted SPA, manual update path, and CI workflow for future tag builds.
Co-authored-by: Cursor <cursoragent@cursor.com>