Commit Graph

1049 Commits

Author SHA1 Message Date
Bowen Ho 8030ef5c50 chore: apply clippy --fix
* Fix clippy

* cargo fmt

Refs: #689
2026-05-24 15:08:23 +02:00
Clément DOUIN 68ff784c24 refactor: improve maildir, bring m2dir support 2026-05-24 01:37:37 +02:00
Bowen Ho c490bd5a27 refactor: split composer config into subparts compose, reply and forward
* feat: Add configs for `reply-with` and `forward-with` commands

Config extended from:

(Old)
```toml
[message.composer.mml]
command = "mml compose"
```

, where `compose-with`, `reply-with`, and `forward-with`
all share the same composer command, to:

(New)
```toml
[message.composer.mml]
default = true
compose-command = "mml compose"
reply-command = "mml reply"
forward-command = "mml forward"
```

* docs: ComposerConfig

* refactor(account): simplify composer resolution with `get_composer`

- Implement `Account::get_composer`, and `Account::get_reader`
  to fetch config by name or default.
- Remove the redundant `resolve_composer`, `default_composer`
  `resolve_reader`, and `default_reader` helpers.
- Simplify the configuration retrieval architecture.

* refactor: update composer and reader config to use std::process::Command

- Remove `_command` suffix from `compose`, `reply`,
  and `forward` configuration fields.
- Replace composer and reader config command type
  from `String` to `std::process::Command`.
- Remove `Clone` derives from `Config`, `Account`, and
  related structs due to `Command` type limitations.

Refs: #687
2026-05-23 17:42:03 +02:00
Clément DOUIN 72533ff4a3 build: fix missing base64 dep 2026-05-22 12:19:09 +02:00
Clément DOUIN 128af80c59 build: bump io-imap, io-email and serde_json 2026-05-22 11:53:08 +02:00
Clément DOUIN ef45901b75 build: bump io-jmap and io-email 2026-05-21 21:17:26 +02:00
Clément DOUIN 1933a42e2f fix: redirection issue when reading JMAP message 2026-05-21 20:57:43 +02:00
Clément DOUIN e1eb379231 refactor: make message add return added id
Refs: #627
2026-05-21 14:02:10 +02:00
Clément DOUIN 6ae09790aa chore: cargo fmt 2026-05-20 23:48:27 +02:00
Clément DOUIN c2228e504f build: bump io-email 2026-05-20 23:47:49 +02:00
Clément DOUIN 791a54ef15 style: put back color inside table 2026-05-20 20:02:41 +02:00
Clément DOUIN e58fad97b6 build: adjust versions to prevent duplicates 2026-05-20 18:15:08 +02:00
Clément DOUIN 42480ae2ef ci: fix cargo deny 2026-05-20 02:50:45 +02:00
Clément DOUIN 9dd02da584 docs: switch to agpl license 2026-05-20 02:36:43 +02:00
Clément DOUIN dabfb20431 docs: update contributing and security 2026-05-20 02:21:55 +02:00
Clément DOUIN 44eff37470 build: improve bin size 2026-05-20 02:13:30 +02:00
Clément DOUIN 6dec8f2832 tests: clean unused and fix deny 2026-05-20 00:54:21 +02:00
Clément DOUIN 58d13804e5 re-introduce search query 2026-05-20 00:54:21 +02:00
Clément DOUIN 5500b02cfc clean part 3 2026-05-20 00:54:21 +02:00
Clément DOUIN cd27969e14 clean part 1 2026-05-20 00:54:16 +02:00
Clément DOUIN 8416a41f99 use std clients 2026-05-20 00:54:16 +02:00
Clément DOUIN c32047d4de rewrite lib without io-socket nor io-fs, and with io-email 2026-05-20 00:54:13 +02:00
Clément DOUIN 14edd94896 fix: apply #646 2026-05-20 00:54:12 +02:00
Clément DOUIN b295f159de refactor: unify command names 2026-05-20 00:54:06 +02:00
Clément DOUIN 9ffcfcb1ba tests: group tests by provider 2026-05-20 00:53:25 +02:00
Clément DOUIN 1930546a7d tests: pin stalwart to v0.15.5 2026-05-20 00:53:25 +02:00
Clément DOUIN 0803320b61 tests: add smtp integration tests 2026-05-20 00:53:25 +02:00
Clément DOUIN 6cde5dfe38 refactor: clean serializers 2026-05-20 00:53:25 +02:00
Clément DOUIN 8b868f6e0e tests(imap): init fastmail and stalwart tests 2026-05-20 00:53:25 +02:00
Clément DOUIN 9d46dfd0a2 refactor(jmap): improve errors management 2026-05-20 00:53:25 +02:00
Clément DOUIN 2afbc89d3e tests: add fastmail and stalwart integration tests 2026-05-20 00:53:24 +02:00
Clément DOUIN 6a9877f0f5 refactor: improve jmap session management 2026-05-20 00:53:24 +02:00
Clément DOUIN 1f3e96e263 refactor: clean jmap api 2026-05-20 00:53:24 +02:00
Clément DOUIN c720e6e36b feat: init jmap support 2026-05-20 00:53:24 +02:00
Clément DOUIN 7a581b33b4 feat(imap): add back pagination for envelope listing 2026-05-20 00:53:24 +02:00
Clément DOUIN 2352cc71c7 feat: add maildir support for envelope and flag commands 2026-05-20 00:53:24 +02:00
Clément DOUIN dd43e0e123 feat: init maildir support with message command 2026-05-20 00:53:24 +02:00
Clément DOUIN 7c4dcfc08a fix: use sasl_default_mechanisms from toolbox 2026-05-20 00:53:24 +02:00
Clément DOUIN 17ec4b0fa1 refactor: replace --select by --no-select 2026-05-20 00:53:23 +02:00
Clément DOUIN b77a54e5dc refactor: use imap and smtp streams from toolbox 2026-05-20 00:53:23 +02:00
Barinderpreet Singh aa23a7a2c8 fix references of imap.sasl.login.password and smpt.sasl.login.password
* Fix config reference in MIGRATION.md

* Fix SASL password command sample configuration

* fix typo sasl login sample

---------

Co-authored-by: Clément DOUIN <soywod@users.noreply.github.com>

Refs: #642
2026-05-20 00:53:23 +02:00
Clément DOUIN 1978039f70 fix: add missing manuals and completions commands 2026-05-20 00:53:23 +02:00
Clément DOUIN b9e9d55045 build: use git patch, enable ci release builds 2026-05-20 00:53:23 +02:00
Clément DOUIN f44f891d0e docs: init migration guide
Also adjust config.sample.toml.
2026-05-20 00:53:23 +02:00
Clément DOUIN 0ad22c8630 clean implem part 1 2026-05-20 00:53:23 +02:00
Clément DOUIN eb6b721ba6 clean unused config, add id command 2026-05-20 00:53:23 +02:00
Clément DOUIN 44d2690d59 add account struct for each backend 2026-05-20 00:53:22 +02:00
Clément DOUIN fe0f5cec85 improve modules structure 2026-05-20 00:53:20 +02:00
Clément DOUIN 83be576b80 init smtp 2026-05-20 00:52:32 +02:00
Clément DOUIN 5e477f0a12 add msg get, export and read 2026-05-20 00:51:46 +02:00