Skip to content

sshkeeper v0.3.0

Choose a tag to compare

@mirivlad mirivlad released this 18 Aug 10:37
· 6 commits to main since this release

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/sshkeeper

Verify 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.