Commit Graph

1144 Commits

Author SHA1 Message Date
Ellie Huxtable
0da534d524
fix: add incremental rebuild to daemon loop (#2010) 2024-05-08 17:28:52 +01:00
Ellie Huxtable
7067720057
fix: add protobuf compiler to docker image (#2009) 2024-05-08 14:14:51 +01:00
Ellie Huxtable
bce0faa1c2
feat: add background daemon (#2006)
* init daemon crate

* wip

* minimal functioning daemon, needs cleanup for sure

* better errors

* add signal cleanup

* logging

* things

* add sync worker

* move daemon crate

* 30s -> 5mins

* make clippy happy

* fix stuff maybe?

* fmt

* trim packages

* rate limit fix

* more protoc huh

* this makes no sense, why linux why

* can it install literally just curl

* windows in ci is slow, and all the newer things will not work there. disable the daemon feature and it will build

* add daemon feature

* maybe this

* ok wut where is protoc

* try setting protoc

* hm

* try copying protoc

* remove optional

* add cross config

* idk nix

* does nix want this?

* some random pkg I found does this

* uh oh

* hack, be gone!

* update contributing
2024-05-08 12:09:04 +01:00
Helmut K. C. Tessarek
eebfd04879
fix(config): add quotes for strategy value in comment (#1993) 2024-05-06 08:31:23 +01:00
Poliorcetics
467b575007
fix: adapt help to enter_accept config (#2001) 2024-05-06 08:14:51 +01:00
Ellie Huxtable
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
dependabot[bot]
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
dependabot[bot]
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
dependabot[bot]
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
Ellie Huxtable
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
Helmut K. C. Tessarek
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
github-actions[bot]
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
Ellie Huxtable
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
Ellie Huxtable
cea48a1545
feat(ui/dotfiles): add vars (#1989) 2024-04-29 14:59:59 +01:00
dependabot[bot]
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
dependabot[bot]
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
dependabot[bot]
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
Poliorcetics
36ddd98b6e
perf(nushell): use version.(major|minor|patch) if available (#1963) 2024-04-26 12:30:06 +01:00
dependabot[bot]
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
Ellie Huxtable
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
Ellie Huxtable
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
Ellie Huxtable
38ea7706a0
fix(ci): release workflow (#1978) 2024-04-24 16:45:35 +01:00
Ellie Huxtable
bf88b42cec
fix(dotfiles): unquote aliases before quoting (#1976)
* fix(dotfiles): unquote aliases before quoting

* tests
2024-04-23 14:45:07 +01:00
Tobias Genannt
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
Ellie Huxtable
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
Richard de Boer
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
Ellie Huxtable
18f33b81f6
fix(dotfiles): fish alias import (#1972) 2024-04-22 14:27:38 +01:00
Ellie Huxtable
bbf83801e6
chore: add some more logging to handlers (#1971) 2024-04-22 10:37:16 +01:00
Ellie Huxtable
d239a67b37
fix(dotfiles): alias import with init output (#1970) 2024-04-22 10:32:56 +01:00
dependabot[bot]
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
Ellie Huxtable
98350f52df
fix: support not-mac for default shell (#1960) 2024-04-19 09:58:25 +01:00
Ellie Huxtable
00dfc034ed
chore: fix atuin crate readme (#1959) 2024-04-18 16:42:47 +01:00
Ellie Huxtable
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
Helmut K. C. Tessarek
176eae02f7
feat: show preview auto (#1804)
* feat: show preview auto

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

* cleanup
2024-04-18 08:18:15 +01:00
Ellie Huxtable
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
dependabot[bot]
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
dependabot[bot]
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
Koichi Murase
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
Ellie Huxtable
19f70cdc91
feat(server): add me endpoint (#1954) 2024-04-16 15:59:11 +01:00
Ellie Huxtable
a0231a7095
chore(release): prepare for release v18.2.0 (#1950)
* chore(release): prepare for release v18.2.0

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

* also fix workspace
2024-04-11 17:06:37 +01:00
Ellie Huxtable
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
Koichi Murase
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
Ellie Huxtable
7ced31c354
feat(dotfiles): add alias import (#1938)
* feat(dotfiles): add alias import

* things

* clippy clappy
2024-04-10 13:01:48 +01:00
dependabot[bot]
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
Koichi Murase
05becf9255
docs(bash-preexec): describe the limitation of missing commands (#1937) 2024-04-09 12:41:31 +01:00
YummyOreo
c384179814
feat: prevents stderr from going to the screen (#1933) 2024-04-09 08:52:06 +01:00