Commit Graph

1039 Commits

Author SHA1 Message Date
754ddeaa8d feat(ui): scroll history infinitely (#1999)
* wip, history scrolls right!

* wip

* virtual scroll fucking worksssss

* paging works :)

* scroll search results now too
2024-05-06 08:11:47 +01:00
851e581e16 chore(deps): bump serde_with from 3.7.0 to 3.8.1 (#2002)
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.7.0 to 3.8.1.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.7.0...v3.8.1)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 08:09:55 +01:00
dd751873d5 chore(deps): bump serde_json from 1.0.115 to 1.0.116 (#2003)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.115 to 1.0.116.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.115...v1.0.116)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 08:09:24 +01:00
100f5136fb chore(deps): bump lukemathwalker/cargo-chef (#2004)
Bumps lukemathwalker/cargo-chef from latest-rust-1.77.2-buster to latest-rust-1.78.0-buster.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 08:09:08 +01:00
0639ff4960 fix(dotfiles): allow clearing aliases, disable import (#1995)
* fix(dotfiles): allow clearing aliases, disable import

At the moment there are far too many edge cases to handle importing
aliases.

1. We need an interactive shell to print aliases. Without it, most
   shells won't report much.
2. Many people have their shells print things on startup (graphics,
   fortunes, etc). This could be detected as an attempt to set an alias.

 Rather than spend the next year finding import edge cases, I'm
 disabling it for now. There's probably a better way we can do this?

* clippy
2024-05-02 16:53:38 +01:00
831dd783ed refactor: preview_auto to use enum and different option (#1991)
* refactor: preview_auto to use enum and different option

* fix: typo
2024-05-01 10:51:22 +01:00
282e39d39f chore(deps): flake.lock: Update (#1992)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d?narHash=sha256-9slQ609YqT9bT/MNX9%2B5k5jltL9zgpn36DpFB7TkttM%3D' (2024-03-29)
  → 'github:NixOS/nixpkgs/cf8cc1201be8bc71b7cbbbdaf349b22f4f99c7ae?narHash=sha256-yNAevSKF4krRWacmLUsLK7D7PlfuY3zF0lYnGYNi9vQ%3D' (2024-04-28)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-01 10:47:24 +01:00
d1ce01679b feat(history): create atuin-history, add stats to it (#1990)
* feat(history): create atuin-history, add stats to it

I'd like to eventually pull all the history stuff into this crate. Stats
are a nice start, as I'd like to use them from the UI anyways.

* lock

* clippy
2024-04-30 13:16:50 +01:00
cea48a1545 feat(ui/dotfiles): add vars (#1989) 2024-04-29 14:59:59 +01:00
150bcb8eb8 chore(deps): bump rustix from 0.38.32 to 0.38.34 (#1986)
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.32 to 0.38.34.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.32...v0.38.34)

---
updated-dependencies:
- dependency-name: rustix
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 08:34:00 +01:00
8363b0c870 chore(deps): bump unicode-width from 0.1.11 to 0.1.12 (#1987)
Bumps [unicode-width](https://github.com/unicode-rs/unicode-width) from 0.1.11 to 0.1.12.
- [Commits](https://github.com/unicode-rs/unicode-width/compare/v0.1.11...v0.1.12)

---
updated-dependencies:
- dependency-name: unicode-width
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 08:33:48 +01:00
7a3a18c0ba chore(deps): bump debian (#1988)
Bumps debian from bullseye-20240408-slim to bullseye-20240423-slim.

---
updated-dependencies:
- dependency-name: debian
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 08:33:29 +01:00
36ddd98b6e perf(nushell): use version.(major|minor|patch) if available (#1963) 2024-04-26 12:30:06 +01:00
a5e9c27e74 chore(deps): bump typed-builder from 0.18.1 to 0.18.2 (#1967)
Bumps [typed-builder](https://github.com/idanarye/rust-typed-builder) from 0.18.1 to 0.18.2.
- [Changelog](https://github.com/idanarye/rust-typed-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/idanarye/rust-typed-builder/commits)

---
updated-dependencies:
- dependency-name: typed-builder
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-26 12:18:53 +01:00
fc5522f45e chore: add some more debug logs (#1979)
P99 is usually <100ms which is excellent, but occasionally has big
spikes to 1000ms. This is only on the record index.

I don't want this to get out of hand. I've ran a few test queries and
they all complete very fast, and are purely index scans.

Hopefully this helps figure out if it's a specific user with tonnes of
stores or something? Otherwise there could be something up with my db.

I should probably also figure out some proper log levels or tracing lol.
2024-04-25 10:42:04 +01:00
d020c815c1 feat(dotfiles): support syncing shell/env vars (#1977)
There's a bunch of duplication here!

I'd also like to support syncing shell "snippets", aka just bits of
shell config that don't fit into the structure here. Potentially special
handling for PATH too.

Rather than come up with some abstraction in the beginning, which
inevitably will not fit future uses, I'm duplicating code _for now_.

Once all the functionality is there, I can tidy things up and sort a
proper abstraction out.

Something in atuin-client for map/list style synced structures would
probably work best.
2024-04-25 07:52:23 +01:00
38ea7706a0 fix(ci): release workflow (#1978) 2024-04-24 16:45:35 +01:00
bf88b42cec fix(dotfiles): unquote aliases before quoting (#1976)
* fix(dotfiles): unquote aliases before quoting

* tests
2024-04-23 14:45:07 +01:00
8b8844887b chore(deps): Fix ratatui update (#1975)
* chore(deps): bump ratatui from 0.25.0 to 0.26.2

Bumps [ratatui](https://github.com/ratatui-org/ratatui) from 0.25.0 to 0.26.2.
- [Release notes](https://github.com/ratatui-org/ratatui/releases)
- [Changelog](https://github.com/ratatui-org/ratatui/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ratatui-org/ratatui/compare/v0.25.0...v0.26.2)

---
updated-dependencies:
- dependency-name: ratatui
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix build with ratatuin 0.26.2

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 20:22:11 +01:00
822593e77b fix(dotfiles): more fish alias import (#1974)
Serves me right for assuming fish mostly is POSIX.
2024-04-22 17:37:07 +01:00
78c6a6a7f0 docs: fix "From source" cd command (#1973)
`atuin` was moved into the `crates/` directory in 95cc4720
2024-04-22 15:46:51 +01:00
18f33b81f6 fix(dotfiles): fish alias import (#1972) 2024-04-22 14:27:38 +01:00
bbf83801e6 chore: add some more logging to handlers (#1971) 2024-04-22 10:37:16 +01:00
d239a67b37 fix(dotfiles): alias import with init output (#1970) 2024-04-22 10:32:56 +01:00
9ee1fb809f chore(deps): bump rustls from 0.21.10 to 0.21.11 in the cargo group (#1962)
Bumps the cargo group with 1 update: [rustls](https://github.com/rustls/rustls).


Updates `rustls` from 0.21.10 to 0.21.11
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.21.10...v/0.21.11)

---
updated-dependencies:
- dependency-name: rustls
  dependency-type: direct:production
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-21 11:41:59 +01:00
98350f52df fix: support not-mac for default shell (#1960) 2024-04-19 09:58:25 +01:00
00dfc034ed chore: fix atuin crate readme (#1959) 2024-04-18 16:42:47 +01:00
95cc472037 chore: move crates into crates/ dir (#1958)
I'd like to tidy up the root a little, and it's nice to have all the
rust crates in one place
2024-04-18 16:41:28 +01:00
176eae02f7 feat: show preview auto (#1804)
* feat: show preview auto

* refactor: preview_auto
2024-04-18 16:16:54 +01:00
2fba4aae93 feat: allow ignoring failed commands (#1957)
* feat: allow ignoring failed commands

* cleanup
2024-04-18 08:18:15 +01:00
cb19925011 feat(gui): work on home page, sort state (#1956)
1. Start on a home page, can sort onboarding/etc from there
2. Introduce zustand for state management. It's nice!

Did a production build and clicked around for a while. Memory usage
seems nice and chill.
2024-04-17 14:06:05 +01:00
fcc0dc1bd5 chore(deps): bump debian (#1947)
Bumps debian from bullseye-20240211-slim to bullseye-20240408-slim.

---
updated-dependencies:
- dependency-name: debian
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-17 13:56:38 +01:00
4fe15679af chore(deps): bump lukemathwalker/cargo-chef (#1948)
Bumps lukemathwalker/cargo-chef from latest-rust-1.77.1-buster to latest-rust-1.77.2-buster.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-17 13:56:26 +01:00
4f26963c99 feat(doctor): detect active preexec framework (#1955)
* feat(doctor): check active preexec framework

To check if "blesh" or "bash-preexec" is loaded and active in the
current Bash session where `atuin doctor` is called, we make the Atuin
integration script for Bash to set the environment variable
`ATUIN_PREEXEC_BACKEND` and store a string when it detects "blesh" or
"bash-preexec".

To check whether the obtained ATUIN_PREEXEC_BACKEND is set by the
current session, we record SHLVL in ATUIN_PREEXEC_BACKEND and check if
it matches SHLVL of the current process.

* feat(doctor): detect the case where Atuin is initialized before blesh
2024-04-17 13:56:07 +01:00
19f70cdc91 feat(server): add me endpoint (#1954) 2024-04-16 15:59:11 +01:00
a0231a7095 chore(release): prepare for release v18.2.0 (#1950)
* chore(release): prepare for release v18.2.0

* disable codespell for the changelog
v18.2.0
2024-04-15 10:37:28 +01:00
50a73f0552 docs: add missing cli help text (#1945) 2024-04-15 08:33:26 +01:00
c41998e98a fix: use spawn_blocking for file access during async context (#1936) 2024-04-12 10:40:14 +01:00
d434d4e8b7 chore(gui): cargo update (#1943)
* chore(gui): cargo update

* also fix workspace
2024-04-11 17:06:37 +01:00
6cd4319fcf feat(gui): add base structure (#1935)
* initial

* ui things

* cargo

* update, add history refresh button

* history page a bit better, add initial dotfiles page

* re-org layout

* bye squigglies

* add dotfiles ui, show aliases

* add default shell detection

* put stats in a little drawer, alias import changes

* use new table for aliases, add alias deleting

* support adding aliases

* close drawer when added, no alias autocomplete

* clippy, format

* attempt to ensure gdk is installed ok

* sudo

* no linux things on mac ffs

* I forgot we build for windows too... end of day

* remove tauri backend from workspace
2024-04-11 16:59:01 +01:00
0da8d34425 feat(bash/blesh): use _ble_exec_time_ata for duration even in bash < 5 (#1940)
Bash < 5.0 doesn't support the high-resolution clock EPOCHREALTIME, so
ble.sh uses the builtin command `time` to measure the execution times
in Bash < 5.0.  This has a lower resolution of milliseconds but still
more accurate than Atuin's measurent because Atuin's measurement
includes the spawn cost of Atuin, which is typically larger than a
millisecond.

Reported-by: Georgios Vlassis <https://github.com/gvlassis>
Reference: https://github.com/atuinsh/atuin/pull/1484#issuecomment-2047068582
2024-04-10 13:02:47 +01:00
7ced31c354 feat(dotfiles): add alias import (#1938)
* feat(dotfiles): add alias import

* things

* clippy clappy
2024-04-10 13:01:48 +01:00
0ab9f4d9ff chore(deps): bump lukemathwalker/cargo-chef (#1929)
Bumps lukemathwalker/cargo-chef from latest-rust-1.77.0-buster to latest-rust-1.77.1-buster.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-09 14:21:27 +01:00
05becf9255 docs(bash-preexec): describe the limitation of missing commands (#1937) 2024-04-09 12:41:31 +01:00
c384179814 feat: prevents stderr from going to the screen (#1933) 2024-04-09 08:52:06 +01:00
3f80a9fca4 docs: add install instructions for cave/exherbo linux in README.md (#1927) 2024-04-08 13:12:37 +01:00
426ca5de3e fix(bash): do not use "return" to cancel initialization (#1928)
We have introduced initialization guards in #1533 [1], where `return
0` was used to cancel the initialization.  However, this cancels the
processing of the caller (which is typically `~/.bashrc`) instead of
just canceling Atuin's initialization.  In this patch, we avoid using
`return 0`.  Instead, we enclose the main part of the initialization
in a big if-statement.

[1] https://github.com/atuinsh/atuin/pull/1533
2024-04-08 13:03:07 +01:00
28084a0963 chore(deps): bump regex from 1.10.3 to 1.10.4 (#1930)
Bumps [regex](https://github.com/rust-lang/regex) from 1.10.3 to 1.10.4.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.10.3...1.10.4)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 13:02:08 +01:00
28b0b490f9 chore(ci): Add codespell support (config, workflow) and make it fix some typos (#1916)
* Add github action to codespell main on push and PRs

* Add rudimentary codespell config

* ignore crate, inbetween etc

* [DATALAD RUNCMD] run codespell throughout fixing typo automagically but ignoring the failure due to ambigous typos

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w || :",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^

* [DATALAD RUNCMD] Do interactive fixing of  leftover ambigous typos

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w -i 3 -C 2",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^
2024-04-05 15:51:57 +01:00
894eaa6faf perf(dotfiles): cache aliases and read straight from file (#1918)
* cache aliases when set locally

* handle rebuild on sync and tidy things a bit

* support all shells except nu

* make clippy happy

* fmt

* fix for no features
2024-04-03 10:19:24 +01:00