Commit graph

437 commits

Author SHA1 Message Date
Clément DOUIN
5b002b1f30
improve maildir id <-> hash mapping 2022-02-27 22:36:09 +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
a2616fc1bd
make notmuch optional via cargo features (#303) 2022-02-26 09:56:26 +01:00
Clément DOUIN
00e2524640
implement notmuch get_mboxes 2022-02-26 00:13:14 +01:00
Clément DOUIN
da0e7889a3
implement notmuch del_msg 2022-02-25 23:59:05 +01:00
Clément DOUIN
7093cfc715
implement notmuch get_msg 2022-02-25 23:53:38 +01:00
Clément DOUIN
8766d8862a
impl notmuch get_envelopes 2022-02-25 23:31:03 +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
e4aa569458
init notmuch backend 2022-02-25 20:26:50 +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
TornaxO7
d5a494a01d
fix maildir expansion (#307)
* Applied shellexpand to maildir_dir

* change to account_config: applied shellexpand to maildir_dir

* rustfmt: removing required version, formatted project

* changing type of `maildir_dir` to `String` and adding shellexpand to
`maildir_dir`
2022-02-23 23:24:17 +01:00
Clément DOUIN
b146d9b7e1
rollback rust edition (#303) 2022-02-23 11:36:38 +01:00
Valera Rozuvan
00728b88e4
fix broken link to wiki on binary installation (#304) 2022-02-23 11:03:51 +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
0e452d8a47
update readme badges 2022-02-04 00:23:02 +01:00
Clément DOUIN
c5ed252f33
bump version v0.5.3 2022-02-03 23:34:15 +01:00
Clément DOUIN
8c54097286
remove branch condition deployment 2022-02-03 16:15:22 +01:00
Clément DOUIN
8f202b0f00
set up crates.io deployment in github actions 2022-02-03 15:54:57 +01:00
Clément DOUIN
9e320135ec
prepare cargo publishing 2022-02-03 15:54:57 +01:00
Clément DOUIN
3a42c937be
link imap debug mode with env logger (#269) 2022-02-03 15:54:56 +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
Alan Morgan
09d3de5e6f
parse raw message as ut8 lossy (#234)
Reading a message raw uses uses utf_lossy to ensure the message can be read
even if there is invalid utf8.
2021-10-23 17:23:25 +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
d9272917f5
clean msg flags, merge tpl entity in msg (#231)
* merge tpl entity into msg

* change envelope subject type to cow

* msg: fix save command when raw msg comes from stdin

* msg: clean flags
2021-10-23 00:17:24 +02:00
Igbanam Ogbuluijah
45aac9fbec
delete vim read buffers on list msgs (#224)
0.5.0 came with the amazing option of reading the mail in the same view.
The issue with this is, if you go back to the message list and read some
new mail, it opens a new pane to read the new mail. This change follows
the path of modern mail readers which have one pane to load the email in.

Technically, this change closes any open "Himalaya read message" pane
before creating a new one. This close-open should create the illusion of
having the same pane reload the content.

A possible extension of this would be to clear the contents of the pane,
and re-use the same pane to load the new message. A good time to go this
extension is if Himalaya chooses to use persistent connections to the
mail server.
2021-10-14 14:04:52 +02:00
Clément DOUIN
85f3ce8976
add mailbox handler tests (#225)
* make imap.fetch_mboxes return a Mboxes struct

* add mbox handler tests
2021-10-14 12:52:30 +02:00
Clément DOUIN
8af14734c3
improve mailbox structure (#223)
* split entities, remove manual serialization, add comments

* add mbox arg subbcmds test

* finalize mbox arg tests

* fix typos in comments

* add missing tests for entities

* rename fetch mbox imap fn
2021-10-13 20:48:42 +02:00
Clément DOUIN
d21778c35e
improve text parts (#221) 2021-10-11 23:04:33 +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
b7d068c729
improve folder struct + msg management (#217)
* make imap list and search return msg instead of fetch

* move imap logouts to main fn

* improve list command

* improve search command

* improve flags command

* improve template reply

* improve tpl forward command

* refactor tpl and msg reply/forward

* refactor copy, move and write commands

* refactor attachment command

* fix attachment part of copy and move commands

* fix send, save, read and mbox

* put back notify and watch commands

* fix msg encoding

* refactor edit choices, clean dead code

* fix attachment for write, reply and forward commands

* refactor config mod struct

* refactor project folder struct

* fix vim plugin (#215)
2021-10-10 22:58:57 +02:00
Igbanam Ogbuluijah
794860befe
Fix the message list bug (#216)
With the current version of Himalaya, the Vim front breaks because it
can't find headers.subject in the JSON output from Himalaya. The JSON
output today from Himalaya representing a message looks like so

```json
    {
      "uid": 12345,
      "flags": [],
      "subject": "Subject",
      "subject_len": 7,
      "sender": "Sender",
      "sender_len": 6,
      "date": "2020-12-11 06:38:19"
    },
```

This reverts some of the changes in b9a9d0e, but not all of them.
2021-10-10 09:10:37 +02:00
Paolo Barbolini
8f4718c057
Remove unused lettre_email crate (#209) 2021-09-29 22:32:59 +02:00
Clément DOUIN
b9a9d0e687
fix vim msg list and read 2021-09-19 18:08:27 +02:00
Clément DOUIN
9931658ea3
review template, write and search commands 2021-09-19 17:21:42 +02:00
Clément DOUIN
079572666a
review reply command 2021-09-19 17:04:05 +02:00
Clément DOUIN
7a43bdd46e
review read command 2021-09-19 16:58:10 +02:00
Clément DOUIN
d706a13e5e
review mailto command 2021-09-19 16:51:58 +02:00
Clément DOUIN
ac75c1d37a
review move command 2021-09-19 16:48:09 +02:00
Clément DOUIN
c7940f72ff
review mailboxes command 2021-09-19 16:42:45 +02:00
Clément DOUIN
cebff51e5b
review list command 2021-09-19 16:41:02 +02:00