aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client/src (follow)
Commit message (Collapse)AuthorAge
* fix(api): Allow trailing slashes in sync_address (#2760)Michelle Tilley2025-05-21
|
* FormattingMichelle Tilley2025-05-14
|
* fix: clarify that HISTFILE, if used, must be exported (#2758)Corey Kosak2025-05-14
|
* chore: Allow setting script DB path (#2750)Michelle Tilley2025-05-13
| | | | | * chore: Allow setting script DB path * Rename scripts.database_path setting to scripts.db_path to match other crates
* feat: Implement KV as a write-through cache (#2732)Michelle Tilley2025-05-06
|
* feat(stats): add jj to default common subcommands (#2708)Alex Hamilton2025-04-21
|
* feat: delete duplicate history (#2697)依云2025-04-17
|
* feat: support storing, syncing and executing scripts (#2644)Ellie Huxtable2025-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: add atuin-scripts crate * initial * define record types * wip * wip * mvp * add show command, make stdin work * rewrite execution to use shebang and script file ALWAYS * rename show -> get, allow fetching script only * fmt * clippy * a bunch of fixes to the edits * update lock * variables * fmt * clippy * pr feedback * fmt
* feat(kv): Add support for 'atuin kv delete' (#2660)Michelle Tilley2025-04-01
|
* fix: typeerror in client sync code (#2647)Ellie Huxtable2025-03-25
| | | | | | | | | | | | | | | | | * fix: typeerror in client sync code Fixes #2645 This is really weird 1. I have not touched this code in _years_. It has not changed. In recent rust versions, it has a typeerror (see linked issue) 2. This does not occur when running `cargo build`, in release mode or otherwise. It only occurs with `cargo install` 3. I can't find any other occurences of this typeerror online - unsure if it is a compiler regression? The code here is not very complex at all. * chore(clippy): remove unused imports
* feat: option to include duplicate commands when printing history commands ↵依云2025-03-24
| | | | (#2407)
* fixes #1884: HISTFILE can be a directory or a file (#2630)Benjamin Weinstein-Raun2025-03-24
| | | | | | Xonsh history import was failing (in the default xonsh configuration) because $HISTFILE is actually a directory in that case. This change sets up the xonsh import to check for a *directory* instead of a regular file, and makes it clearer that other importers expect a regular file.
* chore: migrate to rust 2024 (#2635)Ellie Huxtable2025-03-19
| | | | | | | | | * chore: upgrade to 2024 edition * ugh unsafe * format * nixxxxxxxxxxx why
* chore: align daemon and client sync freq (#2628)Ellie Huxtable2025-03-13
|
* fix: improve broken symlink error handling (#2589)James Trew2025-03-09
| | | | | | | | | | | Check atuin setting paths (eg. `db_path`) for broken symlinks on initialization and disable all shell hooks + print error message. sqlite doesn't create db files even with `.create_if_missing` when the db files are a broken symlink. This would cause sqlite to error and atuin to panic on every single keypress. Also improves related error handling when calling atuin client commands directly.
* feat: make new arrow key behavior configurable (#2606)chitao12342025-03-09
| | | | | | | | | | | | | | | | | | | * feat: make new arrow key behavior configurable The arrow key behavior in interactive search was changed in #2453, make it configurable via keys.exit_past_line_start and keys.accept_past_line_end * Update crates/atuin-client/config.toml * Update crates/atuin-client/config.toml * Update crates/atuin-client/config.toml * I've made so many typos with these, sorry --------- Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
* fix: don't save empty commands (#2605)Lucas Trzesniewski2025-03-09
|
* perf: cache `SECRET_PATTERNS`'s `RegexSet` (#2570)DaniPopes2025-02-18
| | | | | | | Improves the performance of `History::should_save` by constructing the `SECRET_PATTERNS` `RegexSet` only once with a `LazyLock`. This speeds up `atuin history prune` by ~100x (~7s to ~70ms on my machine) (lol).
* fix: add .histfile as file to look for when doing atuin import zsh (#2588)slamp2025-02-18
|
* style: Avoid calling `unwrap()` when we don't have to (#2519)Andrew Aylett2025-01-07
| | | | Use `if let` rather than `is_some()` followed by `unwrap()`, and coerce errors instead of calling `unwrap()` when available.
* feat(client): update AWS secrets env var handling checks (#2501)Dagan McGregor2024-12-29
| | | | | | | Update to use AWS env vars as documented, replace duplicated entries AWS_SECRET_ACCESS_KEY the secret paired to Access Key IDs AWS_SESSION_TOKEN the secret session token for STS sessions
* feat: add `atuin wrapped` (#2493)Ellie Huxtable2024-12-27
| | | | | | | | | | | | | * wip * wip * final * fix clippy * do not hard code the year * support tz properly, allow specifying the year
* feat(client): add filter mode enablement and ordering configuration (#2430)Pavel Ivanov2024-11-19
|
* feat: Ultracompact Mode (search-only) (#2357)P T Weir2024-10-07
| | | | | | | | | | | | | | | * feat: add always_show_tabs setting * feat(ultracompact): extra-compact options * feat(ultracompact): enable via auto_hide_height * feat(ultracompact): clarify comment * fix(theming): minor tidyup to theming comment * chore: rustfmt/clippy corrections * chore: testing if CI issue was transient
* chore: enable inline height and compact by default (#2249)Ellie Huxtable2024-08-27
|
* fix: remove dbg! macro (#2355)TymanWasTaken2024-08-14
|
* test: add env ATUIN_TEST_LOCAL_TIMEOUT to control test timeout of SQLite (#2337)Jax Young2024-08-05
| | | | | | | | | | | | | | | | | | | | | | | * test: add env ATUIN_TEST_LOCAL_TIMEOUT to control test timeout of SQLite This make it possible to control the timeout of SQLite operations in test. And ATUIN_TEST_LOCAL_TIMEOUT defaults to the default local_timeout, which is actually used in the client. Instead of a small timeout (0.1), this change makes the test less likely to fail and better imitate the default behavior. SQLite operation timeout was first introduced from #1590, including connection and store timeout. The env ATUIN_TEST_SQLITE_STORE_TIMEOUT which added by #1703 only specify the store timeout. This commit doesn't deprecate ATUIN_TEST_SQLITE_STORE_TIMEOUT, but control it by setting its default to the new env ATUIN_TEST_LOCAL_TIMEOUT. * test!: replace ATUIN_TEST_SQLITE_STORE_TIMEOUT with ATUIN_TEST_LOCAL_TIMEOUT This deprecate ATUIN_TEST_SQLITE_STORE_TIMEOUT for simplicity as the new env ATUIN_TEST_LOCAL_TIMEOUT can control both connection and store timeout of SQLite in test. Details see 4d88611. Revert: #1703.
* fix(theme): Restore original colours (#2339)P T Weir2024-08-05
| | | | | | | * fix(theme): restore ratatui colors * chore: fix up rustfmt * typo: correct spelling in comment
* fix(themes): Restore default theme, refactor (#2294)P T Weir2024-07-23
| | | | | | | | | | | | | | | | | * fix(theme): let the base colour remain unchanged * fix(theme): split out default * fix(theme): make base theme 'default' not an empty string * wip(theme): return styles, not colors * wip(theme): tidy up module structure a little * wip(theme): removed unhandled references to foreground_color * chore: fix cargo fmt * feat(theme): allow crossterm-deserializable colors
* feat(tui): Fixed preview height option (#2286)Tobias Genannt2024-07-17
| | | | | | | | * Added "fixed" to preview strategy Uses max_preview_height as a fixed value to prevent the list from "jumping". * Added test for new setting
* feat(tui): Customizable Themes (#2236)P T Weir2024-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * wip: add theme * feat(theme): basic theming approach * feat(theme): adds theming support * fix: split out palette without compact inspector * fix(theme): tidy up implementation * fix(theme): correct yaml to toml * fix(theme): typo in comments * chore: cheer up clippy * fix(themes): ensure tests cannot hit real loading directory * chore: rustfmt * chore: rebase * feat(themes): add rgb hexcode support * fix(theme): add tests * fix(theme): use builtin log levels and correct debug test * feat(theme): adds the ability to derive from a non-base theme * fix(theme): warn if the in-file name of a theme does not match the filename * chore: tidy for rustfmt and clippy * chore: tidy for rustfmt and clippy
* chore: enable record sync by default (#2255)Ellie Huxtable2024-07-11
| | | I'm now pretty confident in the automatic migration. Let's cut people over so they have a better experience
* feat(gui): use fancy new side nav (#2243)Ellie Huxtable2024-07-10
| | | | | | | | | | | | | * feat(gui): use fancy new side nav * compact only sidebar, no expand-collapse * custom drag region, remove titlebar * add user popup * wire up login/logout/register, move user button to bottom and add menu * link help and feedback to forum
* fix: idx cache inconsistency (#2231)Ellie Huxtable2024-07-03
|
* feat: Add npm, Netlify and Pulumi tokens to secret patterns (#2210)Julien P2024-07-01
|
* feat: add several other GitHub access token patterns (#2200)Chris Rose2024-06-25
| | | | | | | | | | - OAuth access tokens - refresh token - app installation token - PAT v2 Additionally, added support for having >1 value for testing, for cases where the pattern for a secret has alternative formats (GitHub PAT v2 does this)
* feat: Add GitLab PAT to secret patterns (#2196)David Jack Wange Olrik2024-06-25
|
* feat: add user account verification (#2190)Ellie Huxtable2024-06-24
| | | | | | | | | | | | | | | | | | | * add verified column to users table * add database functions to check if verified, or to verify * getting there * verification check * use base64 urlsafe no pad * add verification client * clippy * correct docs * fix integration tests
* feat(history): filter out various environment variables containing potential ↵David2024-06-20
| | | | secrets (#2174)
* feat(daemon): follow XDG_RUNTIME_DIR if set (#2171)Ellie Huxtable2024-06-20
| | | | | | | | If XDG_RUNTIME_DIR is set, put the socket file there. If not, default to storing it in our data dir. We cannot default to a path such as /run/user/$UID/ because it does not exist on all systems. Any system running systemd will set this var by default, and ensure that the directory it points to is correctly setup.
* feat(tui): configurable prefix character (#2157)Ellie Huxtable2024-06-18
| | | | | * feat(tui): configurable prefix character * string not char because toml/json lol
* fix: unitless sync_frequence = 0 not parsed by humantime (#2154)Ellie Huxtable2024-06-17
| | | Resolve #2147
* fix(client): better error reporting on login/registration (#2076)Xavier Vello2024-06-03
|
* feat(doctor): report sqlite version (#2075)Xavier Vello2024-06-03
|
* fix(deps): replace parse_duration with humantime (#2074)Blair Noctis2024-06-03
| | | | The former is no longer maintained, with a long standing security advisory (RUSTSEC-2021-0041).
* chore: handle rate limited responses (#2057)Ellie Huxtable2024-05-30
| | | | | | For Atuin Cloud, we rate limit login attempts (and a few other endpoints). Ensure that the user gets a descriptive response For self hosted users, if you wish to rate limit, I'd suggest configuring this with your reverse proxy.
* feat(ui): add login/register dialog (#2056)Ellie Huxtable2024-05-30
|
* feat: support systemd socket activation for daemon (#2039)Nemo1572024-05-25
| | | | | This avoids issues with clients attempting to connect to the daemon while it's starting, systemd creates the socket early and will queue connections up until the daemon is ready to accept them.
* feat: support importing from replxx history files (#2024)Amos Bird2024-05-21
| | | | | | | | | * Support importing from replxx history files * Fix clippy error. Also Remove auto-detect for replxx which makes no sense. * Add some tests
* fix(daemon): do not try to sync if logged out (#2037)Ellie Huxtable2024-05-21
| | | | | | | | * fix(daemon): do not try to sync if logged out I've also added Settings::logged_in, as there are a few places where we switch on login state. * make session_token a function