summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* add .OriginalMIMEType variable to reply templateLeszek Cimała2020-01-094-18/+39
|
* remove Original* checkLeszek Cimała2020-01-091-2/+1
|
* create OriginalMail structLeszek Cimała2020-01-098-24/+44
|
* maildir/notmuch: don't re-encode readersReto Brunner2020-01-051-37/+4
|
* imap: decode reader prior to returning themReto Brunner2020-01-051-10/+90
|
* FetchBodyParts: decode source in the workersReto Brunner2020-01-058-117/+29
| | | | | | | Previously the workers returned a mixture of decoded / encoded parts. This lead to a whole bunch of issues. This commit changes the msgviewer and the commands to assume parts to already be decoded
* models: add BodyStructure.PartAtIndexReto Brunner2020-01-051-0/+33
|
* msgviewer: decode headers prior to displaying themReto Brunner2020-01-051-1/+7
|
* msgviewer: bypass filter for headersReto Brunner2020-01-051-3/+6
|
* msgviewer: do not anchor ansi escape to start of lineReto Brunner2020-01-051-1/+1
|
* Reword aerc-tutorial with revised constraintsDrew DeVault2020-01-051-5/+5
| | | | | This document used to specify some constraints on the receipient address, but this has since been corrected in aerc.
* Don't select completions until tab has been pressedBen Burwell2020-01-051-6/+8
| | | | | | | | | | | | | | | Before, pressing <Enter> when completions were visible would execute the selected completion. As soon as completions were provided, the first item would be selected. This could cause issues e.g. when changing folders: :cf <Enter> Previously, this would have selected the first folder in the list. Now, since <Tab>, <C-n>, etc have not been pressed to select the first completion, the command above simply executes `:cf `. To accomplish this, a "no-op completion" has been added at index -1.
* Fix double >\n when quoting empty lineSrivathsan Murali2020-01-041-0/+1
|
* Handle MIME encoded addresses in address bookBen Burwell2019-12-301-2/+12
| | | | | | | | | | | When addresses contain special characters, net/mail MIME-encodes them to a valid RFC 5322 address for use in headers. However, these are not pleasant for human consumption, so we decode them for use in the completion list. Aerc properly encodes addresses when the message is sent. This patch also removes surrounding white space from contact names, if present.
* msgviewer: Add Labels as a virtual headerReto Brunner2019-12-272-6/+26
| | | | | | In order to accommodate for that, the headerlayout needed to be rewritten to pass the filter criteria back to the msgviewer, instead of just using the normal headers.
* Add labels to index format (%g)Reto Brunner2019-12-277-0/+22
| | | | Exposes the notmuch tags accordingly, stubs it for the maildir worker.
* Add missing man pages to uninstall target in MakefileAriel Popper2019-12-241-0/+2
|
* fix invalid format stringReto Brunner2019-12-221-1/+1
|
* read: adapt to ProvidesMessagesReto Brunner2019-12-222-21/+90
|
* modify-labels: add completionReto Brunner2019-12-212-1/+37
|
* notmuch: emit LabelList eventReto Brunner2019-12-212-0/+29
|
* add LabelList eventReto Brunner2019-12-212-0/+12
|
* docs: mark commandReto Brunner2019-12-211-0/+17
|
* binds.conf: mark bindingsReto Brunner2019-12-211-0/+3
|
* msglist: highlight marked messagesReto Brunner2019-12-215-6/+11
| | | | | | Note that, until we get color configuration, this means that the user *must* have the %Z verb in the index format else it'll be horribly confusing as no visual indication is provided
* modify-labels: adapt to ProvidesMessagesReto Brunner2019-12-211-10/+7
|
* move: adapt to ProvidesMessagesReto Brunner2019-12-211-11/+11
|
* delete: adapt to ProvidesMessagesReto Brunner2019-12-211-21/+59
|
* copy: adapt to ProvidesMessagesReto Brunner2019-12-211-7/+6
|
* archive: adapt to ProvidesMessagesReto Brunner2019-12-211-22/+57
|
* add mark commandReto Brunner2019-12-211-0/+98
|
* add command helpersReto Brunner2019-12-212-0/+85
|
* msgstore: add marking functionalityReto Brunner2019-12-211-4/+127
|
* msgviewer: implement ProvidesMessages interfaceReto Brunner2019-12-211-0/+7
|
* AccountView: implement ProvidesMessagesReto Brunner2019-12-211-0/+7
|
* widgets: add msgInfoFromUids helperReto Brunner2019-12-211-0/+20
|
* add ProvidesMessages interfaceReto Brunner2019-12-211-0/+8
|
* Add address book completion in composerBen Burwell2019-12-215-5/+204
| | | | | Complete email address fields in the message composer with an external address book command, compatible with mutt's query_cmd.
* Don't use current input as a possible completionBen Burwell2019-12-211-1/+0
| | | | | Now that completions are being shown in the popover, it doesn't make sense to show the unfinished command as a potential completion.
* Show textinput completions in popoversBen Burwell2019-12-216-71/+277
| | | | | | Rather than showing completions inline in the text input, show them in a popover which can be scrolled by repeatedly pressing the tab key. The selected completion can be executed by pressing enter.
* Add popoversBen Burwell2019-12-213-9/+102
| | | | | | | | | | | | A popover is a special UI element which can be layered over the rest of the UI (i.e. it is painted last) and can fall anywhere on the screen, not just with the bounds of its parent's viewport/context. With these special abilities comes the restriction that only one popover may be visible on screen at once. Popovers are requested from the UI context passed to Draw calls and specify the anchor point and the desired dimensions. The popover is then fit to the available space and placed relative to the anchor point.
* Use timestamp-format in msgviewerBen Burwell2019-12-191-3/+3
| | | | | This allows the time to be displayed in a user-configurable way. Also localize the time in the message viewer as it is in the message list.
* Update go-maildir to latestBen Burwell2019-12-192-1/+3
| | | | | | This fixes an upstream issue where improperly named maildir files could cause a panic. Now, we simply show an error and don't display the message if the backing file is not named according to the maildir spec.
* Break early when delete happens in outdated stateKiril Vladimiroff2019-12-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A panic could happen when multiple delete messages are sent one after another without waiting until there are no messages left to be deleted: panic: runtime error: makeslice: len out of range goroutine 1 [running]: git.sr.ht/~sircmpwn/aerc/lib.(*MessageStore).Update(0xc000592e00, 0xa8fe60, 0xc0003340f0) /go/src/git.sr.ht/~sircmpwn/aerc/lib/msgstore.go:222 +0x5b8 git.sr.ht/~sircmpwn/aerc/widgets.(*AccountView).onMessage(0xc0000a0460, 0xa8fe60, 0xc0003340f0) /go/src/git.sr.ht/~sircmpwn/aerc/widgets/account.go:251 +0x307 git.sr.ht/~sircmpwn/aerc/widgets.(*AccountView).Tick(0xc0000a0460, 0xc0001496b0) /go/src/git.sr.ht/~sircmpwn/aerc/widgets/account.go:90 +0xa1 git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).Tick(0xc0000a9f40, 0xc000020501) /go/src/git.sr.ht/~sircmpwn/aerc/widgets/aerc.go:123 +0x91 main.main() /go/src/git.sr.ht/~sircmpwn/aerc/aerc.go:182 +0x5bf The make that blows up is: uids := make([]uint32, len(store.uids)-len(msg.Uids)) This change simply checks whether the make is going to be valid before starting to work on the actual delete. If there are more messages queued to be deleted than what's left in the store, then we're obviously in an inconsistent state, ask for an update and break.
* Composer: fix EOF errorsDrew DeVault2019-12-121-6/+10
| | | | | PrepareHeaders generated a fresh message ID and Date header every time. This instead generates those headers in advance.
* Add custom sorting for foldersMichele Finotto2019-12-093-2/+41
| | | | | | | | | | | | | | A new config options for accounts.conf (folders-sort) was added to allow a user to choose which folders should be shown on top. My use case was to avoid stepping into heavy, but rarely viewed folders when cycling through other often accessed ones. To test add this to your account.conf: folders-sort = INBOX,Sent,Archive INBOX, Sent and Archive should then show at the top of your dirlist, and all other folders should come next in alphabetical order.
* remove garbage headers in reply messageLeszek Cimała2019-12-081-1/+2
| | | | | | Very important fix. Remove garbage from reply message headers. Till now all Original fields were send in reply, which we do not want and could lead to uncorrect email message.
* failback to Content-Type filename when encoded Content-Disposition is usedLeszek Cimała2019-12-072-0/+5
| | | | | | | | | | | | | | | | | | | | | Hi! This patch will fix missing filename if it is RFC2231 encoded with charset different then ASCII or UTF8. Example how it looks like in mail: Content-Type: application/pdf; name="=?UTF-8?Q?Opis_przedmiotu_zam=c3=b3wienia_-_za=c5=82=c4=85cznik_nr_1?= =?UTF-8?Q?=2epdf?=" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0*=iso-8859-2''%4F%70%69%73%20%70%72%7A%65%64%6D%69%6F%74%75%20; filename*1*=%7A%61%6D%F3%77%69%65%6E%69%61%20%2D%20%7A%61%B3%B1%63%7A%6E; filename*2*=%69%6B%20%6E%72%20%31%2E%70%64%66 Yes, this should be forbidden :-). Anyway, best solotion in such cases is to failback to Content-Type name. I am not sure if it is guaranted to be there, but probably it will. Leszek
* decode(RFC 2047) imap headers to fix encoding in subject & filenamesLeszek Cimała2019-12-071-5/+25
| | | | | | | | | | | | | | | | | | Me again, this time fixing encoding of subjects and attachments. It was problem in IMAP backend. While other backends user MessageInfo() function which generates MessageInfo decoded via go-message methodes, IMAP worker is creating MessageInfo directly, so all non-utf8 subjects and filenames were in raw form. This patch fixes it. Not sure if we should care about errors (if DecodeHeader fails it returns raw string back). >From what I see, this should solve all encoding problem (tested only IMAP). So, now I can focus on features. ;-) Have a great weekend! Leszek
* use correct headers for message partLeszek Cimała2019-12-071-4/+32
| | | | | | | | | | | | | | | | | | | | | Hello guys, on the hunt for bugs related to wrong encoding. This patch is fixing reply to non-utf8 messages. We were using global message headers instead of part specific. In practice header were often something like: multipart; boundry=... where there should be: text/plain; charset=... Fixed also missing SubType. Have great weekend! Leszek