My original issue text here got hilariously out of date with the progression of this discussion. So I'm deleting it. To see the real deal info, read #127. Meantime, here's some of my revised sales pitch:
Each individual benefit might not seem like a lot, but I think it all adds up:
- Priority number one: make staying connected to late.sh as seamless and easy as possible!
- Users who, for whatever reason, idle through the 1hour k8s grace period will come back to their computer still connected (well, reconnected) to late.sh!
- If we do get strong ephemeral state support, upgrade reconnects could possibly happen more automatically than having the user go through pressing
q and r. But I still think q, r should seem at least a little friendlier than a full manual reconnect for most people, hopefully.
- Although I do not address it in this PR, the groundwork for reassociating music automatically is here.
- If for whatever reason we decide to keep late-cli on direct-ssh path, it can still benefit from some of the reconnect-awareness built here. But to be honest if we build the bastion correctly, I don't see any downside to routing everyone through it.
- Having late-ssh able to accept connections over WebSocket lays interesting groundwork for spectator mode in a vanilla webbrowser. I am hesitant to let users in for fully-interactive via the web because the barrier to entry is too low and so we get bad eggs. But who can tell the future? I can't.
- Although I stand by my suggestion to keep bastion as simple as possible (so it doesn't need upgrades), it does provide an interesting location to put BBS-style doorway experiences! It is possible we could have a two-hop bastion system: bastion 1 is super-stable-don't-mess-with-it edition, bastion 2 has room for more complex, possibly less stable doorway experiences. Just a thought, NOT something I recommend, I just point it out as a possibility.
- Possibility for some application-layer protocol-aware routing or late.sh "Fingerprint IdP" expansion in the future.
- Bastion on separate hardware = SSH decryption load can be eaten by droplet VMs while late-ssh "big papa" processes get to speak cleartext websocket. Small optimization win maybe, but it's there.
My original issue text here got hilariously out of date with the progression of this discussion. So I'm deleting it. To see the real deal info, read #127. Meantime, here's some of my revised sales pitch:
Each individual benefit might not seem like a lot, but I think it all adds up:
qandr. But I still thinkq,rshould seem at least a little friendlier than a full manual reconnect for most people, hopefully.