Commit graph

17 commits

Author SHA1 Message Date
Ellie Huxtable
7b5c3d543d Support bash, resolves #3 2021-04-26 11:57:30 +01:00
Ellie Huxtable
156893d774
Update docs, unify on SQLx, bugfixes (#40)
* Begin moving to sqlx for local too

* Stupid scanners should just have a nice cup of tea

Random internet shit searching for /.env or whatever

* Remove diesel and rusqlite fully
2021-04-25 17:21:52 +00:00
Ellie Huxtable
4a50ce3666 Bugfixes, show time ago, perf improvements
Also allow unique listing and more ergonomic cwd usage
2021-04-21 21:26:44 +01:00
Ellie Huxtable
a21737e2b7
Use cargo workspaces (#37)
* 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
2021-04-20 20:53:07 +00:00
Ellie Huxtable
34888827f8
Switch to Warp + SQLx, use async, switch to Rust stable (#36)
* Switch to warp + sql, use async and stable rust

* Update CI to use stable
2021-04-20 16:07:11 +00:00
Ellie Huxtable
5751463942
Add history sync, resolves #13 (#31)
* 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
2021-04-13 19:14:07 +01:00
Ellie Huxtable
c9579cb9ca
Implement server (#23)
* Add initial database and server setup

* Set up all routes, auth, etc

* Implement sessions, password auth, hashing with argon2, and history storage
2021-03-21 20:04:39 +00:00
Ellie Huxtable
716c7722cd
Add TUI, resolve #19, #17, #16 (#21) 2021-03-20 00:50:31 +00:00
Ellie Huxtable
61607e023f
Add config file support (#15) 2021-03-10 21:24:08 +00:00
Ellie Huxtable
41f072a8b4
Add init command (#12)
* 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
2021-02-15 23:33:30 +00:00
Conrad Ludgate
68c5ca9ece
use database trait instead of sqlite impl (#10)
small improvements
2021-02-15 09:07:49 +00:00
Ellie Huxtable
851285225f
Add stats command (#9)
* Add stats command

For example

atuin stats day yesterday
atuin stats day last friday
atuin stats day 01/01/21

* Output tables, fix import blanks
2021-02-14 22:12:35 +00:00
Conrad Ludgate
6636f5878a
zsh bin is sometimes /usr/bin/zsh or might be elsewhere too (#8)
zsh also uses ~/.zsh_history

get better errors for not found history file
2021-02-14 18:40:51 +00:00
Conrad Ludgate
bae59474ee
a few more tiny touch ups (#7)
* a few more tiny touch ups

* all praise clippy
2021-02-14 18:00:41 +00:00
Conrad Ludgate
72c5ea7914
tidy some stuff (#6) 2021-02-14 17:18:02 +00:00
Ellie Huxtable
d128297e67 Make clippy annoying asf + add server 2021-02-14 13:28:01 +00:00
Ellie Huxtable
099afe66ec Implement history import 2021-02-13 19:37:31 +00:00