Commit graph

78 commits

Author SHA1 Message Date
Clément DOUIN 1246be8a5b
fix wizard serialization issues 2024-01-12 10:16:43 +01:00
Clément DOUIN 42226abc9c
improve contributing section 2024-01-08 22:47:08 +01:00
Clément DOUIN 9ffac16e05
adjust readme matrix workspace name 2024-01-06 08:51:51 +01:00
Clément DOUIN 95c078c327
improve readme contributing section 2024-01-06 08:41:11 +01:00
Clément DOUIN 89fbb8a9db
update screenshot readme 2024-01-05 11:50:16 +01:00
Clément DOUIN a8c6756f56
fix envelope listing 2024-01-02 12:21:12 +01:00
Clément DOUIN fa2c6c44bc
prepare v1.0.0-beta 2023-12-31 09:24:42 +01:00
Clément DOUIN 4ab81c0fe9
add readme warning about docs mismatch 2023-12-20 09:11:06 +01:00
Clément DOUIN a68d297366
fix typo readme 2023-12-12 15:27:00 +01:00
Clément DOUIN 24bb6f10d7
fix broken link in readme 2023-12-12 15:25:49 +01:00
Clément DOUIN 2e0ec913cf
refactor configs to match new nested api from lib 2023-12-11 18:38:00 +01:00
Artem Polishchuk 70fe936e3b docs: Add Fedora/CentOS installation instructions 2023-08-28 10:38:27 +03:00
Clément DOUIN 7ad1772c83
update pimalaya libs, prepare v0.9.0 2023-08-28 09:05:14 +02:00
Clément DOUIN ab1e8b7e45
fix dead links readme 2023-06-05 08:12:38 +02:00
Clément DOUIN 072f488d89
replace himalaya-lib by pimalaya-email 2023-04-20 12:13:27 +02:00
Rashil Gandhi 7fbe39b8fb
Add Scoop install method 2023-02-16 19:44:26 +05:30
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 29f2bdd931
replace badges by repology big one 2022-10-11 16:43:55 +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 82133b30d9
update lib v0.3.1, use MIT license 2022-10-10 18:14:56 +02:00
Clément DOUIN cdc0e0aa6a
remove notmuch backend from default features 2022-09-29 00:01:21 +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 a3686c1c44
clean config refactor 2022-09-22 16:38:38 +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 29c731336f
doc: add announcement about financial support 2022-07-14 12:14:37 +02:00
Clément DOUIN c40dde6e9a
update readme features section 2022-03-04 09:46:17 +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 0e452d8a47
update readme badges 2022-02-04 00:23:02 +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
rui 8e40cc3ddb
add homebrew release badge (#165)
* doc: add homebrew install

Signed-off-by: Rui Chen <rui@chenrui.dev>

* doc: add homebrew release badge

Signed-off-by: Rui Chen <rui@chenrui.dev>

* remove brew installation from README
2021-07-01 10:27:22 +02:00
Clément DOUIN f71720e6b9
refactor tpl system (#80) 2021-05-31 00:02:16 +02:00
Clément DOUIN 95f843f8b7
add github workflows badges in readme 2021-04-28 18:57:27 +02:00
Clément DOUIN 2eee484fea
update readme main img 2021-04-28 01:06:39 +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 cc1311c168
release v0.2.7 2021-04-24 23:49:42 +02:00
Axel Dahlberg 6284b0c5a6
improve signature and template management (#114)
* Added signature seperator option plus some refactoring

* Have add_content make newline seperation to headers

* Remove signature separator as a separate argument
2021-04-20 11:23:03 +02:00
Clément DOUIN 4af2b6a0ac
refactor readme + wiki (#110)
* make readme more concise

* update wiki

* update wiki links inside readme
2021-04-18 23:08:50 +02:00
Gregory Chamberlain 82ce67f572
improve portability of install.sh (#107)
* Replace echo with printf

The echo(1) command varies among sh implementations.  Some interpret
hyphen command-line options.

It would be unusual, but in theory if $PREFIX began with a hyphen or
two then this usage of echo might cause an error or unknown behaviour
in such implementations.

The printf(1) command is consistent across shell implementations.

* Leave privilege elevation to the user

* Add die function

* Break long line
2021-04-18 11:00:06 +02:00
Clément DOUIN c405280c92
update roadmap link readme 2021-04-18 00:29:45 +02:00
Sridhar Ratnakumar 76f9084f91
add nix support (#76)
* Add default.nix for nix support

* Convert to flake

* gitignore before building the source

* Add default.nix and shell.nix for legacy workflows

* Use https://github.com/oxalica/rust-overlay

This one works for development workflow, with a functional rust-analyzer for using with language server support in IDEs.

Also add .vscode/ for pre-configured settings.

* Add documentation

* Restore old TOC and apply TOC patch manually

* Clarify that these two commands are either-or

* Add installing from local checkout (nix-env)

* Add note about version update

* Improve Nix workflow, for zero maintenance

Use https://github.com/nmattia/naersk

This avoids having to set a sha and version in Nix scripts.

* Simplify using crate2nix

Ref: https://www.reddit.com/r/rust/comments/mmbfnj/nixifying_a_rust_project/

* Use rootCrate

* Propagate openssl deps to non-shell build

* Try the oxalica overlay

* Get rid of gitignore crate

cf. https://www.reddit.com/r/rust/comments/mmbfnj/nixifying_a_rust_project/gtsgxal/?context=3

* Configure himalaya crate under defaultCrateOverrides

* Specify openssl in buildInputs

* Make a note about a potential error when using Nix 2.4pre

* Remove PKG_CONFIG_PATH (unnecessary)

* Add cargo-watch

Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru>

Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru>
2021-04-18 00:06:11 +02:00
Clément DOUIN 9b303f144e
release v0.2.6 2021-04-17 00:09:06 +02:00
Clément DOUIN 1c6f249ca4
update sponsoring sections 2021-04-16 22:21:24 +02:00
Dario Vladović dd45b4bbc2
make install script posix compliant (#53)
* Make install script POSIX compliant

* Update installation docs

* make script more compact

Co-authored-by: Clément DOUIN <soywod@users.noreply.github.com>
2021-04-16 10:14:15 +02:00