Releases: cuonggt/omassh
Release list
v0.16.0
The wheel scrolls the session in the main pane. It reached nothing there
before, and a wheel that reaches nothing is not harmless: unless an application
is asking the terminal for the mouse, a terminal sends arrow keys for a wheel
on the alternate screen — so scrolling a session answered with the commands you
last ran. It goes back through the session's own output now, three lines to a
notch, with ctrl+\ k and ctrl+\ j still paging a screen at a time and
anything typed still snapping back to the live view.
omassh has to ask the terminal for the mouse while a session has the keyboard
to be given the wheel at all, where before it left the mouse alone there. So
selecting text in a session with the mouse is now the terminal's own modifier —
shift in most of them, as it is under tmux.
Changelog
- ddaa7cb Scroll a session's output with the wheel, rather than typing arrows into it
v0.15.1
v0.15.0
The terminal's own colours. With no theme chosen, Omassh now draws in your
terminal's colours rather than a scheme of its own: its text colour, the sixteen
colours its scheme sets, and its own reverse video for the row under the
cursor. It looks like the rest of the terminal, reads on a light background as
well as a dark one — tokyonight's pale text was hard to make out on
Terminal.app's white — and changes when the terminal's scheme does. Form fields
and the search box follow the theme now too. tokyonight, gruvbox, nord and mono
are still under T, and a config that names one keeps it.
A palette of your own can use the terminal's colours as well: a number from 0
to 255, or default for its text colour, which as selected_bg means its own
highlight. Colours a palette leaves out now come from terminal rather than
tokyonight, so a palette that only changed its accent will look different.
Under the original Solarized Dark, whose grey is its background, dim text and
borders disappear; text_dim: 10 and border: 10 bring them back.
Stricter about colours in the config file. Every palette under themes: is
now checked at startup, not only the one in use, and a hex colour without its
quotes — which YAML reads as a comment, so it silently did nothing — is refused
with the quotes it needs. A config that loaded before can now stop omassh at
startup, with the line and what to write instead.
Changelog
- 0559548 Check every palette, and refuse a hex colour YAML read as a comment
- 7775336 Draw in the terminal's own colours unless a theme says otherwise
- 5dc6865 Hold the Linux jobs on Ubuntu 24.04, so moving on is a commit of its own
- 286cb6d Move the workflow to checkout and setup-go v7, off the retired Node 20
- e4fd673 Record the demo again, in the terminal's own colours
- d82e8a6 Stop the notes saying the host list reads ~/.ssh/config
v0.14.3
Changelog
- f84e7f5 Assert what tmux reliably reports about a killed tunnel, and no more
- 108fc3a Bring a key to the snippet smoke tests, rather than borrow one from ~/.ssh
- 5e9d0cb Call a tunnel that died on its own a failure, whatever tmux recorded
- 3681872 Correct what the notes say about buckets, the chokepoint, and the probe
- 1dfb8d5 Drop a stale sentence describing the rule it replaced
- e91a313 Record a demo that shows credentials and snippets, and a tape that reaches them
- 0f59514 Refuse a document that names the same credential twice
- 02a211f Run the suite on both platforms on every push, rather than by hand
- 18dfad0 Stop the suite assuming the machine it was written on
- d6c3da4 Wait for a dialog to go, rather than for what was always behind it
- 224d1a5 Wait for the browser's own keys, which a half-drawn frame cannot fake
v0.14.2
One thing the interface was saying wrong.
A host omassh could not reach at all reported exit 255 from a snippet run.
That is ssh's own failure status, not the script's, and it read as a script
that had run and failed on a machine the connection never got to. Such a host
now says it could not be reached, with ssh's own reason for it — refused,
timed out, key rejected — where the result was already shown.
unreachable · could not connect
ssh: connect to host 10.0.1.1 port 22: Connection refused
A script that genuinely exits non-zero is unchanged and still shows its status.
Changelog
v0.14.1
A fix for one thing 0.14.0 got wrong, on databases that have been in use for a
while.
Omassh had snippets once before, and that version called the script a
command. A database still holding a record shaped that way read it back as a
snippet with no script at all: a blank row in the list, a form that would not
save what it had been handed, and — the one that matters — an export writing
script: "" that omassh import then refused. Omassh turning down a file it
had just written itself.
The record now reads as the one-line snippet it always was, and saving it
writes it in the current shape, so the old field goes by being used rather than
by a migration nobody can see.
Nothing else changed. If your list has no snippets in it, 0.14.0 was already
fine.
Changelog
- e188c06 Read a snippet the older omassh wrote, which called the script a command
v0.14.0
Snippets. A script worth running again is typed once and given a name. S
lists them; ↵ runs one on the host in front of you, on a whole group, or on
any set you tick off, showing the script and asking before anything happens.
Results fill in a row per host as they arrive, four hosts at a time, and ↵ on
a row opens what that host said in full. esc stops a run and keeps what has
already come back.
A run allocates no terminal, so sudo asking for a password fails rather than
waits. p is the other half: it pastes a snippet into the session in the main
pane and stops there, for the things a run cannot do. Longer scripts are edited
in $EDITOR on ctrl+e.
Snippets travel through omassh export like everything else — the script
exactly as written, which is also the reason a password belongs in a credential
and never in a script.
Two fixes alongside it. A pane on a machine without tmux no longer prompts for
a password it had already been given, and a list carrying credentials or
snippets now tells an older omassh to upgrade instead of complaining about a
key it has never heard of.
Changelog
- 4e9dcd1 Add the snippet list, and give a script too long for a field to $EDITOR
- a532aaa Carry snippets between machines, and say so when a file needs a newer omassh
- 8f39796 Choose where a snippet runs, and read the results host by host
- ceb708d Deliver a paste as a paste, so a script does not run a line at a time
- 15e37bd Keep a script worth running again, so it is typed once
- c3bd219 Paste a snippet into the open session with p, for what a run cannot do
- 81384ed Press S at the real binary, and give $EDITOR a file that ends in a newline
- 4df0db1 Run a script across many hosts, a few at a time
- b9bd7f6 Run a script on a host over ssh, and keep what it said
- e41ddf1 Run the Linux half on Linux, rather than trusting a fake to agree
- b8ae01a Show what a snippet said, and let esc stop one that is still going
- 98c7ca6 Stop a pane without tmux from asking for a password it already has
- bd71da2 Write down what a snippet is, and what a run cannot do
v0.13.3
v0.13.2
Tests only. Nothing in omassh itself changed between v0.13.1 and this one — the binaries behave identically. What is new is a test that drives the built binary against a real SSH server in a terminal, which is the thing that would have caught the two bugs v0.13.1 fixed. Upgrading from v0.13.1 gains nothing, and staying on it misses nothing.
Changelog
- e0b80dd Test the program as it ships, not only the packages it is made of