Platform dispatcher + guardrails
Groundwork release for the cross-platform dashboard URL. No user-facing behavior change on macOS; Windows and Linux installers land in upcoming releases.
What is new under the hood
- Platform dispatcher.
setup-daemonnow routes to a platform-specific installer. macOS keeps the existing launchd path; Windows and Linux are stubbed with a clear "ships in an upcoming release" message. Unsupported platforms exit cleanly with thefile://fallback URL. - Concurrent install lock. A second
setup-daemoninvocation while one is in progress now aborts with a clear message instead of racing on the plist write and bootout sequence. - Extended port verification. Slow cold starts (first-login Mac, re-exec, future Windows/Linux launchers) get a ~16s budget before we print a failure message, so users no longer run
--uninstallmid-init and orphan port 24842. - Unified uninstall output.
--uninstalltracks what it actually deleted rather than printing contradictory "Nothing to remove" / "Deleted: …" lines. - Platform normalization. Casing drift (
darwin,Macintosh,MacOSX) is normalized so the dispatcher always routes correctly.
macOS upgrade path
Nothing to do. If you already run setup-daemon and your bookmarked URL is live, v5.3.1 preserves it — same port (24842), same plist (com.token-optimizer.dashboard), same log location.
Windows / Linux
setup-daemon prints a clear "coming soon" message for now. The dashboard file continues to regenerate automatically after every session; open it directly until the platform installer ships.