You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/cmd/tsconnect
Mihai Parparita 9a2171e4ea cmd/tsconnect: make terminal resizable
Makes the terminal container DOM node as large as the window (except for
the header) via flexbox. The xterm.js terminal is then sized to fit via
xterm-addon-fit. Once we have a computed rows/columns size, and we can
tell the SSH session of the computed size.

Required introducing an IPNSSHSession type to allow the JS to control
the SSH session once opened. That alse allows us to programatically
close it, which we do when the user closes the window with the session
still active.

I initially wanted to open the terminal in a new window instead (so that
it could be resizable independently of the main window), but xterm.js
does not appear to work well in that mode (possibly because it adds an
IntersectionObserver to pause rendering when the window is not visible,
and it ends up doing that when the parent window is hidden -- see
xtermjs/xterm.js@87dca56dee)

Fixes #5150

Signed-off-by: Mihai Parparita <mihai@tailscale.com>
2 years ago
..
dist cmd/tsconnect: initial scaffolding for Tailscale Connect browser client 2 years ago
src cmd/tsconnect: make terminal resizable 2 years ago
wasm cmd/tsconnect: make terminal resizable 2 years ago
.gitignore cmd/tsconnect: initial scaffolding for Tailscale Connect browser client 2 years ago
build.go cmd/tsconnect: lint during build step 2 years ago
common.go cmd/tsconnect: lint during build step 2 years ago
dev.go cmd/tsconnect: initial scaffolding for Tailscale Connect browser client 2 years ago
index.html cmd/tsconnect: make terminal resizable 2 years ago
package.json cmd/tsconnect: make terminal resizable 2 years ago
serve.go cmd/tsconnect: switch to TypeScript 2 years ago
tailwind.config.js cmd/tsconnect: add Tailwind CSS support and switch to using it 2 years ago
tsconfig.json cmd/tsconnect: switch to TypeScript 2 years ago
tsconnect.go all: gofmt for Go 1.19 2 years ago
yarn.lock cmd/tsconnect: make terminal resizable 2 years ago