update flake and cargo

This commit is contained in:
Clément DOUIN 2024-02-25 09:07:40 +01:00
parent 04982a4644
commit 1699a581ce
No known key found for this signature in database
GPG key ID: 353E4A18EE0FAB72
6 changed files with 469 additions and 474 deletions

View file

@ -16,7 +16,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Removed account configurations flatten level in order to improve diagnostic errors, due to a [bug](https://github.com/toml-rs/toml/issues/589#issuecomment-1872345017) in clap. **This means that accounts need to be prefixed by `accounts`: `[my-account]` becomes `[accounts.my-account]`**. It also opens doors for interface-specific configurations.
- Rolled back cargo feature additions from the previous release. It was a mistake: the amount of features was too big, the code (both CLI and lib) was too hard to maintain. Cargo features kept: `imap`, `maildir`, `notmuch`, `smtp`, `sendmail`, `account-sync`, `account-discovery`, `pgp-gpg`, `pgp-commands` and `pgp-native`.
- Replaced id mapping database `SQLite` by `sled`, a pure key-val store written in Rust to improve portability of the tool. Therefore, id aliases are reset.
- Changed location of the synchronization data from `$XDG_DATA_HOME/himalaya/<account-name>` to `$XDG_DATA_HOME/pimalaya/email/sync/<account-name>-cache`.
- Changed location of the synchronization cache from `sync.dir` to `$XDG_CACHE_HOME/pimalaya/email/sync/<hash>/`.
- Replaced id mapping database `SQLite` by `sled`, a pure key-val store written in Rust to improve portability of the tool. **Therefore, id aliases are reset**.
- Improved pre and post edit choices interaction [#58].
- Improved account synchronization performances, making it 50% faster than `mbsync` and 370% faster than `OfflineIMAP`.
- Changed `envelope.watch.{event}.{hook}`: hooks can now be cumulated. For example it is possible to send a system notification and execute a shell command when receiving a new envelope:

895
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -16,8 +16,6 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
# features documentation:
# https://pimalaya.org/himalaya/cli/latest/installation.html#cargo
default = [
"imap",
"maildir",
@ -60,8 +58,8 @@ clap_complete = "4.4"
clap_mangen = "0.2"
console = "0.15.2"
dialoguer = "0.10.2"
dirs = "4.0"
email-lib = { version = "=0.22.0", default-features = false }
dirs = "4"
email-lib = { version = "=0.22.1", default-features = false }
email_address = "0.2.4"
env_logger = "0.8"
erased-serde = "0.3"
@ -69,17 +67,17 @@ indicatif = "0.17"
keyring-lib = "=0.3.2"
log = "0.4"
mail-builder = "0.3"
md5 = "0.7.0"
md5 = "0.7"
mml-lib = { version = "=1.0.7", default-features = false }
oauth-lib = "=0.1.0"
once_cell = "1.16"
process-lib = "=0.3.1"
secret-lib = "=0.3.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_json = "1"
shellexpand-utils = "=0.2.0"
sled = "=0.34.7"
termcolor = "1.1"
termcolor = "1"
terminal_size = "0.1"
tokio = { version = "1.23", default-features = false, features = ["macros", "rt-multi-thread"] }
toml = "0.7.4"
@ -91,5 +89,5 @@ uuid = { version = "0.8", features = ["v4"] }
[target.'cfg(not(windows))'.dependencies.coredump]
version = "0.1"
[patch.crates-io]
email-lib = { git = "https://git.sr.ht/~soywod/pimalaya" }
# [patch.crates-io]
# email-lib = { git = "https://git.sr.ht/~soywod/pimalaya" }

View file

@ -8,11 +8,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1704090261,
"narHash": "sha256-Vti1mv4WhmXHPNcFgUiJyt4OKLvsvLzM2eKS4bEegf0=",
"lastModified": 1708842026,
"narHash": "sha256-1r+7l66CFPCjRDZEKq6r7aCpfjqhIkrF3ZTQyEFnkTs=",
"owner": "nix-community",
"repo": "fenix",
"rev": "66fc1883c34c42df188b83272445aedb26bb64b5",
"rev": "b7fff64b5bc36b1662f8317632b11b15b3839b2a",
"type": "github"
},
"original": {
@ -42,11 +42,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
@ -97,11 +97,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1703992652,
"narHash": "sha256-C0o8AUyu8xYgJ36kOxJfXIroy9if/G6aJbNOpA5W0+M=",
"lastModified": 1708702655,
"narHash": "sha256-qxT5jSLhelfLhQ07+AUxSTm1VnVH+hQxDkQSZ/m/Smo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "32f63574c85fbc80e4ba1fbb932cde9619bad25e",
"rev": "c5101e457206dd437330d283d6626944e28794b3",
"type": "github"
},
"original": {
@ -124,11 +124,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1704034202,
"narHash": "sha256-OFBXLWm+aIqG+jNAz8BmB+QpepI11SGLtSY6qEs6EmY=",
"lastModified": 1708768292,
"narHash": "sha256-IBHMNEe3lspVdIzjpM2OVZiBFmFw1DKtdgVN5G41pRc=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "cf52c4b2b3367ae7355ef23393e2eae1d37de723",
"rev": "4a8d0f7f565b6df45da5522dd7366a4df3460cd7",
"type": "github"
},
"original": {

View file

@ -2,7 +2,7 @@ fenix:
let
file = ./rust-toolchain.toml;
sha256 = "SXRtAuO4IqNOQq+nLbrsDFbVk+3aVA8NNpSZsKlVH/8=";
sha256 = "e4mlaJehWBymYxJGgnbuCObVlqMlQSilZ8FljG9zPHY=";
in
{
fromFile = { system }: fenix.packages.${system}.fromToolchainFile {

View file

@ -11,7 +11,7 @@ use crate::{
///
/// This command performs a checkup of the given account. It checks if
/// the configuration is valid, if backend can be created and if
/// sessions work.
/// sessions work as expected.
#[derive(Debug, Parser)]
pub struct AccountCheckUpCommand {
#[command(flatten)]