| Commit message (Collapse) | Author |
|
* 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.
|
|
* 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
|
|
* Allow logging in without overwriting existing key file
If the given key on login in empty, keep the existing key file rather
than overwriting it with an empty file. This is useful if you log out
and want to log in again and still use the same key, or if you have
copied over the key file rather than providing it as input.
* Refuse logging in if key is empty
Before the previous commit, an empty key file would be created if key
wasn't specified, and after the previous commit, the key file would not
be created if the key wasn't specified and stay empty if it was empty.
Now the log command checks the key file if a key is not specified and
exits with an error message if either the key file couldn't be opened or
is empty. If a key is specified, the key file is just created with it as
before.
* Validate the key on login, create new if no exists
After reading the key either from an existing key file, or from the user
input, validate that the provided key is valid (rather than just
checking that it isn't empty). If no key file exists, create a new key
instead of erroring out.
|
|
|
|
* Switch to using ATUIN_LOG instead of RUST_LOG
* Stop clippy complaining
* I should know better - clippy is never happy :(
|
|
|
|
* Adds the rpassword dependency
* Provides only a prompt based input for login and register with a hidden prompt for password
* Adds option based inputs for login and register commands
* Password can also be provided as an option
Co-authored-by: Satyarth <satyarth.sampath@gojek.com>
|
|
* ignore JB IDEs
* tidy-up imports
* add rustfmt config
|
|
* use feature flags
* fmt
* fix features
* update ci
* fmt
Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
|
|
* refactor commands for better separation
* fmt
|
|
|
|
|
|
|
|
|
|
* chore: some new linting
* chore: some more linting
* chore: rustfmt
|
|
* feat: allow credential input from stdin for registration
This changes the options for register to be optional. If arguments are
not given, the program will ask for them interactively.
* feat: allow credential input from stdin for login
* style: apply cargo fmt
|
|
* make everything a cow
* fmt + clippy
|
|
Also:
- Ensures that a key is generated as soon as a user registers!
- Ensures that "atuin key" will generate a key if needed, and doesn't
double base64 encode data
And a few other little fixes :)
Resolves #85
Resolves #86
|
|
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
|
|
* 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
|