389 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>
v0.7.0
2023-02-08 16:03:45 +01:00
Clément DOUIN bda37ca0ed Release v0.6.1
### Added

* Added `-s|--sanitize` flag for the `read` command.
  
### Changed

* Changed the behaviour of the `-t|--mime-type` argument of the `read`
  command. It is less strict now: if no part is found for the given
  MIME type, it will fallback to the other one. For example, giving
  `-t html` will show in priority HTML parts, but if none of them are
  found it will show plain parts instead (and vice versa).

* Sanitization is not done by default when using the `read` command,
  the flag `-s|--sanitize` needs to be explicitly provided.

### Fixed

* Fixed empty text bodies when reading html part on plain text email
  [#352].

## himalaya-lib [[v0.4.0](https://git.sr.ht/~soywod/himalaya-lib/log/2425269e6d4619ddfb7da37ffef8a6ab5ae1f670)]

### Added

* Added pipe support for `(imap|smtp)-passwd-cmd` [#373].
* Added `imap-ssl` and `smtp-ssl` options to be able to disable
  encryption [#347].
* Implemented sendmail sender [#351].
* Fixed `process` module for `MINGW*` [#254].

### Changed

* Moved `Email::fold_text_plain_parts` to `Parts::to_readable`. It
  take now a `PartsReaderOptions` as parameter:
  * `plain_first`: shows plain texts first, switch to html if empty.
  * `sanitize`: sanitizes or not text bodies (both plain and html).

### Fixed

* Fixed long subject decoding issue [#380].
* Fixed bad mailbox name encoding from UTF7-IMAP [#370].
v0.6.1
2022-10-12 17:00:03 +02: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 bb8f63e4b0 update code for sendmail sender lib feature 2022-10-12 13:59:20 +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 29f2bdd931 replace badges by repology big one 2022-10-11 16:43:55 +02:00
Clément DOUIN 9630a6f108 update changelog 2022-10-11 16:37:59 +02:00
Michael Vetter 285d9d0521 add repology badge (#414)
As more distributions start to package himalaya I think this information
might be useful.

Co-authored-by: Clément DOUIN <clement.douin@posteo.net>
2022-10-11 14:50:25 +02:00
Clément DOUIN cd4575eb5e Merge branch 'develop' v0.6.0 2022-10-10 21:33: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 8125a55bbe use himalaya-lib from develop branch instead 2022-10-07 10:24:25 +02:00
Clément DOUIN 4fe5d246f1 fix notmuch backend feature 2022-09-29 00:44:31 +02:00
Clément DOUIN cdc0e0aa6a remove notmuch backend from default features 2022-09-29 00:01:21 +02:00
Clément DOUIN 29aa383147 bump himalaya lib v0.2.0 2022-09-28 23:28:05 +02:00
Clément DOUIN 1dcdfa8afa update nix flake 2022-09-28 22:28:08 +02:00
Clément DOUIN 7777eca667 remove himalaya lib path from cargo config 2022-09-28 22:09:41 +02:00
Clément DOUIN dda90809cb fix folder source not taken into consideration 2022-09-28 11:36:14 +02:00
Clément DOUIN abb9f4172b fix args typos 2022-09-27 21:42:13 +02:00
Clément DOUIN 329af51534 improve args management 2022-09-27 17:37:08 +02:00
Clément DOUIN 3feccc3225 update readme 2022-09-26 00:08:46 +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 82b7dfb97f Merge branch 'development' 2022-07-14 12:24:43 +02:00
Clément DOUIN 672666734b doc: remove announcement header 2022-07-14 12:23:39 +02:00
Clément DOUIN ceebf643c4 doc: improve announcement about financial support 2022-07-14 12:22:21 +02:00
Clément DOUIN 7b9cfc4512 Merge branch 'development' 2022-07-14 12:15:19 +02:00
Clément DOUIN 29c731336f doc: add announcement about financial support 2022-07-14 12:14:37 +02:00
Clément DOUIN 9bcd659af2 clean mbox lib module 2022-06-27 20:55:22 +02:00
Clément DOUIN 1e4dc0cb5a add missing deserialized config errors 2022-06-27 20:51:12 +02:00
Clément DOUIN c0e002ea1b clean process and account modules (#340) 2022-06-27 01:13:55 +02:00
Clément DOUIN a5c4fdaac6 move backend to lib folder (#340) 2022-06-26 21:47:04 +02:00
TornaxO7 3b2991ae56 bumping lettre to 0.10.0-rc.7 (#391)
* bumping lettre to 0.10.0-rc.7

* executed `cargo build`
2022-06-05 17:51:34 +02:00
Clément DOUIN 3c5379b24d fix tests 2022-06-05 17:14:57 +02:00
Clément DOUIN 8f667def0c move envelopes and flags to lib
refactor maildir envelopes/flags

refactor notmuch envelopes
2022-06-05 13:55:40 +02:00
TornaxO7 ca67780341 updating the version of lettre (#389) 2022-06-04 11:17:29 +02:00
Clément DOUIN e1c92d3f57 make Backend::add_msg return String instead of trait (#340)
This step was necessary to move logic from CLI to lib.
2022-05-29 14:06:54 +02:00
Clément DOUIN 7c01f88006 make Backend::get_mboxes return struct instead of trait (#340)
This step was necessary to move logic from CLI to lib. Indeed, the
trait returned by get_mboxes needed to implement Table, which is
related to the CLI module only.
2022-05-29 12:36:10 +02:00
Clément DOUIN a0461d84ba use default rust toolchain components 2022-05-28 20:03:27 +02:00
Clément DOUIN 3f5feed0ff extract account and config from cli to lib (#340) 2022-05-28 17:07:29 +02:00
Clément DOUIN 0e98def513 msg: add imap flag aliases 2022-05-28 17:02:45 +02:00
Clément DOUIN cc918e0eee fix license and readme file path in cargo.toml 2022-05-28 17:02:45 +02:00
TornaxO7 b6643be03f add rust toolchain.toml (#386)
* modified gitignore

* fixing gitignore

* reomving the himalaya.iml file

* applied cargo fmt

* adding rust-toolchain

* restoring the .gitignore file

* make nix use rust-toolchain.toml

* add back rustfmt and rust-analyzer to buildInputs

I opened an issue to see if its the correct behaviour from the
overlay: https://github.com/oxalica/rust-overlay/issues/88.

* adding clippy to rust-toolchain.toml

Co-authored-by: Clément DOUIN <clement.douin@posteo.net>
2022-05-28 14:36:32 +02:00
TornaxO7 bed5a3856b improve gitignore files (#385)
* modified gitignore

* fixing gitignore

* reomving the himalaya.iml file

* applied cargo fmt

* fixed typo in .gitignore and removed an entry in it

* adding gitignore to cli/

* reducing .gitignore in cli to one line
2022-05-28 14:10:38 +02:00
Robert Günzler 0696f36f05 vim: msg_id is a uuid string (#383)
change the id parser according to the uuid spec:
https://datatracker.ietf.org/doc/html/rfc4122#section-3

and I get this error when using the vim plugin:

	Error: cannot find maildir message by short hash "0" at "/path/to/my/INBOX"
	Caused by:
	0: cannot find maildir message id from short hash "0"
	1: the short hash "0" matches more than one hash: 030598120934103c456ce08338886728, 06edb10a55efb89de45d8560aee33c8e

Signed-off-by: Robert Günzler <r@gnzler.io>
2022-05-28 09:49:40 +02:00
Dmitriy Pleshevskiy ba8ef9adf6 fix(config/imap): get first line for password (#374)
* fix(config/imap): get first line for password

Fixes #373

* fix(config/smtp): get first line password

Co-authored-by: Clément DOUIN <soywod@users.noreply.github.com>
2022-05-24 00:41:29 +02:00
Robert Günzler 5a2d7fa6b5 always reset colors settings on the output stream after writing (#375)
This is according to:
https://docs.rs/termcolor/1.1.2/termcolor/#example-using-standardstream
Not resetting the color settings on the stream will leak the style to
the shell otherwise.
This can be observed when listing mailboxes prior to this patch.

Signed-off-by: Robert Günzler <r@gnzler.io>

Co-authored-by: Clément DOUIN <soywod@users.noreply.github.com>
2022-05-07 22:54:49 +02:00
Dmitriy Pleshevskiy 4d91a5d74e table: reset color after cell (#372)
Co-authored-by: Clément DOUIN <soywod@users.noreply.github.com>
2022-05-07 22:29:09 +02:00
fabrixxm b7157573f2 default Content-Type to text/plain for not multipart messages (#357)
* Default Content-Type to text/plain for not multipart messages

Parse body of messages without subparts as text/plain if Content-Type
header is not set.

* narrow check for defaulting to `text/plain`

take message body as `text/plain` only if message has only one part
and has no `Content-Type` header

Co-authored-by: Clément DOUIN <soywod@users.noreply.github.com>
2022-05-07 22:13:08 +02:00