Weekly release 2024.17

Testing release for the 17th week of 2024

Caveats

This is a pre-release, and is not as tested as a production build

  1. It may not always be easy and without manual steps to downgrade from a weekly build to the last stable. It will be possible to upgrade automatically to the next stable after a weekly.
  2. Weekly builds are more likely to contain bugs or regressions. They are unlikely to lose data, but do be cautious when running the bleeding edge.
  3. Weekly builds may contain functionality not yet in a production release. Please let us know what you think!

Download

You can download binaries here: Release · atuinsh/atuin@38ea770 · GitHub

Download, extract, and put atuin somewhere in your PATH.

Alternatively, run

cargo install --git https://github.com/atuinsh/atuin atuin --tag weekly

Changes

bf88b42c fix(dotfiles): unquote aliases before quoting (#1976)
8b884488 chore(deps): Fix ratatui update (#1975)
822593e7 fix(dotfiles): more fish alias import (#1974)
78c6a6a7 docs: fix "From source" `cd` command (#1973)
18f33b81 fix(dotfiles): fish alias import (#1972)
bbf83801 chore: add some more logging to handlers (#1971)
d239a67b fix(dotfiles): alias import with init output (#1970)
9ee1fb80 chore(deps): bump rustls from 0.21.10 to 0.21.11 in the cargo group (#1962)
98350f52 fix: support not-mac for default shell (#1960)
00dfc034 chore: fix atuin crate readme (#1959)
95cc4720 chore: move crates into crates/ dir (#1958)
176eae02 feat: show preview auto (#1804)
2fba4aae feat: allow ignoring failed commands (#1957)
cb199250 feat(gui): work on home page, sort state (#1956)
fcc0dc1b chore(deps): bump debian (#1947)
4fe15679 chore(deps): bump lukemathwalker/cargo-chef (#1948)
4f26963c feat(doctor): detect active preexec framework (#1955)
19f70cdc feat(server): add me endpoint (#1954)

Testing

Default shell detection

atuin doctor should now also show the default shell for Mac and Linux. For example

shell:
  name: zsh
  default: zsh
  plugins:
  - atuin
  preexec: built-in

I’m not 100% confident in this yet, so it would be great to confirm it’s working properly!

Alias importing

atuin dotfiles alias import should now import pre-existing aliases correctly. I’m going to be announcing more of the dotfiles stuff soon, so it would be great to check that it all works correctly on a variety of systems and setups

Otherwise, that’s it! Next week we should be syncing env vars and shell snippets too, and probably have a few other things alongside.

1 Like

atuin doctor is working for me as expected.

atuin dotfiles alias import seems to work for my Zsh with Oh-My-Zsh setup on both Arch Linux and NixOS systems correctly, too.

1 Like

Excellent! Thanks for confirming

Just a bit of feedback to the latest changes in commit 831dd783ed41b3922ac3be8e4a849ce99c5ca272 on refactor: preview_auto to use enum and different option.

The change is amazing. I keep the preview window box always visible and have Atuin in full-screen mode. With the strategy = static option in the [preview] table, the preview box remains statically sized so that when I scroll through the history results, the whole screen is not jumping up and down after every keystroke (no unnecessary flickering). Further, when changing between Directory, Global, etc. filter modes, the preview box gets resized only once. Meaning that when inside a project, the box is only as large as it needs to be for the current project.

From the UX point of view, this improves my comfort when using Atuin immensely, simply by not unnecessary straining my eyes from the constant full screen flickering caused by continuous resizing of the preview box. Great feature :heart:

I was thinking whether such behaviour could be achieved for when you type a query in the Atuin TUI, too. Right now, when I type, the preview box still gets resized. I am not sure when to resize the box (from which list of records to calculate the box size), however. Theoretically, there could be an option to resize only when changing filter modes, so that the box would always be as large as needed to show all records under the given filter mode? It can never grow too much with max_preview_height set to a reasonable number. Any thoughts?

Hmm, static is the behavior that was always available. This change added the auto strategy, so that the preview window is only shown, if the command is longer than the terminal width.

I am not sure why your screen would flicker, when the preview pane is displayed. Very strange.

This is how it looks for me:

preview_auto

(You might have to open the image in a new tab so that you can see it properly.)

This commit made me aware of the static behaviour. I presume I did not have it set correctly beforehand, then.

Aha, I see. With the search box and records at the top, this is not a problem. I have the search query box at the bottom, just above the preview box, with the records ordered from the bottom to the top. And when you scroll through the shown records, the preview box gets resized and consequently the search box and the records get pushed up/down as necessary. The same when you type a query.

Ah, I see what you mean. I have never used invert = false (except for maybe 60 seconds), thus I never noticed this behavior.
Before atuin I used the fzf ctrl-r binding and I liked the way it was setup. When I first used atuin I didn’t like its default and was extremely happy that there was the invert = true option.

The solution for invert = false would be to have the the preview section on top and keep it as is for invert = true.

I have to check how this can be accomplished, but maybe a ratatui expert beats me to it.

You are right that moving the preview to the top would also be a solution. Probably easier to implement with less unnecessary if branches and special case handling prone to errors.