sshkeeper v0.3.0
sshkeeper v0.3.0 brings every TUI screen up to the standard of the server
dashboard, and moves full help off F1.
Changed key binding
Ctrl+H now opens full help. F1 no longer has any binding. ? still
opens contextual quick help outside text editors.
Ctrl+H is the BS control character (0x08). xterm and most modern emulators
send DEL (0x7F) for Backspace, so help and text editing do not collide. A
terminal configured to send BS for Backspace cannot tell the two apart; switch
it to DEL (in xterm, backarrowKey: false).
Unified screen shell
Every full-screen state now shares one vertical contract: a header with
breadcrumb and truthful vault status, a separator, framed content panels, and a
contextual footer anchored to the last terminal row. Screens no longer render
free-form strings or the default Bubbles list frame.
- Actions, help, search, tag input and confirmations render inside the shell.
- Port forward manager and editor use framed, width-budgeted layouts; column
widths derive from panel inner width, so no row consumes the last column. - Tag, command template, template picker/mode/results and tunnel managers use
framed lists with a>selection marker that does not rely on colour alone. - Server and template editors use a framed form panel with the title moved into
the breadcrumb; required markers, validation and dirty-state confirmation are
unchanged.
Responsive layouts
Supported floor is 60x16. Wide (100+ columns) shows two panels, medium
(70-99) stacks them, narrow (60-69) keeps a single compact panel. Below the
floor only the minimum-size message renders. Long ASCII, Cyrillic, CJK,
combining and emoji content truncates by display cells.
Safety and correctness
- Destructive actions confirm with Cancel selected first, naming the exact
target and its consequence. - Status and help context stay truthful to actual vault and connection state.
- Port forward fields accept digits correctly.
- Form validation and edit protection prevent silent loss of changes.
Verification
go test ./... and go vet ./... pass. Layout coverage renders every value of
the screen enum at 120x40, 80x24 and 60x16 and asserts ANSI-aware display
width, exact height, border presence and bottom-anchored footer. Runtime checks
in a real xterm confirm Ctrl+H opens help while Backspace still edits text.
Install
tar -xzf sshkeeper_v0.3.0_linux_amd64.tar.gz
sudo install -m 0755 sshkeeper_v0.3.0_linux_amd64/sshkeeper /usr/local/bin/sshkeeperVerify downloads against checksums.txt. Linux and macOS are the primary
release targets; Windows is experimental.
Known issue
sshkeeper forward add cannot be used from the CLI: the --local-port option
was never registered on the command, so every invocation fails with
invalid local port 0. This also affects v0.2.0. Port forwards can be managed
from the TUI (Ctrl+W) in the meantime.