| Commit message (Collapse) | Author |
|
|
|
There are still the `clippy` warnings, but they are for a future date.
|
|
|
|
|
|
That helps remove duplicated code and rustc/cargo will now also show
dead code correctly.
|
|
The wrong-key error was a long unwrapped sentence buried under
"Successfully authenticated.", and wrapped by eyre error formatting
add
- print_error(title, description) — red box-drawn bars across the
terminal width (capped at 100 cols) with bold title; word-wraps the
description; plain "Error:" header when stderr isn't a TTY.
- format_sync_error(SyncError) -> eyre::Report — intercepts WrongKey to
print the banner and exit(1) so eyre's footer never runs; forwards other
variants unchanged.
Use it from:
- account/login.rs — replaces bail\! in the wrong-key path
- command/client/sync.rs — .map_err(format_sync_error)? on sync()
- store/push.rs and store/pull.rs — .map_err on check_encryption_key
## Checks
- [ ] I am happy for maintainers to push small adjustments to this PR,
to speed up the review cycle
- [ ] I have checked that there are no existing pull requests for the
same thing
|
|
<!-- Thank you for making a PR! Bug fixes are always welcome, but if
you're adding a new feature or changing an existing one, we'd really
appreciate if you open an issue, post on the forum, or drop in on
Discord -->
## Checks
- [x] I am happy for maintainers to push small adjustments to this PR,
to speed up the review cycle
- [x] I have checked that there are no existing pull requests for the
same thing
User can disable colors via `NO_COLOR=1` environment variable if needed
Output of `atuin -h`:
| before | after | `NO_COLOR=1` |
| - | - | - |
| <img width="741" height="768" alt="atuin-before"
src="https://github.com/user-attachments/assets/01921ba0-e94d-4f0a-ac85-b170516e41bc"
/> | <img width="741" height="768" alt="atuin-colors"
src="https://github.com/user-attachments/assets/59d507e1-9a33-4091-bed7-44eef889a72d"
/> | <img width="741" height="768" alt="atuin-no-color"
src="https://github.com/user-attachments/assets/e6b067c6-cf17-4909-bdbf-cc2bca830244"
/> |
|
|
This adds the commit SHA to the following:
- `atuin doctor`
- `atuin info` (which already displays the version)
- `atuin --version` (but not `atuin -V` in order not to affect `atuin
--help`)
I'm submitting this because I had issue reports in #2543 which were
already resolved, so being able to easily ask for the commit id would
have been helpful, as the version number isn't meaningful in a PR.
Also, I suppose the info should have been included in `atuin doctor` in
the first place, so that probably fixes an oversight.
## Checks
- [x] I am happy for maintainers to push small adjustments to this PR,
to speed up the review cycle
- [x] I have checked that there are no existing pull requests for the
same thing
|
|
|
|
I'd like to tidy up the root a little, and it's nice to have all the
rust crates in one place
|
|
* 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
|
|
* Begin work on command inspector
This is a separate pane in the interactive mode that allows for
exploration and inspecting of specific commands.
I've restructured things a bit. It made logical sense that things
were nested under commands, however the whole point of `atuin` is to
provide commands. Breaking things out like this enables a bit less
crazy nesting as we add more functionality to things like interactive
search. I'd like to add a few more interactive things and it was
starting to feel very cluttered
* Some vague tab things
* functioning inspector with stats
* add interactive delete to inspector
* things
* clippy
* borders
* sus
* revert restructure for another pr
* Revert "sus"
This reverts commit d4bae8cf614d93b728621f7985cf4e387b6dc113.
|
|
|
|
|
|
* 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.
|
|
* Vendor ratatui temporarily
Once https://github.com/tui-rs-revival/ratatui/pull/114 has been merged,
we can undo this! But otherwise we can't publish to crates.io with a git
dependency.
* make tests pass
* Shush.
* these literally just fail in nix, nowhere else
idk how to work with nix properly, and they're also not our tests
|
|
|
|
* crossterm v2
* patch crossterm
* fix-version
* no more tui dependency
* lints
|
|
|
|
* Add automatic update checking
* Add setting to opt out of update checks
* Document options
* no
* no
* also no
* Make clippy happy
* Update atuin-client/src/settings.rs
Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
* fix features
Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
|
|
* use custom list impl
* fmt
* segment
* clean up
* fix offsets
* fix scroll back space
* small touch ups
|
|
* start of importer refactor
* fish
* resh
* zsh
|
|
* ignore JB IDEs
* tidy-up imports
* add rustfmt config
|
|
* refactor commands for better separation
* fmt
|
|
* use bail macro
replace client database errors
remove dead code
* fix test
|
|
|
|
- Fix version
- Only build for two targets
|
|
Also allow unique listing and more ergonomic cwd usage
|
|
* Switch to Cargo workspaces
Breaking things into "client", "server" and "common" makes managing the
codebase much easier!
client - anything running on a user's machine for adding history
server - handles storing/syncing history and running a HTTP server
common - request/response API definitions, common utils, etc
* Update dockerfile
|
|
* Switch to warp + sql, use async and stable rust
* Update CI to use stable
|
|
* Smaller dockerfile, better error handling
* Add config dir
|
|
* Add encryption
* Add login and register command
* Add count endpoint
* Write initial sync push
* Add single sync command
Confirmed working for one client only
* Automatically sync on a configurable frequency
* Add key command, key arg to login
* Only load session if it exists
* Use sync and history timestamps for download
* Bind other key code
Seems like some systems have this code for up arrow? I'm not sure why,
and it's not an easy one to google.
* Simplify upload
* Try and fix download sync loop
* Change sync order to avoid uploading what we just downloaded
* Multiline import fix
* Fix time parsing
* Fix importing history with no time
* Add hostname to sync
* Use hostname to filter sync
* Fixes
* Add binding
* Stuff from yesterday
* Set cursor modes
* Make clippy happy
* Bump version
|
|
|
|
* Add initial database and server setup
* Set up all routes, auth, etc
* Implement sessions, password auth, hashing with argon2, and history storage
|
|
|
|
|
|
* Add init command
This makes setting up the shell part of A'tuin much easier. Eval the
output of "atuin init".
* Update readme, add up binding
|
|
|
|
* a few more tiny touch ups
* all praise clippy
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|