mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-19 00:56:16 +00:00
The most common misconfiguration on install-on-speaker setups is an HTTP server URL that omits the port (e.g. http://192.0.2.1 instead of http://192.0.2.1:8000). Port 80 is occupied by the Bose firmware's PtsServer, so AfterTouch binds its default port 8000 — but the margeURL pushed to speakers still resolves to port 80 and hits PtsServer instead of AfterTouch. Marge calls are silently dropped, sources are never registered, and TuneIn playback fails with error 1005 (UNKNOWN_SOURCE_ERROR). See issue #319. Changes: - pkg/service/health/checks_server_url.go — new health check (server_url_reachable) that probes GET {serverURL}/setup/version from inside the service; emits SeverityWarning with remediation steps when the endpoint is not reachable or returns non-200. - pkg/service/handlers/server.go — register the new check in NewServer. - cmd/soundtouch-service/main.go — replace http.ListenAndServe with an explicit net.Listen so the true effective port is logged before TLS starts. Both HTTP and HTTPS log lines now show the listener's actual bound address alongside the configured server URL: Go service listening on 0.0.0.0:8000 (server URL: http://192.0.2.1) Previously only the server URL was logged, creating the false impression that AfterTouch had bound that URL's implicit port. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>