mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-09-13 05:37:28 -04:00
The node gates the shell on its security.admin_key list - the same list the remote-admin passkey exchange goes through - so opening a shell on a node that has not authorized this phone got no reply at all. Remote Shell now has its own section rather than sitting under Administration, and runs that check itself: the row stays enabled, tapping it ensures the session and then opens the terminal. Previously the session was only ever established as a side effect of visiting the remote-admin screen, so the user had to know to go there first. Also: openRemoteAdmin and openRemoteShell share one ensureSessionThenNavigate helper, and the ViewModel now gives up on OPEN after 20 s instead of sitting in OPENING forever, naming the admin-key requirement when it does. Verified against meshtasticd: from a node with no session, one tap establishes the session and lands on a live prompt; with the node stopped, the watchdog reports 'Session failed' with a Reconnect action.