Commit graph

193 commits

Author SHA1 Message Date
Clément DOUIN 73e1824a0d
bump email-lib@0.18.0 2023-12-16 10:20:29 +01:00
Clément DOUIN 6942c59097
improve folder alias management 2023-12-15 22:54:13 +01:00
Clément DOUIN d542b2496e
bump lib, fix config sample typo 2023-12-14 22:27:33 +01:00
Clément DOUIN d6bf407653
move watch command from folder to envelope 2023-12-14 14:12:25 +01:00
Clément DOUIN 7fccdd822a
init folder watch command 2023-12-14 12:13:08 +01:00
Clément DOUIN 2e0ec913cf
refactor configs to match new nested api from lib 2023-12-11 18:38:00 +01:00
Clément DOUIN 8e05be7f77
apply pr #461 due to conflicts, bump pimalaya crates 2023-12-10 22:01:49 +01:00
Clément DOUIN 203ed2f917
fix editor command hanging, add --preview flag for msg read cmd 2023-12-09 22:06:08 +01:00
Clément DOUIN abe4c7f4ea
refactor account with clap derive api 2023-12-06 18:09:49 +01:00
Clément DOUIN d2308221d7
refactor man and completion with clap derive api 2023-12-05 22:38:08 +01:00
Clément DOUIN 8b1a289f4d
rename existing cargo features, fix imports 2023-12-04 22:26:49 +01:00
Clément DOUIN f24a0475cc
fix imap credentials and pgp 2023-12-03 13:03:36 +01:00
Clément DOUIN a0888067da
fix sync cache 2023-11-28 12:30:50 +01:00
Clément DOUIN 7629a66c9c
use email-lib git instead of path 2023-11-27 17:15:34 +01:00
Clément DOUIN cec658aff4
bump lib with backend features 2023-11-25 12:37:00 +01:00
Clément DOUIN 56fc31b367
bump mml-lib@v0.5.0 and email-lib@v0.15.3 2023-09-25 15:32:29 +02:00
Clément DOUIN 4b60379070
try fixing #132 by using shellexpand-utils
https://todo.sr.ht/~soywod/pimalaya/132
2023-08-29 11:28:20 +02:00
Clément DOUIN 7ad1772c83
update pimalaya libs, prepare v0.9.0 2023-08-28 09:05:14 +02:00
Clément DOUIN 43c270bd44
update changelogs 2023-08-06 14:31:15 +02:00
Clément DOUIN 2b0f378a31
bump pimalaya libs 2023-08-06 09:23:23 +02:00
Clément DOUIN 176da9eeeb
add pgp commands support back 2023-08-05 22:53:39 +02:00
Clément DOUIN 0eed8f355d
add gpg support 2023-08-05 12:10:25 +02:00
Clément DOUIN 183c0272cc
fix pgp exports 2023-08-04 21:33:15 +02:00
Clément DOUIN 1ecceca1e6
bump libs 2023-08-03 10:15:02 +02:00
Clément DOUIN 99ec7c6d97
add pgp support 2023-08-02 18:03:47 +02:00
Clément DOUIN 183aa2f306
bump pimalaya-email a912fa 2023-07-20 12:54:08 +02:00
Clément DOUIN a8bd265181
bump pimalaya-oauth2 0.0.4 with async 2023-07-20 11:43:28 +02:00
Clément DOUIN fff82498ba
release v0.8.4 2023-07-18 17:48:19 +02:00
Clément DOUIN 5c360da80b
release v0.8.3 2023-07-18 17:24:52 +02:00
Clément DOUIN cb1178ee9d
release v0.8.2 2023-07-18 16:40:08 +02:00
Clément DOUIN 679007ba64
resolve folder aliases from backend implems instead #95 2023-07-17 11:31:28 +02:00
Clément DOUIN 2f4bbcb1db
set up coredump 2023-07-13 15:39:41 +02:00
Clément DOUIN e821fe06d9
update lib versions and changelog 2023-07-09 22:31:39 +02:00
Clément DOUIN cac8280c8c
use tokio async runtime
last fixes before merge
2023-07-05 09:04:40 +02:00
Clément DOUIN 7a6ebc0cd0
add new datetime options 2023-06-15 16:11:08 +02:00
Clément DOUIN c254f64569
refactor builders and sync 2023-06-13 10:14:20 +02:00
Clément DOUIN 696834c8dc
fix rust toolchain hash 2023-06-04 00:06:11 +02:00
Clément DOUIN dfff9064d7
release v0.8.0 2023-06-03 23:38:43 +02:00
Clément DOUIN 7aff3bbf9d
fix imap list envelopes pagination 2023-06-01 12:47:02 +02:00
Clément DOUIN b800d6e6fc
fix empty plain taken instead of html 2023-05-31 21:49:52 +02:00
Clément DOUIN d557d9e1df
prepare v0.8.0 2023-05-31 16:12:18 +02:00
Clément DOUIN 32b31db175
fix back read -t html 2023-05-30 23:07:10 +02:00
Clément DOUIN 65ac0c7702
improve tpl builders api 2023-05-30 00:34:15 +02:00
Clément DOUIN 5da1148dc9
refactor wizard to handle password and oauth2 configuration 2023-05-19 15:26:53 +02:00
Clément DOUIN d814ae904a
drastically simplified configs
Also started to refactor wizard (WIP).
2023-05-16 00:11:37 +02:00
Clément DOUIN 0ff77b5179
move id mapper from lib to CLI 2023-05-14 21:41:31 +02:00
Clément DOUIN 53538e36f9
fix sync deadlocks 2023-05-12 21:59:53 +02:00
Clément DOUIN f8eed6ad14
fix smtp cmd password issue 2023-05-08 16:07:52 +02:00
Clément DOUIN 441ce40e09
make secrets have default implem
Secrets use by default the keyring, and the entry is based on the name
of the current account to avoid conflicts.
2023-05-07 20:52:13 +02:00
Clément DOUIN 5d21433816
fix smtp default config, fix cargo imports 2023-05-06 21:23:16 +02:00
Clément DOUIN b478c545ad
refactor imap oauth2 and password config using sub crates from lib 2023-05-06 15:04:55 +02:00
Clément DOUIN f026e48733
improve oauth2 config deserialization and configuration 2023-05-05 00:07:27 +02:00
Clément DOUIN 21f67bc7f5
set up imap oauth2 config 2023-05-04 12:17:43 +02:00
Clément DOUIN a7e9c560c2
release v0.7.3 2023-05-01 01:28:31 +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 7b3a9e4cc7
improve cargo features naming and organization 2023-03-29 18:09:39 +02:00
Clément DOUIN 69590f6986
added vendored cargo feature 2023-03-11 17:33:57 +01:00
Clément DOUIN d5efd03bcd
bump himalaya lib 3aa70c4b 2023-02-28 02:16:24 +01:00
Clément DOUIN 501c7f18f5
add flag seen by default for send and save commands 2023-02-23 18:23:15 +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 3631ca714b
fix flags case sensitivity 2023-02-20 17:41:26 +01:00
Clément DOUIN 0ab652b4b6
bump himalaya-lib 8c53868 2023-02-20 11:57:41 +01:00
Clément DOUIN 4b3280cbbb
bump himalaya-lib b1a1834d 2023-02-20 10:03:55 +01:00
Clément DOUIN bfb572acbd
fix config deserialization issues 2023-02-19 08:51:19 +01:00
Clément DOUIN efd24251e0
bump himalaya-lib version 2023-02-18 10:08:26 +01:00
Clément DOUIN beba35d57e
use develop branch of himalaya-lib 2023-02-16 16:15:30 +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 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 9630a6f108
update changelog 2022-10-11 16:37:59 +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 29aa383147
bump himalaya lib v0.2.0 2022-09-28 23:28:05 +02:00
Clément DOUIN a3686c1c44
clean config refactor 2022-09-22 16:38:38 +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
TornaxO7 ca67780341
updating the version of lettre (#389) 2022-06-04 11:17:29 +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 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 b2cffd22f1
use cargo workspace feature (#340)
For now, everything has been moved as it is in the "cli"
workspace. The next step is to separate the "lib" from the "cli".
2022-03-16 09:57:24 +01:00
Clément DOUIN 4f6f884962
prepare release v0.5.9 2022-03-12 18:02:46 +01:00
Clément DOUIN 86b41e4914
introduce --header arg for read command (#338) 2022-03-12 13:05:57 +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 4e24d04faf
update changelog, prepare v0.5.7 2022-03-01 23:14:34 +01:00
Clément DOUIN c87512dbd4
make maildir envelopes selectable by short md5 hash 2022-02-27 10:23:58 +01:00
Clément DOUIN e4aa569458
init notmuch backend 2022-02-25 20:26:50 +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 9e320135ec
prepare cargo publishing 2022-02-03 15:54:57 +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