087b2230c4
Users pasting a Tailscale IP or LAN host as 'host:port' (no http://) hit either a hard 'URL is not valid' error in the main process or, worse, a silent dead probe in the renderer: the ^https?:// gates in the settings and first-run forms never fired, so the field sat idle with no feedback. - normalizeRemoteBaseUrl() (electron/connection-config.ts) now prepends http:// when the input has no scheme:// prefix; explicit non-http schemes (ws://, ftp://) still reach the protocol check and get a clear rejection. - New renderer twin coerceRemoteUrlScheme() (src/lib/remote-url.ts), wired into both probe gates (gateway-settings.tsx and first-run-remote-form.tsx) so the debounced /api/status probe, sign-in, test, and save all see the coerced URL. - Tests for both sides (electron/connection-config.test.ts, src/lib/remote-url.test.ts).