fix: use screen for reconnecting terminal sessions on Linux if available (#8640)

* Add screen backend for reconnecting ptys

The screen portion is a port from wsep.  There is an interface that lets
you choose between screen and the previous method.  By default it will
choose screen if it is installed but this can be overidden (mostly for
tests).

The tests use a scanner instead of a reader now because the reader will
loop infinitely at the end of a stream.

Replace /bin/bash with bash since bash is not always in /bin.

* Remove connection_id from reconnecting PTY logger

This serves multiple connections so it makes no sense to scope it to a
single connection.

Also lets us use "connection_id" when logging write errors instead of
"other_conn_id".

* Use PATH to test buffered reconnecting pty
This commit is contained in:
Asher
2023-08-14 11:19:13 -08:00
committed by GitHub
parent 878315dcaf
commit b993cab49a
9 changed files with 1100 additions and 321 deletions
+1
View File
@@ -44,6 +44,7 @@
postgresql
protoc-gen-go
ripgrep
screen
shellcheck
shfmt
sqlc