about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* compose: use a proper header instead of a string mapReto Brunner2020-11-1414-217/+318
| | | | | | | | | | | | | Prior to this commit, the composer was based on a map[string]string. While this approach was very versatile, it lead to a constant encoding / decoding of addresses and other headers. This commit switches to a different model, where the composer is based on a header. Commands which want to interact with it can simply set some defaults they would like to have. Users can overwrite them however they like. In order to get access to the functions generating / getting the msgid go-message was upgraded.
* models: add RFC822 headers to OriginalMailReto Brunner2020-11-143-16/+15
|
* rename header to heditorsReto Brunner2020-11-141-6/+6
|
* templates: Remove ParseTemplate as it's unusedReto Brunner2020-11-141-14/+0
|
* remove models.Address in favor of go-message AddressReto Brunner2020-11-146-57/+58
| | | | | | | We made a new type out of go-message/mail.Address without any real reason. This suddenly made it necessary to convert from one to the other without actually having any benefit whatsoever. This commit gets rid of the additional type
* version bump: 0.5.2 0.5.2Reto Brunner2020-11-141-1/+1
|
* makefile: add debug targetReto Brunner2020-11-131-1/+5
|
* Check account's from value is not emptyAndrew Jeffery2020-11-131-0/+3
| | | | | This leads to a nasty 'mail: no address' message for each email if left empty so the user really should enter it.
* templates: better error messageReto Brunner2020-11-111-2/+3
|
* update the makefile version 0.5.1Reto Brunner2020-11-101-1/+1
|
* Document pin-tab and unpin-tab commands 0.5.0Daniel Sockwell2020-11-081-0/+8
| | | | | | | The `pin-tab` and `unpin-tab` global commands were added in 3156d48 but were not previously documented. This documents them in aerc.1. I added them with the other tab commands, which appeared to be grouped as a logical unit.
* Apply relevant msglist styles in orderChris Vittal2020-11-014-17/+90
| | | | | | | | | | | | | | | | | | Allow styles to be layered over a base style. The list of styles to apply is layered over the base style in order, such that if the layer does not differ from the base it is not used. The order that these styles are applied in is, from first to last: msglist_default msglist_unread msglist_read (exclusive with unread, so technically the same level) msglist_flagged msglist_deleted msglist_marked So, msglist_marked style dominates. This fixes an issue where the msglist_deleted style was not being applied.
* update go-imap-sortthready0ast2020-10-182-3/+3
| | | | | | Fixes a problem with "Missing Sort Criteria" because go-imap-sortthread wasn't sending the sort request in an RFC compliant way. This has been fixed in the latest commit.
* update go-imapy0ast2020-10-152-3/+3
| | | | | | This fixes the problem that when the header contains "undisclosed-recipients:;", which got parsed by go-imap as "<undisclosed-recipients@>, <@>". If we do reply all, aerc adds these malformed emails to the To: field.
* refactor ParseMessageFormat to use a ctx objectReto Brunner2020-10-143-60/+74
|
* imap: add sort supportReto Brunner2020-10-114-6/+60
|
* notmuch: clarify comment char of query-mapsReto Brunner2020-10-081-1/+2
|
* notmuch: rename method to SetFlagReto Brunner2020-09-272-5/+5
|
* Makefile: remove aerc-stylesets upon uninstallJD2020-09-271-0/+1
|
* notmuch: close tag objectReto Brunner2020-09-241-0/+1
|
* propagate error from sendmaily0ast2020-09-221-2/+9
|
* reply: don't override the answered flag if we didn't sendReto Brunner2020-09-211-1/+3
| | | | | | Aerc just sent the true / false update regardless, meaning if someone already replied to a mail, then drafted yet another mail to the same parent the flag would vanish. This commit fixes this behaviour.
* doc: fix typo in aerc man pageJosh Holland2020-09-171-1/+1
|
* Update go-imap to latest commitReto Brunner2020-09-152-3/+6
| | | | | | | | | | | | | | | | | | | | * return empty reader instead of nil when BODY is found but server returns nil * utf7: fix package doc comment * imap: lower some fields + content disposition keys * remove "should not be called directly" comments and replaced them with links to the GitHub wiki pages * backendutil: Improve Match function * Write NIL for empty ENVELOPE fields * readme: add NAMESPACE extension * server: error when selecting should unselect * Support NIL hierarchy delimiter * backendutil: Implement message size and lines counting * readme: update CI badge to only show status for commits * Fix empty envelope address fields * server: Return proper BAD response for cancelled SASL negotiation * Replace empty string result in ErrStatusResp.Error * Move ErrStatusResp to the root package * Add MailboxInfoUpdate * Fix BodyStructure fields documented as encoded
* doc: add oauth to aerc-smtpSeán C McCord2020-09-141-1/+5
| | | | Signed-off-by: Seán C McCord <ulexus@gmail.com>
* Remove unused Simulator interfaceReto Brunner2020-09-101-5/+0
|
* fix comment in ParseAddressListReto Brunner2020-09-101-3/+1
| | | | | | | Go pre 1.15 parsed an empty string as an error, 1.15 did not but this was unintentional as per https://github.com/golang/go/issues/40803 Fix the comment accordingly
* dirlist: fix empty row if dir is addedReto Brunner2020-09-081-0/+6
| | | | | | There is a window where a new dir entry isn't yet in the dirlist.dir. dirlist.ensureScroll however expected to always find a valid index. Add a check so that we don't try to scroll to a -1 index.
* Make mimetype check consistent across casesy0ast2020-09-071-1/+1
|
* correctly apply msglist_read colory0ast2020-09-011-1/+4
|
* handle message unknown charset errorJeff Martin2020-08-315-2/+104
| | | | | | | | | | | | | | This change handles message parse errors by printing the error when the user tries to view the message. Specifically only handling unknown charset errors in this patch, but there are many types of invalid messages that can be handled in this way. aerc currently leaves certain messages in the msglist in the pending (spinner) state, and I'm unable to view or modify the message. aerc also only prints parse errors with message when they are initially loaded. This UX is a little better, because you can still see the header info about the message, and if you try to view it, you will see the specific error.
* update go-messageReto Brunner2020-08-312-3/+3
|
* Fix color scheme for deleted emailsJames Pond2020-08-311-0/+1
| | | | | | | The color scheme for deleted emails should now match the old design, making it easier to see when a message is deleted. Signed-off-by: James Pond <james@cipher.host>
* correct tcell.Style for underlinesqwishy2020-08-291-1/+1
|
* docs: link to styleset(7)Reto Brunner2020-08-282-2/+4
|
* Revert "Upgrade tcell version to 1.4.0 to support truecolor"Drew DeVault2020-08-282-4/+9
| | | | This reverts commit 2ada00de1e682c43327d8cecf090b58528020ffc.
* Upgrade tcell version to 1.4.0 to support truecolory0ast2020-08-282-9/+4
|
* reply: use set instead of linear searchReto Brunner2020-08-271-45/+70
|
* ParseAddressList: return empty list if "" is providedReto Brunner2020-08-241-0/+6
| | | | | | | | | Go 1.15 handles "" in the address parser as a non error case, returning an empty list. Prior versions returned an error, which is not what we want. Reported-by: anianz <a.ziegler@cioplenu.de> Tested-by: anianz <a.ziegler@cioplenu.de>
* Localize timestamps in the message listReto Brunner2020-08-221-2/+2
| | | | | Not sure we need a flag for it, most people expect times to be in their local time anyhow.
* msg/reply: don't cc the sending address on reply allReto Brunner2020-08-201-2/+2
|
* Add account alias configuration and correctly set From fieldy0ast2020-08-203-1/+34
| | | | | We infer the correct From using the To: and Cc: field of the email that we reply to.
* msg/reply: handle addresses as addressesReto Brunner2020-08-201-24/+20
| | | | This simplifies the code considerably and makes it easier to follow
* base models.Address on the mail.Address typeReto Brunner2020-08-207-62/+67
| | | | | | | | | | | | This allows us to hook into the std libs implementation of parsing related stuff. For this, we need to get rid of the distinction between a mailbox and a host to just a single "address" field. However this is already the common case. All but one users immediately concatenated the mbox/domain to a single address. So this in effects makes it simpler for most cases and we simply do the transformation in the special case.
* Add support for :rmdirARaspiK2020-08-198-0/+161
| | | | | | | | | | | | | | | | | | | | | The `:rmdir` command removes the current directory (`-f` is required if the directory is not empty). This is not supported on the notmuch backend. An issue with the maildir backend is that some sync programs (e.g. offlineimap) may recover the directory after it is deleted. They need to specifically be configured to accept deletions, or special commands need to be executed (e.g. `offlineimap --delete-folder`) to properly delete folders. A danger of using this on the IMAP backend is that it is possible for a new message to be added to the directory and for aerc to not show it immediately (due to a slow connection) - using `:rmdir` at this moment (with `-f` if the directory already contains messages) would delete the directory and the new message that just arrived (and all other contents). This is documented in aerc(1) so that users are aware of possible risks.
* Add `oauthbearer` support for SMTPR Chowdhury2020-08-132-2/+33
| | | | | | | | | This piggybacks on the existing IMAP support, and uses the same configuration format (my local testing example has the IMAP and SMTP lines almost copy-pasted from one another). It's a little clumsy in that a new token is negotiated for every `Send()` command, but it's a start...
* improve date parsing for notmuch/maildirReto Brunner2020-08-102-26/+67
| | | | | | | | | | | | | | | | | | | | If a message date would fail to parse, the worker would never receive the MessageInfo it asked for, and so it wouldn't display the message. The problem is the spec for date formats is too lax, so trying to ensure we can parse every weird date format out there is not a strategy we want to pursue. On the other hand, preventing the user from reading and working with a message due to the error format is also not a solution. The maildir and notmuch workers will now fallback to the internal date, which is based on the received header if we can't parse the format of the Date header. The UI will also fallback to the received header whenever the date header can't be parsed. This patch is based on the work done by Lyudmil Angelov <lyudmilangelov@gmail.com> But tries to handle a parsing error a bit more gracefully instead of just returning the zero date.
* show error if account view creation failsReto Brunner2020-08-103-8/+39
| | | | | | | | This can happen for example if aerc is compiled without notmuch support but the notmuch worker is requested. Pushing a status message isn't good enough, as this gets overridden pretty quickly if one has multiple accounts configured. So we show a fullscreen error instead.
* notmuch: docsReto Brunner2020-08-081-0/+13
|
* aerc-stylesets: properly indent examplesThorben Günther2020-08-071-4/+5
|