Files
James Rich bd9de9396d feat(remote-shell): own section that runs its own session check
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.
2026-08-24 15:15:51 -05:00
..