MyTerm v0.39
Fixes control being handed straight back on a tablet, and adds a diagnostics log you can send in when something goes wrong.
Control survives a resync
Asking for control could return it immediately. A gap in the terminal output, or a burst larger than the buffer had room for, resynchronised the screen, and that path gave up the lease outright. Applying the fresh screen did not restore it, so control had to be asked for again, which resized the terminal, which made a program drawing the whole screen repaint, which produced the next gap. With the same pane open on the Mac at a different size, that loop kept going.
The lease is now kept through a resync. Input is still suspended while the screen is stale, and control returns with the fresh screen. A lease that genuinely expired while the screen was catching up is given up rather than used, and renewal after a resync accounts for how much of the lease is left.
Diagnostics
A new Diagnostics screen under Settings, off until you turn it on. It records connections, drops and their reason, reconnect attempts, terminal attachments, output gaps and control changes, and shares them as a file.
It never records what a terminal shows or anything you type. Identifiers are written as short prefixes, entries are kept to a bounded size on the device, and nothing leaves the device unless you share it.
Install
brew install --cask gordonbeeming/tap/mytermApple silicon only.