- jellyfinProbe (/System/Info/Public, ProductName check) + reachabilityProbe (services with no health route).
- ServerUrlStatusText: compact resolver status for ListItem-row layouts.
- Streamystats + Marlin: resolve the URL on blur (https-first, http fallback) and store the canonical URL; inline status feedback.
Type a loose address (media.example.com, https://…, host:port) and the app finds the working, canonical URL.
- utils/serverUrl: generic candidate generator (https-first, port/path preserved, no Jellyfin-specific ports), parallel-probe resolver, numeric semver compare, and a Jellyseerr probe (/api/v1/status, min 2.0.0).
- useServerUrlResolver: idle -> resolving -> ok | error state machine with cancellation.
- ServerUrlField: shared input that auto-resolves on blur, inline status chip (tap to re-test) + resolved URL, persists the canonical URL.
- Jellyseerr settings adopt the field and log in with the resolved URL. Probe contract makes Streamystats/Jellyfin/Merlin a drop-in follow-up.