v2.5.13
A follow-up to v2.5.12: the plugin could still fail to find the desktop app when the default ports were busy, because the app silently fell back to a random OS port no scan range could ever reach.
Fixed
- The desktop app bound a random port when 14285-14289 were occupied, so the plugin could never find it. The local plugin HTTP server tried the five default ports (14285-14289) and, if all were taken, asked the OS for any free port -- which lands in the 49152+ ephemeral range, far outside any Daemon Port Scan Range the Studio plugin can be set to. The app looked healthy but the plugin reported "No desktop app found" forever. This commonly happened when a previous instance didn't shut down cleanly and was still holding a port. The server now increments up through 14320 instead of going random, so it always lands on a port the plugin can reach; if every port in 14285-14320 is busy it fails loudly instead of going dark. The desktop app also detects which process is squatting on the default ports (via the Windows TCP table on Windows,
lsofon macOS/Linux) and shows a banner naming it and telling the user exactly which port to widen the plugin's Daemon Port Scan Range to.