Commit graph

123 commits

Author SHA1 Message Date
Clément DOUIN
694173b534
release v0.7.0 (#433)
* update codebase with email lib changes (#431)

update himalaya-lib, rename remaining mbox vars

add missing methods from lib

update changelog

* fixed missing folder aliases #430

* improve README links

* fix README repology link

* fix README repology table

* fix README repology table 2

* center README repology table

* fix README cosmetic issues

* fix README cosmetic issues 2

* fix README title

* fix README wiki links

* fix lock file

* prepare v0.6.2

* fix ci

* try some musl builds #356

* add musl build to artifact #356

* add musl build to deployment pipeline #356

* migrate clap v4, add man command #419

* add option to choose color manually #407

* update links and badges

* update matrix badge

* add github release version badge

* update badges links

* fix code bloc type

* fix tests

* fix cargo lock

* generate all man pages for all subcommands #419

* fix query and headers arg parsers

* fix invalid flags and options due to clap v4 migration

* fix tests

* remove -l|--log-level option

* refactor contributing guide

* update lib

* fix flags string printer

* make commands read, attachments, copy, move and delete accept multiple ids

* fix ids arg parser

* fix flags subcommands conflicts between ids and flags

* flip back copy and move arguments

* add issue template (#439)

* update lib, prepare for sync feature

* update himalaya lib, fix senders and config

* update lock file himalaya lib

* fix sync enabling issues

* fix wrong imap backend init in main file

* fix notmuch backend post sync feature

* configuration wizard (#432)

* make DeserializedConfig::path more robust

With this change, himalaya uses the crate `dirs` in order to follow XDG
specifications on Unix, Known Folder on Windows and Standard Directories
on MacOS. This gives us much smoother cross-platform support. It still
has the same fallbacks (`$HOME/.config/himalaya/config.toml` and
`$HOME/.himalayarc`.)

Additionally, this commit removes a bit of in-house code-bloat.

* add wizard entrypoint and basic structure

* wip

* feat: impl Serialize for all DeserializedConfigs

* feat: select default account and write to file

* feat: add SMTP part of wizard

* build: update lockfile

* refactor: separate out multiple files for wizard

* style: friendlier and prettier messages

* feat: add maildir part of wizard

* feat: add notmuch part of wizard

* chore: clippy lints and reorder prompts

* fix: contrived solution to serializing None values

* fix: allow empty Option field when deserializing

* style: address PR review comments

* fix: utilize notmuch lib in finding database path

* fix notmuch wizard

---------

Co-authored-by: Clément DOUIN <clement.douin@posteo.net>

* add account sync progress bar

* improve sync spinner

* make the sync dry run flag show patches without applying them

* update himalaya lib, increase imap session pool size

* add disable cache flag

* add nlnet logo in readme

* update himalaya lib deps, make use of sync reports

* prepare v0.7.0

* bump rustc v1.67.0 and clap v4.1.4

* bump himalaya lib v0.5.1, fix flake lock file

---------

Co-authored-by: janabhumi <dmitriy@ideascup.me>
Co-authored-by: Knut Magnus Aasrud <km@aasrud.com>
2023-02-08 16:03:45 +01:00
Clément DOUIN
d29b227c4b
prepare v0.6.1 2022-10-12 16:47:44 +02:00
Clément DOUIN
6a15b742b0
add sanitize flag for the read command, fix #352 2022-10-12 15:36:36 +02:00
Clément DOUIN
98929d687b
update himalaya-lib for smtp and imap ssl option 2022-10-12 00:23:53 +02:00
Clément DOUIN
9630a6f108
update changelog 2022-10-11 16:37:59 +02:00
Clément DOUIN
15e8a0f08f
fix changelog typos 2022-10-10 21:31:38 +02:00
Clément DOUIN
82133b30d9
update lib v0.3.1, use MIT license 2022-10-10 18:14:56 +02:00
Clément DOUIN
44b980c329
fix changelog typos 2022-09-22 18:16:16 +02:00
Clément DOUIN
a3686c1c44
clean config refactor 2022-09-22 16:38:38 +02:00
Clément DOUIN
37572e6c23
prepare release v0.5.10 2022-03-20 21:19:45 +01:00
Clément DOUIN
87fc37729f
bump maildir version with windows support (#346) 2022-03-20 21:17:21 +01:00
Clément DOUIN
ac8628c08c
fix flag commands (#334) 2022-03-15 13:55:40 +01:00
Clément DOUIN
4f6f884962
prepare release v0.5.9 2022-03-12 18:02:46 +01:00
Clément DOUIN
f9bed5f3c2
introduce read_headers in account config (#338) 2022-03-12 15:27:53 +01:00
Clément DOUIN
6b042f5e6a
fix listings json api (#331) and maildir e2e tests (#335) 2022-03-12 00:33:50 +01:00
Clément DOUIN
984eb8c9f7
fix notmuch backend infinite loop (#329) 2022-03-08 14:22:02 +01:00
Clément DOUIN
f79e0ae4fb
add pre-send hook (#178) 2022-03-05 00:42:11 +01:00
Clément DOUIN
212f5e6eb1
improve attachments command (#281)
Also fixed a printer typo.
2022-03-04 23:05:01 +01:00
Clément DOUIN
130ed24a5a
fix missing or invalid cc when replying to a message (#324)
I also added tests for the `Msg::into_reply` method and made the
`Msg::merge_with` stricter.
2022-03-04 21:50:09 +01:00
Clément DOUIN
04cce37316
prepare release v0.5.8 2022-03-04 14:36:16 +01:00
Clément DOUIN
f06beb61ae
make one cargo feature per backend (#318) 2022-03-04 14:19:54 +01:00
Clément DOUIN
736641bf77
add list accounts command (#244) 2022-03-03 17:29:39 +01:00
Clément DOUIN
e5164a2ce3
fix bad sender and date in reply and forward tpl (#321) 2022-03-03 15:16:34 +01:00
Clément DOUIN
1b16804ed6
update changelog 2022-03-03 13:12:01 +01:00
Clément DOUIN
6e5362e76e
add keybind precision vim readme (#298) 2022-03-02 23:32:00 +01:00
Clément DOUIN
6b920cbe76
remove variation selectors from table cells (#300) 2022-03-02 11:13:38 +01:00
Clément DOUIN
4e24d04faf
update changelog, prepare v0.5.7 2022-03-01 23:14:34 +01:00
Clément DOUIN
b855c44508
replace xxx-folder config props by mailboxes 2022-02-25 23:30:58 +01:00
Clément DOUIN
34ab0f4fa5
fix sort command not found (#308) 2022-02-25 21:21:48 +01:00
Clément DOUIN
bd15e7d979
pin imap version (#303) 2022-02-25 18:55:42 +01:00
Clément DOUIN
2b203b615c
update changelog with #305 2022-02-23 23:44:41 +01:00
Clément DOUIN
b146d9b7e1
rollback rust edition (#303) 2022-02-23 11:36:38 +01:00
Clément DOUIN
158bc86cfa
release v0.5.6 (#301)
* make use of mailparse::MailAddr

* move addr logic to a dedicated file

* update changelog

* add suffix to downoalded attachments with same name (#204)

* implement sort command (#34)

* introduce backends structure (#296)

* implement backend structure poc

* improve config namings

* improve account namings and structure

* rename imap vars to backend

* maildir backend (#299)

* refactor config system, preparing maildir backend

* rename deserializable by deserialized

* wrap backend in a Box

* reword backend trait methods

* merge list envelopes functions

* remove find_raw_msg from backend trait

* remove expunge fn from backend trait

* rename add_msg from backend trait

* init maildir integration tests, start impl maildir backend fns

* implement remaining methods maildir backend, refactor trait

* improve backend trait, add copy and move fns

* remove usage of Mbox in handlers

* reorganize backends folder structure

* move mbox out of domain folder

* rename mbox entities

* improve mbox structure

* remove unused files, move smtp module

* improve envelope, impl get_envelopes for maildir

* link maildir mail entry id to envelope id

* use erased-serde to make backend get_mboxes return a trait object

* remove unused mbox files

* rename Output trait

* make get_envelopes return a trait object

* remove unused impl for imap envelope

* update backend return signature with Box

* replace impl from imap::Fetch to mailparse::ParsedMail

* split flags by backends

* remove unused flags from msg

* remove remaining flags from domain

* impl maildir copy and move, improve maildir e2e tests

* set up imap backend e2e tests

* move domain/msg to msg

* repair broken tests

* fix maildir envelopes encoding issues

* add date column to maildir envelopes

* implement maildir list pagination

* improve maildir subdir path management

* add pgp and maildir features to readme

* update changelog

* bump version v0.5.6
2022-02-22 16:54:39 +01:00
Clément DOUIN
585fa77af5
release v0.5.5 (#290)
* update main screenshot readme

* add contributing file

* update changelog

* doc: remove roadmap from reame

* improve main comments

* improve arg and handler logs

* fix multiple recipients issue (#288)

* add notify-query config option (#289)

* set up end-to-end encryption (#287)

* init basic pgp encrypt/decrypt

* add small rpgp poc for (#286)

* improve decrypt parts logs

* add pgp-decrypt-cmd to config

* add pgp-encrypt-cmd to config

* init pgp signature

* improve decrypt part readability

* improve encrypt multipart, remove sign

* remove unused md5 lib

* add encrypt arg to reply and forward commands

* fix typos

* prepare v0.5.5
2022-02-08 14:50:09 +01:00
Clément DOUIN
e33a9a72e9
release v0.5.4 (#285)
* replace bsd3 license by bsd4

* add attachments with save and send commands (#284)

* set up tpl save and send commands

* improve msg save and send handlers

* add vim msg#add_attachment fn

* improve vim logs

* update changelog

* add attachment keybind vim doc

* reverse range order fetch envelopes (#276)

* bump version v0.5.4
2022-02-05 00:29:57 +01:00
Clément DOUIN
c5ed252f33
bump version v0.5.3 2022-02-03 23:34:15 +01:00
Clément DOUIN
8cdeba62a1
release v0.5.2 (#282)
* doc: fix blur in list msg screenshots (#181)

* fix a typo in mbox arg (#245)

`targetted` to `targeted` 👌🏻

* make inbox, sent and drafts folder customizable (#246)

* mbox: make inbox, sent and drafts folder customizable

* msg: update send handler parameters order

* vim: fix extracting message ids from list (#247)

The current method doesn't work because the list uses a fancy line
character (`│`) as the separator, not a regular pipe character (`|`).
Matching for the first number in the line instead solves the problem and
will continue to work regardless of what separator is used.

* add new line after printing strings (#251)

* init cargo workspace (#252)

* init cargo workspaces

* nix: fix assets path

* doc: update rtp vim plugin

* vim: add error message if loading vim plugin from vim/

* init sub crates (#253)

* init sub crates

* doc: update readme

* doc: improve main readme

* doc: add links, add missing crate task

* doc: update emojis

* update cargo lock

* implement contact completion with completefunc (#250)

This allows users to define a command for contact completion with
`g:himalaya_complete_contact_cmd` and trigger it with `<C-x><C-u>` when
writing an email.

* fix clippy lints (#255)

* revert cargo workspace feature

* fix nix run (#274)

* replace cargo2nix by naersk

* add rust-analyzer and rustfmt to nix build inputs

* remove wiki from git submodules, update changelog

* fix missing range when fetch fails, add more logs (#276)

* add missing fix in changelog

* remove blank lines and spaces from plain parts (#280)

* fix watch command (#271)

* remove also tabs from text parts (#280)

* pin native-tls minor version (#278)

* improve msg sanitization (#280)

* fix mbox vim plugin telescope preview (#249)

* bump version v0.5.2

* update changelog

Co-authored-by: Austin Traver <austintraver@gmail.com>
Co-authored-by: Jason Cox <dev@jasoncarloscox.com>
Co-authored-by: Gökmen Görgen <gkmngrgn@gmail.com>
Co-authored-by: Ethiraric <ethiraric@gmail.com>
2022-02-02 02:21:35 +01:00
Clément DOUIN
f9775ae8af
doc: update project desc, bump version v0.5.1 2021-10-24 23:41:12 +02:00
Clément DOUIN
43785b3c1e
vim: render msg table directly from cli (#238)
* vim: render msg table from cli directly

* doc: update changelog
2021-10-24 23:34:04 +02:00
Clément DOUIN
e154481c5b
add max table width arg, refactor printer (#237)
* printer: refactor output to pass down args from cli

* msg: add missing max width arg to search cmd

* output: rename printer service, merge print with output folder

* doc: update changelog and wiki

* table: rename print fn
2021-10-24 21:02:02 +02:00
Clément DOUIN
192445d7e4
make use of termcolor crate to disable colors (#236)
* table: replace custom color by termcolor

* table: deactivate colors if not tty

* table: rename printable to print, add more comments

* table: make use of writters, fix tests

* doc: update changelog

* doc: add page to wiki
2021-10-24 00:17:12 +02:00
Clément DOUIN
eaa83b71ef
notify cannot get body (#233)
* imap: fix notify cmd

* doc: update changelog
2021-10-23 00:46:21 +02:00
Clément DOUIN
f0b2fd788d
remove error when empty subject (#232)
* msg: remove error when empty subject

* doc: update changelog
2021-10-23 00:25:34 +02:00
Clément DOUIN
284929d5dc
add missing issue changelog v0.5.0 2021-10-11 00:37:52 +02:00
Clément DOUIN
767eee95f5
release v0.5.0 2021-10-11 00:06:46 +02:00
Clément DOUIN
c619f06206
replace error-chain by anyhow (#152) 2021-09-13 11:52:20 +02:00
Clément DOUIN
52e76d19e5
make pagination starting at 1 instead of 0 (#186) 2021-08-06 13:33:59 +02:00
Clément DOUIN
97054d3133
expand tilde in config file (#102) 2021-08-05 23:18:28 +02:00
Clément DOUIN
a6b30b746c
add config opt signature-delimiter 2021-08-04 22:25:45 +02:00
Clément DOUIN
7b046f87ee
fix new/reply/forward issue in vim plugin (#176) 2021-08-03 22:46:36 +02:00