[v1.2.4] — 2026-11-08
Fixed
- Android remote mode could not connect while "Use HTTPS for GUI" was
enabled. The dialog only said "Could not connect", although the API key and
port were correct. The TLS handshake succeeds, but on some KOReader/Android
buildsssl.https.requestrejects the connection with "hostname does not
match certificate" even withverify="none": Syncthing's generated GUI
certificate has the CNsyncthing, never127.0.0.1. The request now builds
the TLS connection withssl.wrapand letssocket.httpparse the response,
skipping only the hostname check. This is safe because the URL is always
https://127.0.0.1:<port>; authentication stays the API key. - An http probe no longer "succeeds" through Syncthing's redirect. On a TLS
GUI, Syncthing answers plain http with307to https; following it could make
the http probe pass and save the wrong scheme. Redirects are no longer
followed. - A pasted API key with a trailing newline no longer breaks the request.
Whitespace is now stripped from the key (Syncthing answered such a request
with400).
Changed
- The "Could not connect" dialog now shows why, per scheme (for example
https: HTTP/1.1 403 Forbiddenorhttps: request failed: connection refused), and stays on screen longer.
Full Changelog: v1.2.3...v1.2.4