Features
- Automatic update checks: On startup OmnySSH checks GitHub Releases for a newer version and shows a popup when one is available. You can install the update, skip that version, or disable checks entirely. Failed or offline checks are silent and never delay startup.
- In-app self-update: For manual /
install.shinstalls on Linux and macOS, an update can be downloaded and installed from within the app — the release archive is verified against its SHA-256 checksum before the binary is replaced. Homebrew, Cargo, and Nix installs instead show the matching upgrade command. - Top processes on the detail page: The server detail view now shows the three busiest processes by CPU usage, along with their CPU and memory percentages.
Bug Fixes
- Windows double input fixed: Each keystroke is now registered once instead of twice (e.g. "j" no longer produced "jj"). Key-release events reported by the Windows console are no longer treated as input.
- Ubuntu 22.04 compatibility: Linux release binaries are now built against an older glibc, fixing the
version 'GLIBC_2.39' not founderror when running on Ubuntu 22.04 and similarly aged distributions. - Mouse scroll inside full-screen apps fixed: On the Terminal screen, the mouse wheel now scrolls inside
vim,less,htop, and other alternate-screen apps. The wheel is forwarded to the foreground application — as native mouse-wheel events when it enabled mouse reporting, or as cursor-key presses otherwise. The normal screen still scrolls local scrollback. - Multi-line paste into the terminal fixed: Bracketed paste is now implemented. Pasting multi-line text into the Terminal screen no longer drops the first characters, and editors like
viminsert it verbatim without cascading auto-indent. - Top processes exclude OmnySSH's own connection: The detail-page top-processes panel no longer lists OmnySSH's metric-polling SSH connection. Its
sshdprocess chain is filtered out by PID, so an idle server shows real workload while SSH sessions from other users still appear. - Bracketed paste restored after system SSH: Connecting to a host via the system
sshbinary no longer leaves bracketed paste disabled on return, so multi-line paste into the terminal keeps working. - Host keys are now verified: A server's host key is recorded in
~/.ssh/known_hostson first connection (trust on first use). A later key change — or an unreadableknown_hosts— refuses the connection instead of silently accepting an unverified key. - Password authentication reliably disabled: Auto SSH Key Setup now adds the
PasswordAuthentication,UsePAM, and challenge/keyboard-interactive directives whensshd_configomits them, so password login is disabled even on configs that previously relied on compiled-in defaults. - System SSH launch failure no longer quits the app: If the
sshbinary cannot be started, OmnySSH restores the TUI and reports the error in the status bar instead of exiting. - Remote command exit status honoured: SSH command execution now exposes a non-zero remote exit status; the key-setup sudo check uses it to detect missing sudo access correctly.
Other
- Release archives are now published alongside a
SHA256SUMSchecksum file. - Internal refactor: The oversized
app.rswas split into focused submodules undersrc/app/(host, snippets, file manager, terminal, update, input, and action dispatch). This is a pure code reorganization with no change in behaviour. - Test coverage: Added unit tests for previously untested core logic — snippet parameter substitution, host/snippet form validation, the SSH-config/manual host merge,
hosts.tomlserialization, form-field UTF-8 editing, host/snippet filtering and sorting, file-panel selection, and terminal pane state.