I’ve checked the app settings and found nothing on there. Any way to keep the sessions alive?
Supporting mosh, which has already been requested here, is the best way to do this as far as I know.
Mosh is licensed under the GPL, which means I would need to make Textastic's source code publicly available which I don't want to do at the moment.
That makes perfect sense, I hadn’t realized that. There’s also autossh (unsure about the license, but I found this) and Eternal Terminal, under the Apache license. They might be even better than mosh due to their support for keeping tunnels alive. I don’t yet have any personal experience with either, though. I just found out about them, shortly after posting the above suggestion.
Textastic already starts a background task when you switch to another app which should keep the connection alive for about 30 seconds on iOS 13 (on previous iOS versions, the OS granted longer background execution times).
Other apps solve this by using background location tracking - this API is primarily meant for navigation apps, so they can provide turn-by-turn instructions in the background. But, apps like Prompt and Working Copy ("mis-")use it as a "connection keeper" feature that gives you a history of locations where you connected to remote servers with the side effect of keeping your connections alive.
On iPad you can also put two apps side by side or in a slide over window to keep Textastic running.
Thanks for the info!
Maybe use the background music feature of ios. You could play a 2-5 minute timer clicking sound which alerts the user when the session is about to expire and also allowing Textastic to run in the background for a longer amount of time.
Customer support service by UserEcho