Commit Graph

79 Commits

Author SHA1 Message Date
Vladislav Stepanov
c05d285042
Workspace reorder (#868)
* 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 993e60f8de.
2023-04-14 20:18:58 +01:00
Ellie Huxtable
4e4fdb9f8e
Release Atuin v14 (#836)
* Bump versions

* Write release notes

* add link
2023-04-01 18:17:38 +01:00
Ellie Huxtable
0d16a113c5
Add atuin status (#830)
Useful for debugging, checking the state of things, and for if you
forget your username!
2023-03-30 06:45:49 +01:00
Ellie Huxtable
c30b457fc5
Account for user not yet having count cache (#812)
* Account for user not yet having count cache

* Make clippy happy
2023-03-26 17:48:41 +01:00
Ellie Huxtable
dcd77749dd
Add history deletion (#791)
* 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-20 09:26:54 +00:00
Ellie Huxtable
b978f9a4de
Add register notification webhook (#764)
I find it super motivating when people use my stuff, so this makes it
_even easier_ to know when someone new signs up!
2023-03-07 22:09:19 +00:00
Ellie Huxtable
e4fde80acc
Patch release v13.0.1 (#741)
* Patch release v13.0.1

* Update blog post
2023-02-28 21:44:39 +00:00
Conrad Ludgate
fe67dbb96c
fix registration (#740) 2023-02-28 15:46:24 +00:00
Ellie Huxtable
fe5f728aa6
Release v13 (#727)
* Write release blog post

* Bump versions

* Update contributors
2023-02-26 21:22:29 +00:00
Erwin Kroon
dcfad9a90d
Add support for generic database in AppState (#711) 2023-02-15 08:54:09 +00:00
Conrad Ludgate
0acdb99eb3
axum6 with typesafe state (#674) 2023-02-10 09:45:20 +00:00
dependabot[bot]
ec24437735
Bump fs-err from 2.8.1 to 2.9.0 (#604)
Bumps [fs-err](https://github.com/andrewhickman/fs-err) from 2.8.1 to 2.9.0.
- [Release notes](https://github.com/andrewhickman/fs-err/releases)
- [Changelog](https://github.com/andrewhickman/fs-err/blob/main/CHANGELOG.md)
- [Commits](https://github.com/andrewhickman/fs-err/compare/2.8.1...2.9.0)

---
updated-dependencies:
- dependency-name: fs-err
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-10 09:34:50 +00:00
dependabot[bot]
d1e29cbcae
Bump base64 from 0.13.0 to 0.20.0 (#641)
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.13.0 to 0.20.0.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases)
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.13.0...v0.20.0)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-18 17:53:36 +00:00
Ellie Huxtable
f38ef12581
Release v12 (#599)
* Release v12

* Add new contributors
2022-11-06 15:30:21 +00:00
Ellie Huxtable
e297b98f72
Add local event log storage (#390)
* Add event data structures

This adds the data structures required to start syncing events, rather
than syncing history directly.

Adjust event

Fix

Add event data structure to client

* Add server event table sql

* Add client event table migration

Adjust migration

* Insert into event table from client

* Add event merge function

Right now this just ensures we have the right amount of events given the
history we have

BUT it will also be used to merge CREATE/DELETE events, resulting in
history being deleted :)

* Make CI happy

* Adjust

* we don't limit history length any more

* Update atuin-client/src/database.rs

Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>

* fix usage

* Fix typo

* New Rust, new clippy stuff

Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
2022-11-04 09:08:20 +00:00
dependabot[bot]
540aa79054
Bump async-trait from 0.1.57 to 0.1.58 (#575)
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.57 to 0.1.58.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.57...0.1.58)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-19 08:39:52 +01:00
Conrad Ludgate
990040e150
rollup of 5 dependency commits (#562)
* Bump sha2 from 0.10.5 to 0.10.6

Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.5 to 0.10.6.
- [Release notes](https://github.com/RustCrypto/hashes/releases)
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.10.5...sha2-v0.10.6)

---
updated-dependencies:
- dependency-name: sha2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump uuid from 1.1.2 to 1.2.1

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.1.2 to 1.2.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump serde_json from 1.0.85 to 1.0.86

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.85 to 1.0.86.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.85...v1.0.86)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump itertools from 0.10.4 to 0.10.5

Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.4 to 0.10.5.
- [Release notes](https://github.com/rust-itertools/itertools/releases)
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/commits)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump serde from 1.0.144 to 1.0.145

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.144 to 1.0.145.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-14 13:33:14 +01:00
dependabot[bot]
edfa131ffc
Bump sqlx from 0.5.13 to 0.6.2 (#536)
Bumps [sqlx](https://github.com/launchbadge/sqlx) from 0.5.13 to 0.6.2.
- [Release notes](https://github.com/launchbadge/sqlx/releases)
- [Changelog](https://github.com/launchbadge/sqlx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/launchbadge/sqlx/compare/v0.5.13...v0.6.2)

---
updated-dependencies:
- dependency-name: sqlx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-14 11:03:08 +01:00
Ellie Huxtable
f03f6e9ad7
Add automatic update checking (#555)
* 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>
2022-10-14 10:59:21 +01:00
Conrad Ludgate
5725f4b40b
add some error messages (#510)
* add some error messages

* fmt
2022-10-07 20:33:07 -07:00
Ellie Huxtable
41eed3f6a1
Release v11 (#529) 2022-09-13 19:03:52 +00:00
morguldir
0c5e250800
Add support for prepending a path to all routes for the server (#484)
* Add support for prepending a path to all routes

* Don't nest if there is no path provided

Co-authored-by: Conrad Ludgate <oon@conradludgate.com>

* Change the default for the path variable

* run cargo-fmt

Co-authored-by: Conrad Ludgate <oon@conradludgate.com>
2022-07-26 08:05:34 +01:00
Ellie Huxtable
23b9d34e16
Add configurable history length (#447)
* Add configurable history length

This allows servers to decide the max length of each history item they
want to store! Some users might have much larger history lines than
others.

This setting can be set to 0 to allow for unlimited history length. This
is not recommended for a public server install, but for a private one it
can work nicely.

* Format lol
2022-06-10 10:00:59 +01:00
Ellie Huxtable
fab8d8590f
Release v0.10.0 (#440)
06ac9587 Show current version on server index (#436)
706b1aff Disable ARM docker builds (#438)
f2abc23a Update README.md
3c2b0550 Noyez fix dir hostname utf8 (#430)
3f5350de [feature] Add scroll wheel support to interactive history search (#435)
dcdde225 Fix text outline for dark mode
9ac0c60c Implement cursor (#412)
119ab9e0 Adds password prompt for register and login (#424)
e5df809d Noyez zsh histdb import (#393)
b08e2543 Improve default fish keybindings (#420)
4096c6ee Update README.md
cd2a3ab7 Add fish shell to key binding docs (#418)
b2782110 Bump clap_complete from 3.1.3 to 3.1.4 (#397)
ee66c0a1 Bump axum from 0.5.5 to 0.5.6 (#415)
4297e263 Bump tokio from 1.18.1 to 1.18.2 (#396)
dbd9ca53 Bump clap from 3.1.16 to 3.1.18 (#401)
a7c9d19d Bump tower-http from 0.3.2 to 0.3.3 (#399)
3b79f686 Bump axum from 0.5.4 to 0.5.5 (#402)
f3407710 Cleanup dependencies – disable unnecessary or unused features (#407)
ab294cde Don't pollute shell environment - remove 'id' variable (#408)
14b30606 Allow to build atuin server without client (#404)
5e4e8d11 Don't create config dir for server in default location if not needed (#406)
b7946cc9 Update Chinese version README.md (#403)
e0291f67 Update README.md
301190e4 Build ARM docker image in GitHub Actions using QEMU (#400)
1d030b9d Importer V3 (#395)
d3a4ff95 Bump clap from 3.1.15 to 3.1.16 (#392)
e9d2ec4b Add ctrl-k and ctrl-j for up and down (#394)
25afb5b2 Bump serde_json from 1.0.80 to 1.0.81 (#387)
4a839dab Adds stats summary  (#384)
7a394b01 Bump serde from 1.0.136 to 1.0.137 (#375)
edd3f812 Bump clap_complete from 3.1.2 to 3.1.3 (#377)
d85d03d9 Bump log from 0.4.16 to 0.4.17 (#382)
dc3b7ef5 Bump tokio from 1.18.0 to 1.18.1 (#383)
12440c1c Bump serde_json from 1.0.79 to 1.0.80 (#376)
731042f4 Bump tower-http from 0.3.1 to 0.3.2 (#378)
82505e61 Bump clap from 3.1.12 to 3.1.15 (#381)
e05c19d0 Add Chinese documentation translation & Fix spelling mistakes (#373)
6e280e25 Add Russian documentation translation (#365)
40efdd11 Bump http from 0.2.6 to 0.2.7 (#368)
8bc5becc Bump tower-http from 0.3.0 to 0.3.1 (#367)
172ac8db Create FUNDING.yml
7cdd00b5 Bump tokio from 1.17.0 to 1.18.0 (#357)
9d2e9ea1 Search: Allow specifiying the limited of returned entries (#364)
93ab4e78 ignore JetBrains IDEs, tidy-up imports (#348)
2cb4cb39 Bump axum from 0.5.3 to 0.5.4 (#355)
796644e2 Add created_at column to users (#354)
f8233bcb SQLx cannot run this migration OK (#353)
d8ef5dd9 fix db range query (#351)
5926ea64 fix import auto for bash (#352)
43d299fd bump tui (#346)
8ac6571b Remove all select * from the server queries (#347)
4030de4b Add btree index on history table (#345)
b692e0ce Bump tower-http from 0.2.5 to 0.3.0 (#343)
3680f4ac Bump clap from 3.1.11 to 3.1.12 (#342)
7f5310a1 history list (#340)
2022-06-06 10:16:45 +01:00
Ellie Huxtable
06ac95876c
Show current version on server index (#436) 2022-06-06 09:58:19 +01:00
Jakub Jirutka
f340771012
Cleanup dependencies – disable unnecessary or unused features (#407)
* Disable unnecessary features of config crate, keep only toml

The atuin documentation only mentions the TOML format for configuration
files, but the config crate supports many other formats by default,
which increases the binary size by about 300 kiB.

* Disable unused features of cli-table crate

This doesn't seem to have noticeable effect on the binary size, but
disabling them cleans up the dependency tree a bit.
2022-05-16 22:14:04 +01:00
Jakub Jirutka
5e4e8d1152
Don't create config dir for server in default location if not needed (#406)
...respect ATUIN_CONFIG_DIR.

The current behaviour is problematic when running atuin server as a
system service with config dir in /etc/atuin.
2022-05-13 06:07:46 +01:00
dependabot[bot]
25afb5b2ed
Bump serde_json from 1.0.80 to 1.0.81 (#387)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.80 to 1.0.81.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.80...v1.0.81)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-05 09:01:06 +01:00
dependabot[bot]
7a394b0115
Bump serde from 1.0.136 to 1.0.137 (#375)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.136 to 1.0.137.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.136...v1.0.137)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 07:59:12 +01:00
dependabot[bot]
12440c1cb1
Bump serde_json from 1.0.79 to 1.0.80 (#376)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.79 to 1.0.80.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.79...v1.0.80)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-03 07:42:09 +01:00
Jakub Panek
93ab4e7842
ignore JetBrains IDEs, tidy-up imports (#348)
* ignore JB IDEs

* tidy-up imports

* add rustfmt config
2022-04-28 18:53:59 +01:00
Ellie Huxtable
796644e24e
Add created_at column to users (#354) 2022-04-26 22:27:51 +01:00
Ellie Huxtable
f8233bcb63
SQLx cannot run this migration OK (#353)
And also correct a typo
2022-04-26 18:17:56 +01:00
Ellie Huxtable
8ac6571bc6
Remove all select * from the server queries (#347)
It's not ideal as we should be explicit about what is being queried!

A part one for sorting this all out :)
2022-04-26 10:37:16 +01:00
Ellie Huxtable
4030de4bea
Add btree index on history table (#345)
This speeds up a whole bunch of our queries by a *lot* :)
2022-04-26 09:32:59 +01:00
dependabot[bot]
b692e0cee0
Bump tower-http from 0.2.5 to 0.3.0 (#343)
Bumps [tower-http](https://github.com/tower-rs/tower-http) from 0.2.5 to 0.3.0.
- [Release notes](https://github.com/tower-rs/tower-http/releases)
- [Commits](https://github.com/tower-rs/tower-http/compare/tower-http-0.2.5...tower-http-0.3.0)

---
updated-dependencies:
- dependency-name: tower-http
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-26 08:11:57 +01:00
Conrad Ludgate
7f5310a1aa
history list (#340) 2022-04-25 07:13:30 +01:00
Ellie Huxtable
2fd9651dea
Release v0.9.1 (#338)
a050faa Use `--locked` flag for CI builds (#337)
8737474 Update Cargo.lock (#336)
eab1dbf sql builder (#333)

Fixed to include an updated lockfile that was missed in the last release

Thank you for the rapid report @orhun!
2022-04-23 21:49:11 +01:00
Ellie Huxtable
22a7d8866b
Release v0.9.0 (#334)
89549b3 Bump uuid from 0.8.2 to 1.0.0 (#311)
831cc98 Fix typos in the docs. (#171)
7436e4f feature-flags (#328)
508d4f4 History filter (#329)
02c70de refactor (#327)
a9d1ece Added docker-compose.yml (#325)
b8bdd83 Bump clap from 3.1.10 to 3.1.11 (#323)
52a3d0c Bump tracing from 0.1.33 to 0.1.34 (#324)
79597b0 Bump clap_complete from 3.1.1 to 3.1.2 (#316)
5aca611 Allow for larger commands (#321)
9085485 tracing (#315)
98d70fb treat popos as ubuntu (#319)
d57f549 refactor commands for better separation (#313)
24e2971 Fix SQL cache query (#318)
fe05d86 Fix delete trigger (#317)
48747e3 A few minor tweaks (#314)
ed4e07d Use the count cache (#312)
6e11b8e Bump clap from 3.1.9 to 3.1.10 (#309)
44e417d Bump axum from 0.5.1 to 0.5.3 (#310)
b98a378 Add count trigger (#308)
7fe523a Bump sqlx from 0.5.11 to 0.5.13 (#305)
c5ab2a4 Bump clap from 3.1.8 to 3.1.9 (#306)
55f66c8 Bump cli-table from 0.4.6 to 0.4.7 (#297)
69279d2 Bump config from 0.13.0 to 0.13.1 (#303)
d94cdae README: add MacPorts installation instructions (#302)
f4240aa Initial implementation of calendar API (#298)
3c5fbc5 provide better error messages (#300)
bc45bab remove default db uri (#299)
4897f4a Bump rmp-serde from 0.15.5 to 1.0.0 (#264)
5b2e828 Bump directories from 3.0.2 to 4.0.1 (#246)
016386c Bump urlencoding from 1.3.3 to 2.1.0 (#208)
a95018c goodbye warp, hello axum (#296)
3b7ed7c fix env config parsing (#295)
2022-04-23 18:24:53 +01:00
dependabot[bot]
89549b367b
Bump uuid from 0.8.2 to 1.0.0 (#311)
* Bump uuid from 0.8.2 to 1.0.0

Bumps [uuid](https://github.com/uuid-rs/uuid) from 0.8.2 to 1.0.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/0.8.2...1.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* patch

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
2022-04-22 21:38:37 +01:00
Conrad Ludgate
02c70deecb
refactor (#327) 2022-04-22 19:24:38 +01:00
Ellie Huxtable
5aca6114d4
Allow for larger commands (#321)
Followup: Limit command length client side too
2022-04-21 18:54:58 +01:00
Conrad Ludgate
9085485a4f
tracing (#315)
* enable tracing on server

* fmt

* instrument handlers
2022-04-21 18:07:33 +01:00
Ellie Huxtable
24e2971787
Fix SQL cache query (#318)
I just deployed the older version and it was falling back on the full
count. Turns out this is because it won't upcast from INT4 to INT8
automatically, and it has to be manual

At some point the underlying total should be changed to int8, but also I
highly doubt anyone will have enough shell history to fill an int4 lol
2022-04-21 09:19:54 +01:00
Ellie Huxtable
fe05d86bfa
Fix delete trigger (#317)
I've tested this again by deleting my full history and re-syncing, all
good.
2022-04-21 09:12:51 +01:00
Ellie Huxtable
ed4e07d2e6
Use the count cache (#312)
* Use the count cache

By default read from the count cache - if there is no value there, then
do a full COUNT. The cache will be filled when the user posts up some
more history

* clean up server db error handling

Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
2022-04-21 08:03:39 +01:00
Ellie Huxtable
b98a378861
Add count trigger (#308)
This can be used in a later PR to optimise our database usage
significantly. Avoiding COUNT will be fantastic for our CPU usage, and
therefore sync times.
2022-04-19 18:19:21 +01:00
Ellie Huxtable
f4240aa62b
Initial implementation of calendar API (#298)
This can be used in the future for sync so that we can be more
intelligent with what we're doing, and only sync up what's needed

I'd like to eventually replace this with something more like a merkle
tree, hence the hash field I've exposed, but that can come later

Although this does include a much larger number of count queries, it
should also be significantly more cache-able. I'll follow up with that
later, and also follow up with using this for sync :)
2022-04-13 18:29:18 +01:00
Conrad Ludgate
3c5fbc5734
provide better error messages (#300) 2022-04-13 18:08:49 +01:00
Conrad Ludgate
bc45bab273
remove default db uri (#299) 2022-04-13 18:08:21 +01:00