aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-client/src (unfollow)
Commit message (Collapse)Author
2023-07-14Add workspace mode, enable if in git repo (#1053)Ellie Huxtable
* Add workspace mode, enable if in git repo * Fix tests * Should now be good * Page filter modes correctly if in workspace
2023-07-14Add new sync (#1093)Ellie Huxtable
* Add record migration * Add database functions for inserting history No real tests yet :( I would like to avoid running postgres lol * Add index handler, use UUIDs not strings * Fix a bunch of tests, remove Option<Uuid> * Add tests, all passing * Working upload sync * Record downloading works * Sync download works * Don't waste requests * Use a page size for uploads, make it variable later * Aaaaaand they're encrypted now too * Add cek * Allow reading tail across hosts * Revert "Allow reading tail across hosts" Not like that This reverts commit 7b0c72e7e050c358172f9b53cbd21b9e44cf4931. * Handle multiple shards properly * format * Format and make clippy happy * use some fancy types (#1098) * use some fancy types * fmt * Goodbye horrible tuple * Update atuin-server-postgres/migrations/20230623070418_records.sql Co-authored-by: Conrad Ludgate <conradludgate@gmail.com> * fmt * Sort tests too because time sucks * fix features --------- Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
2023-07-14write some key tests (#1095)Conrad Ludgate
2023-07-08fix key encodings again (#1089)Conrad Ludgate
2023-06-26record encryption (#1058)Conrad Ludgate
* record encryption * move paserk impl * implicit assertions * move wrapped cek * add another test * use host * undo stray change * more tests and docs * fmt * Update atuin-client/src/record/encryption.rs Co-authored-by: Matteo Martellini <matteo@mercxry.me> * Update atuin-client/src/record/encryption.rs Co-authored-by: Matteo Martellini <matteo@mercxry.me> * typo --------- Co-authored-by: Matteo Martellini <matteo@mercxry.me>
2023-06-21remove decryption from api-client (#1063)Conrad Ludgate
2023-06-18remove rmp-serde (#1057)Conrad Ludgate
* remove rmp-serde * use version info
2023-06-15Builder interface for History objects (#933)Vlad Stepanov
* [feature] store env variables in History records WIP: remove `HistoryWithoutDelete`, add some docstrings, tests * Create History objects through builders. Assure in compile-time that all required fields are set for the given construction scenario * (from #882) split Cmd::run into subfns * Update `History` doc * remove rmp-serde from history * update warning --------- Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
2023-06-15Add namespaces to kv store (#1052)Ellie Huxtable
2023-06-14Key values (#1038)Ellie Huxtable
* wip * Start testing * Store host IDs, not hostnames Why? Hostnames can change a lot, and therefore host filtering can be funky. Really, all we want is a unique ID per machine + do not care what it might be. * Mostly just write a fuckload of tests * Add a v0 kv store I can push to * Appending works * Add next() and iterate, test the pointer chain * Fix sig * Make clippy happy and thaw the ICE * Fix tests' * Fix tests * typed builder and cleaner db trait --------- Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
2023-06-13Fix `--delete-it-all` and `--delete` commands (#913)J. Emiliano Deustua
* Add `delete_at` is null condition during search Since entries are searched everytime a delete process ends, the --delete-it-all command will enter an infinite loop if searching the whole history. * Remove command blanking Command blanking may violate the `unique(timestamp, cwd, command)` condition. * Overwrite command with random string when deleting * Add rand dependency to client crate --------- Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
2023-06-12add support to override hostname and username via env var (#1041)Peter Brunner
2023-05-22Add option to completely disable help row (#993)Hilmar Wiegand
* Add option to completely disable help row * Pass full settings object to draw command * Add documentation for show_help
2023-05-21Input bar at the top if we are in inline mode (#866)Ellie Huxtable
* Put input chunk at the top in inline mode * Invert the search results if bar is at top * fix styling on reversed rendering * add setting * settings --------- Co-authored-by: Patrick Decat <pdecat@gmail.com> Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
2023-05-21Allow server configured page size (#994)Ellie Huxtable
* Allow server configured page size * Backwards compat via semver checks * Correct header name
2023-05-17Restructure account commands to account subcommand (#984)Ellie Huxtable
* Stop running triggers on history delete * Move to account management dir * Alter trigger function to only run for inserts * wip * Add atuin account subcommands, and re-org delete * Clarify docs * Delete silly dupe migration * Um where did this come from * Oops, insert only plz
2023-05-16feat: add delete account option (attempt 2) (#980)Yannick Ulrich
* Added DELETE register endpoint * Added remove function to database * Added unregister to client * Updated docs * Renamed functions * Reformatting * Used execute instead of fetch in delete_user
2023-05-11Fix key regression introduced (#974)Ellie Huxtable
2023-05-10Patch bash history import regression (#970)Ellie Huxtable
* At least patch this on the server side so we don't loop forever * Postgres doesn't support <microsecond precision Use millis - almost everything should support them and they are still faster than a human can reasonably spam a button.
2023-05-02cwd_filter: much like history_filter, only it applies to cwd (#904)Kjetil Jørgensen
* cwd_filter: much like history_filter, only it applies to cwd * appease clippy
2023-04-17chore: uuhhhhhh crypto lol (#805)Conrad Ludgate
* chore: uuhhhhhh crypto lol * remove dead code * fix key decoding * use inplace encryption
2023-04-14Improve error message for issue #850. (#876)postmath
* Improve error message for issue #850. * Applied cargo fmt, doh.
2023-04-14Workspace reorder (#868)Vladislav Stepanov
* Try different workspace structure Move main crate (atuin) to be on the same level with other crates in this workspace * extract common dependencies to the workspace definition * fix base64 v0.21 deprecation warning * questionable: update deps & fix chrono deprecations possible panic sites are unchanged, they're just more visible now * Revert "questionable: update deps & fix chrono deprecations" This reverts commit 993e60f8dea81a1625a04285a617959ad09a0866.
2023-04-11Switch to uuidv7 (#864)Ellie Huxtable
* Add uuid_v7 * Actually use the new uuid * Add a test to ensure all uuids are unique, even in a tight loop * Make clippy happy
2023-04-11Add `--reverse` to `atuin search` (#862)Tom Cammann
Add `-r/--reverse` flag to `atuin search` to allow searching by oldest results first. Example to find the oldest `cargo` command: ``` atuin search --limit 1 --reverse cargo ```
2023-04-08Use XDG data directory for fish import (#851)János Illés
* Use XDG data directory for fish import On MacOS, atuin was looking for fish history under "$HOME/Library/Application Support". Now atuin honors XDG_DATA_HOME, if set, and otherwise uses "$HOME/.local/share". * cargo fmt --------- Co-authored-by: Charles Gould <charles@gould.dev>
2023-04-05Handle empty lines when importing from Bash (#845)cyqsimon
* Handle empty lines * Fix insufficient accuracy in timestamp tests * Use nanoseconds
2023-04-05Updated client config docs (#839)cyqsimon
* Updated client config docs - Example `config.toml` now includes all the newest options - `settings.rs`, `config.toml`, and `config.md` now have uniform option order * Remove trailing space
2023-04-05Fix deleting history that doesn't exist yet (#844)Ellie Huxtable
This can occur if history has been added + then deleted on a machine before it has a chance to be synced to a new one.
2023-03-29Add `--offset` flag to `atuin search` (#825)Tom Cammann
This flag allows the user to continue searching at an offset. This is useful for building tools that use atuin to search for previous commands and return only one result. ``` atuin search --limit 1 atuin search --limit 1 --offset 1 atuin search --limit 1 --offset 2 ```
2023-03-27client filtering done in query (#629)jean-santos
2023-03-26chore: use fork of skim (#803)Conrad Ludgate
* use fuzzy-matcher instead of skim switch to a search-engine abstraction * fmt * fix deprecated warnings
2023-03-26feat: add *Nushell* support (#788)Steven Xu
* feat: add *Nushell* support * refactor: use `sh` to swap `STDOUT` and `STDERR` instead of using a temporary file * feat: include both keybindings, with the current REPL buffer passed to *Atuin*'s * feat: don't record commands run by keybindings
2023-03-25feat: add an inline view mode (#648)Patrick Decat
* add inline viewport * Add inline_height setting. Zero disables inline mode (the default)
2023-03-24Delete all instances of a command (#797)Ellie Huxtable
* Delete all instances of a command Our search command will de-dupe results by default. But... This isn't great for deleting! You don't want to run it over-and-over-and-over until all commands are deleted. Loop the query, and keep on deleting what it returns until they are all gone. * Optimize delete upload It was running a request for every element, on every sync lol Only push a delete if needed Future: push all deletes in one request
2023-03-22Allow changing search_mode during interactive search (#586)Krut Patel
* Make search_mode a part of SearchState * Allow changing search mode using ctrl+s * Tweak state reset for switched_search_mode * Improve search_mode display in interactive mode * Incorporate review suggestion * Tweak language * Fix Clippy and format
2023-03-21Fix skim search (#795)Ellie Huxtable
2023-03-20Support old msgpack (#794)Ellie Huxtable
* Support old msgpack I forgot it isn't backwards compatible... This should fix any sync issues resulting from the deletion PR * Update atuin-client/src/encryption.rs Co-authored-by: Conrad Ludgate <conradludgate@gmail.com> * Bye bye unwrap --------- Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
2023-03-20Add history deletion (#791)Ellie Huxtable
* Drop events. I'd still like to do them, but differently * Start adding delete api stuff * Set mailmap * Delete delete delete * Fix tests * Make clippy happy
2023-03-19skim-demo (#695)Conrad Ludgate
* skim-demo * skim some more * Weight first word match higher (#712) * some improvements * make skim opt-in --------- Co-authored-by: Frank Hamand <frankhamand@gmail.com>
2023-03-14Prefer PWD environment variable over cwd if available to better support ↵Patrick Decat
symbolic links (#783)
2023-03-09Allow specifying fulltext as well as full-text (#771)Ellie Huxtable
2023-03-08Fix before/after combined with limit (#770)Ellie Huxtable
* Fix before/after combined with limit Mixing filters done in Rust with filters done in SQL is _no bueno_. Been meaning to do this for a while anyways. Search params are getting a bit fat but oh well! * Make an excuse for a big function sig * Do options map_or not if * Fix tests
2023-03-06fix(client): always read session_path from settings (#757)Luke Karrys
* fix(client): always read session_path from settings * fixup! fix(client): always read session_path from settings * fixup! fix(client): always read session_path from settings
2023-03-05feat: add common default keybindings (#719)Steven Xu
* feat: add common default keybindings * feat: add `WORD_SEPARATORS` to config as `word_chars`, as this is what *Zsh* calls it * feat: add option for *Emacs* word jumping * feat: scroll with `PageUp` and `PageDown`, cf #374
2023-03-05Up arrow filter_mode setting default to global filter mode (#758)Ellie Huxtable
Resolves #756
2023-03-05Show preview of selected command (#643)Patrick Decat
* Only show help if terminal strictly has more than one line * There is no border around the input line in compact mode * Add command preview * Dynamic preview height * Avoid extra allocations Co-authored-by: Conrad Ludgate <oon@conradludgate.com> * Address clippy error * Merge normal and compact views code * Add show_preview setting, disabled by default * Convert `bool` to `int` with `if` for legibility --------- Co-authored-by: Conrad Ludgate <oon@conradludgate.com>
2023-03-02Rework Bash import (#747)cyqsimon
* Rework Bash import Closes #745 - Imported history is now ordered correctly - Timestamps (when `HISTTIMEFORMAT` is set) are handled correctly * Timestamp tests test for strict sorting
2023-02-14Add `history_filter` cfg to exclude commands from history (#515) (#716)Johannes Baiter
Adds a new `history_filter` setting through which users can specify a list of regular expressions that match commands that should not be recorded in the history.
2023-02-10crossterm support (#331)Conrad Ludgate
* crossterm v2 * patch crossterm * fix-version * no more tui dependency * lints