aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-common/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 total history count to the index API (#1102)Ellie Huxtable
Thought it would be fun to collect some cool stats, maybe put them on atuin.sh.
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-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-19Add RecordIndex data structure (#1059)Ellie Huxtable
* Add RecordIndex data structure This allows us to compare two sets of record stores, and return a list of diffs. With these diffs, we should be able to sync the two stores * Remove server handler, will follow up with this * Make clippy happy * Add tests and docs for diffs in both directions * Update atuin-common/src/record.rs Co-authored-by: Conrad Ludgate <conradludgate@gmail.com> --------- Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
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-05-21Allow server configured page size (#994)Ellie Huxtable
* Allow server configured page size * Backwards compat via semver checks * Correct header name
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-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-03-30Add `atuin status` (#830)Ellie Huxtable
Useful for debugging, checking the state of things, and for if you forget your username!
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-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-14Prefer PWD environment variable over cwd if available to better support ↵Patrick Decat
symbolic links (#783)
2023-03-05Windows support (#754)YummyOreo
* adds support for getting home dir in windows * fixes bug * adds windows server support + build for linux ^| todo: test server on linux * improvements to redability * removes comment * returns if windows when importing auto * this should be here, to prevent double inputs * adds explanation to why we have to throw away 1 event in the tui * better message when running atuin import on windows + spell fix
2023-03-02Fix race condition in directory tests (#748)cyqsimon
2022-11-04Add local event log storage (#390)Ellie Huxtable
* 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-10-14Add automatic update checking (#555)Ellie Huxtable
* 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-07add some error messages (#510)Conrad Ludgate
* add some error messages * fmt
2022-04-25history list (#340)Conrad Ludgate
2022-04-22Bump uuid from 0.8.2 to 1.0.0 (#311)dependabot[bot]
* 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-22refactor (#327)Conrad Ludgate
2022-04-13Initial implementation of calendar API (#298)Ellie Huxtable
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-12goodbye warp, hello axum (#296)Conrad Ludgate
2021-05-10Re-add macro_use to atuin-common (#107)Ellie Huxtable
* Re-add macro_use to atuin-common When build as a dependency, the macro is available from another crate. When you try to build common by itself, the macro is not found. Magic, huh? * chore: remove unneeded use - clippy is confused Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
2021-05-09some changes :shrug: (#83)Conrad Ludgate
* make everything a cow * fmt + clippy
2021-05-09fix some bugs (#90)Conrad Ludgate
* fix some bugs * format
2021-05-07remove dyn Reply (#48)Conrad Ludgate
* cleanup reply types * cleanup error api * small update * improve api some more * fmt
2021-04-25Update docs, unify on SQLx, bugfixes (#40)Ellie Huxtable
* 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-20Use cargo workspaces (#37)Ellie Huxtable
* 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