Commit Graph

890 Commits

Author SHA1 Message Date
4077c33adf Builder interface for History objects (#933)
* [feature] store env variables in History records

WIP: remove `HistoryWithoutDelete`, add some docstrings, tests

* Create History objects through builders.

Assure in compile-time that all required fields
are set for the given construction scenario

* (from #882) split Cmd::run into subfns

* Update `History` doc

* remove rmp-serde from history

* update warning

---------

Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
2023-06-15 10:29:40 +00:00
0c75cfbfda Add namespaces to kv store (#1052) 2023-06-15 08:17:30 +01:00
ae1709dafd Key values (#1038)
* 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-06-14 21:18:24 +01:00
d50ccceef2 Bump debian from bullseye-20230502-slim to bullseye-20230612-slim (#1047)
Bumps debian from bullseye-20230502-slim to bullseye-20230612-slim.

---
updated-dependencies:
- dependency-name: debian
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 09:04:56 +01:00
mmx
dea6898f2d update release.yaml add RUSTFLAGS, add qemu-user, add QEMU_PREFIX before gen-completions (#872) 2023-06-13 08:54:27 +01:00
73b006fe2b Make requirement of PostgreSQL 14 explicit (#1048) 2023-06-13 07:52:53 +00:00
79f7b1d81c Fix --delete-it-all and --delete commands (#913)
* Add `delete_at` is null condition during search

Since entries are searched everytime a delete process ends, the
--delete-it-all command will enter an infinite loop if searching the
whole history.

* Remove command blanking

Command blanking may violate the `unique(timestamp, cwd, command)`
condition.

* Overwrite command with random string when deleting

* Add rand dependency to client crate

---------

Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
2023-06-13 07:43:06 +00:00
b231b82bdd Bump uuid from 1.2.1 to 1.3.4 (#1046)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.2.1 to 1.3.4.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.2.1...1.3.4)

---
updated-dependencies:
- dependency-name: uuid
  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-06-13 08:39:31 +01:00
a6da5340e7 add support to override hostname and username via env var (#1041) 2023-06-12 16:58:46 +00:00
8655c93853 refactor server to allow pluggable db and tracing (#1036)
* refactor server to allow pluggable db and tracing

* clean up

* fix descriptions

* remove dependencies
2023-06-12 09:04:35 +01:00
dccdb2c33f Make Ctrl-d behaviour match other tools (#1040)
With this change Ctrl-d behaves differently depending on whether there
is any input text available. If there is, it will delete the character
to the right of the cursor if there is any. If there isn't it will
instead quit interactive mode and leave the original shell command line
unchanged.
This matches other line-based tools like bash and fzf.
2023-06-11 21:48:32 +01:00
a224a8e4d3 Fix movement keys in inverted mode (#1035)
* Extract scrolling code into functions

* Fix movement keys when inverted

* remove extra len param

---------

Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
2023-06-08 12:28:17 +00:00
49f0def12b Bump lukemathwalker/cargo-chef (#1026)
Bumps lukemathwalker/cargo-chef from latest-rust-1.68.0 to latest-rust-1.70.0.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-08 08:55:08 +01:00
3593f51990 feat: do not allow empty passwords durring account creation (#1029)
* feat: do not allow empty passwords durring account creation

* refactor: rustfmt
2023-06-06 06:58:38 +01:00
f499ae84ed fix: Adjust broken link to supported shells (#1013) 2023-05-30 20:34:42 +01:00
f8585e6109 Update Arch Linux links in README (#1016) 2023-05-30 09:49:00 +00:00
5dc189cf83 Add graceful shutdown on SIGTERM (#1014)
* Add graceful shutdown on SIGTERM

* Fix linter
2023-05-30 05:51:16 +01:00
9e3fa8b88a Release v15.0.0 (#995)
* Release v15.0.0

* Draft post

* Update contributors
v15.0.0
2023-05-28 19:39:45 +01:00
e695693d83 Make volume path absolute (#1009)
* Make volume path absolute

* Update docs/docs/self-hosting/docker.md
2023-05-27 16:27:42 +00:00
6118da2ee2 Fix typo in config.toml (#1006)
Typo in config key `filter_mode_shell_up_key_binding` that's fixed by
this commit, and while at it fix a minor typo in a comment.

Co-authored-by: Per Modin <per@wgtwo.com>
2023-05-24 22:00:01 +00:00
d21b691bcf Add option to completely disable help row (#993)
* Add option to completely disable help row

* Pass full settings object to draw command

* Add documentation for show_help
2023-05-22 11:10:11 +00:00
5b5e4eaa86 Input bar at the top if we are in inline mode (#866)
* Put input chunk at the top in inline mode

* Invert the search results if bar is at top

* fix styling on reversed rendering

* add setting

* settings

---------

Co-authored-by: Patrick Decat <pdecat@gmail.com>
Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
2023-05-21 17:42:44 +01:00
d2240e1163 Allow server configured page size (#994)
* Allow server configured page size

* Backwards compat via semver checks

* Correct header name
2023-05-21 15:21:51 +00:00
ca263834e9 Restructure account commands to account subcommand (#984)
* Stop running triggers on history delete

* Move to account management dir

* Alter trigger function to only run for inserts

* wip

* Add atuin account subcommands, and re-org delete

* Clarify docs

* Delete silly dupe migration

* Um where did this come from

* Oops, insert only plz
2023-05-17 21:28:37 +01:00
7d5a82df14 validate usernames on registration (#982)
improve login password incorrect error message

update docs for registration with passwords
2023-05-16 22:03:53 +01:00
7b9dea72e3 feat: add delete account option (attempt 2) (#980)
* 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-05-16 22:00:59 +01:00
dc523416f6 Include bash preexec warning (#983) 2023-05-16 21:58:05 +01:00
b53ca357cd Fix key regression introduced (#974) 2023-05-11 20:18:20 +00:00
bf7432f392 Patch bash history import regression (#970)
* At least patch this on the server side so we don't loop forever

* Postgres doesn't support <microsecond precision

Use millis - almost everything should support them and they are still
faster than a human can reasonably spam a button.
2023-05-10 13:02:35 +00:00
4a9a626e17 Bump debian from bullseye-20230320-slim to bullseye-20230502-slim (#930)
Bumps debian from bullseye-20230320-slim to bullseye-20230502-slim.

---
updated-dependencies:
- dependency-name: debian
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-09 18:17:41 -04:00
1bdb470f69 Update README.md: Disable update check for offline mode (#960) 2023-05-09 11:18:04 +00:00
89eecc99ea website: Fix participle "be ran" -> "be run" (#939) 2023-05-08 13:18:42 +00:00
fab5412e84 Correct typos in website (#946)
This commit fixes the spelling of "variables" in a couple of places.
2023-05-07 08:15:22 +00:00
a38fc6e898 docs: fix "From source" cd command (#937)
Cloning does not automatically cd to the new directory,
and we need to cd to "atuin" *inside* the cloned repository.
2023-05-06 14:35:24 +00:00
5a0e63370a Add command flag for inline_height (#905)
* add a command flag for `inline_height`

* docs

* docs: better formating for short command flags
2023-05-02 09:00:52 +01:00
244a501cbb cwd_filter: much like history_filter, only it applies to cwd (#904)
* cwd_filter: much like history_filter, only it applies to cwd

* appease clippy
2023-05-02 02:55:54 +00:00
e222b59812 add nu section to keybind docs (#881) 2023-05-02 02:52:33 +00:00
b2fb5e6604 docs: Fix broken links in README.md (#920) 2023-05-02 02:43:30 +00:00
20845a5cf5 fix broken pipe on history list (#927)
* fix #626

* slightly refactor
2023-05-01 22:31:25 -04:00
50e2770f37 Fix fig plugin link (#924) 2023-04-28 13:25:04 +00:00
c65e7528f4 Copy license for cargo-deb (#901) 2023-04-20 01:14:49 +01:00
beadc95926 Upload tar before building deb (#898) 2023-04-19 09:04:31 +01:00
d5cc25531d Add symlink (#897) 2023-04-18 22:38:16 +01:00
0feee3d189 Allow specifying tag to build for workflow_dispatch (#896) 2023-04-18 21:51:39 +01:00
cc5b167f92 Add package param to cargo deb (#895) 2023-04-18 21:43:17 +01:00
281aa092b2 Re-added package name to workspace.package (#894) 2023-04-18 20:38:16 +00:00
7cc893d67d Add keyboard shortcuts to the Config/Keybinding chapter. (#875)
* Added Shortcuts section to keybinings

* Removed obvious shortcuts

* Update docs/docs/config/key-binding.md

Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>

* Update docs/docs/config/key-binding.md

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

* replaced cursor keys with emojis

* got back to utf symbols

---------

Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
Co-authored-by: Conrad Ludgate <oon@conradludgate.com>
2023-04-17 21:24:25 +01:00
c7d89c1703 chore: uuhhhhhh crypto lol (#805)
* chore: uuhhhhhh crypto lol

* remove dead code

* fix key decoding

* use inplace encryption
2023-04-17 21:12:02 +01:00
678323b543 Add workflow dispatch for release (#888) 2023-04-17 20:45:06 +01:00
83ed195d27 Fix release workflow (#885) 2023-04-16 12:52:06 +01:00