Commit graph

187 commits

Author SHA1 Message Date
Clément DOUIN 5749bc3a82
update changelog with secret changes and oauth2 support 2023-05-07 00:16:47 +02:00
Clément DOUIN a7e9c560c2
release v0.7.3 2023-05-01 01:28:31 +02:00
Clément DOUIN 9453f83c94
fix unit tests 2023-05-01 00:44:59 +02:00
Clément DOUIN 5d00e0bef0
fix windows releases 2023-05-01 00:36:55 +02:00
Clément DOUIN 84003f951a
improve cross compilation, prepare v0.7.2 2023-05-01 00:19:59 +02:00
Clément DOUIN 9cf5003697
update changelog 2023-04-25 09:39:49 +02:00
Clément DOUIN 072f488d89
replace himalaya-lib by pimalaya-email 2023-04-20 12:13:27 +02:00
Clément DOUIN 55f5de1803
replace reply all -a by -A 2023-02-22 14:36:31 +01:00
Clément DOUIN fb324878fa
improve global options, add account config sync-folders-strategy 2023-02-22 13:20:58 +01:00
Clément DOUIN 22fb1b8dee
add completions and man pages to release archives #43 2023-02-21 16:07:16 +01:00
Clément DOUIN 21d8d57f72
add create and delete folder commands #54 2023-02-20 18:26:10 +01:00
Clément DOUIN 3631ca714b
fix flags case sensitivity 2023-02-20 17:41:26 +01:00
Clément DOUIN bfb572acbd
fix config deserialization issues 2023-02-19 08:51:19 +01:00
Clément DOUIN 509b09d533
prepare v0.7.1
Those commits have been stashed then applied due to merge issue:

add ability to sync specific folders f7585eb
add expunge command 1c0b7fb
update readme links to documentation e1c8cf5
fix other doc typos 9c27165
reword title of the project 1eaac7d
reword title of the project bis a7419d6
fix broken links in changelog 26b0311
prepare v0.7.1 2b5e58e
2023-02-14 16:47:02 +01:00
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
Clément DOUIN 7c88896fcc
release v0.4.0 2021-06-03 16:15:46 +02:00
Clément DOUIN e3d022720d
add ability to change account vim plugin (#91) 2021-06-03 16:08:03 +02:00
Clément DOUIN 27638be387
update changelog with template refactor 2021-06-02 23:47:10 +02:00
Clément DOUIN d41df7d1a4
fix vim help doc (#117) 2021-05-09 17:15:29 +02:00
Clément DOUIN 027b8726c6
fix missing attachment arg for reply and forward cmds (#109) 2021-05-09 13:14:37 +02:00
Clément DOUIN 15376eedc3
remove content-type from templates (#146) 2021-05-09 13:04:03 +02:00
Clément DOUIN 44fbaaa1d6
fix seen flag when moving a msg 2021-05-08 23:14:28 +02:00
Clément DOUIN f6b2fa76b7
release v0.3.2 2021-05-08 22:34:00 +02:00
Clément DOUIN 2a8f576d45
remove .exe from release (#144) 2021-05-08 22:32:50 +02:00
Clément DOUIN ccfc3b0d6e
update vim readme with new mappings and options 2021-05-08 22:27:12 +02:00
Clément DOUIN 9125b3e869
update docs+tests about idle command 2021-05-08 13:49:13 +02:00
Clément DOUIN 66abac61fa
add wiki entry about new msgs counter (#121) 2021-05-08 13:19:25 +02:00
Clément DOUIN dcbbe01c94
add mailbox attributes (#134) 2021-05-04 23:11:01 +02:00
Clément DOUIN 435932a501
get signature from file (#135) 2021-05-04 16:19:06 +02:00
Clément DOUIN 9ba0c75c58
remove \t from subjects (#141) 2021-05-04 12:18:36 +02:00
Clément DOUIN 9ea84be081
release v0.3.1 2021-05-04 00:23:37 +02:00
Clément DOUIN 4668d51476
use stdin to send message (#78) 2021-05-04 00:15:11 +02:00
Clément DOUIN 08f10266e3
fix vim plugin empty mbox message (#136) 2021-05-03 23:34:16 +02:00
Clément DOUIN d5ed69ebf9
fix overflow panic when shrink column (#138) 2021-05-03 22:10:03 +02:00
Clément DOUIN e07e72f497
fix table with subject containing \r\n(#141) 2021-05-03 14:25:28 +02:00
Clément DOUIN 65d0bdc4f0
release v0.3.0 2021-04-28 01:13:34 +02:00
Clément DOUIN fa2f93185f
improve logging, replace log-level by RUST_LOG 2021-04-28 00:47:24 +02:00
Clément DOUIN 950e57acdb
show email addr when name not available (#131) 2021-04-27 18:10:18 +02:00
Clément DOUIN 754d311a05
fix edition file format (#133) 2021-04-27 17:18:53 +02:00
Clément DOUIN cddb7bde37
refactor table system (#132)
* init table trait

* add shrink_col_index and max_width method to Table trait

* make unicodes work when shrinking

* improve readability of the table

* replace old table system with new one

* update changelog
2021-04-27 14:54:53 +02:00
Clément DOUIN cb296a5d98
fix stderr redirection (#130) 2021-04-26 11:32:19 +02:00
Clément DOUIN 06f628c33b
fix idle mode after network interruption (#123) 2021-04-25 16:20:24 +02:00
Clément DOUIN e2ef1ef586
update changelog 2021-04-24 23:52:13 +02:00
Clément DOUIN 17df485e19
vim table containing emoji (#122) 2021-04-24 23:31:26 +02:00
Clément DOUIN 2d299e1d42
refresh email list on load buffer (#125) 2021-04-24 23:13:51 +02:00
Clément DOUIN 15c635eb1d
use env_logger for plain output fmt (#126) 2021-04-24 22:54:01 +02:00
Clément DOUIN 366e0b72ed
add idle_hook_cmds setting 2021-04-23 00:20:02 +02:00
Clément DOUIN 95b99c25da
add custom config path (#86) 2021-04-17 23:19:34 +02:00
Clément DOUIN 3e0d1f704d
add default page size config (#96) 2021-04-17 22:41:10 +02:00
Clément DOUIN 2f4caaca07
fix missing link v0.2.6 changelog 2021-04-17 00:12:45 +02:00
Clément DOUIN 9b303f144e
release v0.2.6 2021-04-17 00:09:06 +02:00