summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-08-22Localize timestamps in the message listReto Brunner
Not sure we need a flag for it, most people expect times to be in their local time anyhow.
2020-08-20msg/reply: don't cc the sending address on reply allReto Brunner
2020-08-20Add account alias configuration and correctly set From fieldy0ast
We infer the correct From using the To: and Cc: field of the email that we reply to.
2020-08-20msg/reply: handle addresses as addressesReto Brunner
This simplifies the code considerably and makes it easier to follow
2020-08-20base models.Address on the mail.Address typeReto Brunner
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.
2020-08-19Add support for :rmdirARaspiK
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.
2020-08-13Add `oauthbearer` support for SMTPR Chowdhury
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...
2020-08-10improve date parsing for notmuch/maildirReto Brunner
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.
2020-08-10show error if account view creation failsReto Brunner
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.
2020-08-08notmuch: docsReto Brunner
2020-08-07aerc-stylesets: properly indent examplesThorben Günther
2020-08-07stylesets: only accept comment char after whitespaceThorben Günther
Without the option SpaceBeforeInlineComment set, go-ini will parse just a single " This lead to people being unable to specify hex color codes
2020-08-07notmuch: manually close notmuch objectsReto Brunner
There seems to be some race with the automatic closing that should happen in theory... close it manually where we can to avoid the issue
2020-08-06Rename selecter to selectorKalyan Sriram
2020-08-06Implement style configuration.Kalyan Sriram
Introduce the ability to configure stylesets, allowing customization of aerc's look (color scheme, font weight, etc). Default styleset is installed to /path/to/aerc/stylesets/default.
2020-08-03Set environment variables for the exec commandNicolai Dagestad
2020-07-30Revert "Implement style configuration."Reto Brunner
This reverts commit 1ff687ca2b0821c2cacc1fa725abb3302d2af9da.
2020-07-30Revert "Rename selecter to selector"Reto Brunner
This reverts commit 2c244222d508a32d3f5ba600944a46b6fdea1a10.
2020-07-30Rename selecter to selectorKalyan Sriram
2020-07-30Implement style configuration.Kalyan Sriram
Introduce the ability to configure stylesets, allowing customization of aerc's look (color scheme, font weight, etc). Default styleset is installed to /path/to/aerc/stylesets/default.
2020-07-30msgviewer: set max line length to 1 GBReto Brunner
some people send around huge html without any newline in between. This did overflow the default 64KB buffer of bufio.Scanner. If something can't fit in a GB there's no hope left Also, ignoring errors is bad mkey
2020-07-30msgviewer: simplify attemptCopyReto Brunner
No functional changes, simply extract more complex stuff into sub functions to help readability.
2020-07-29Update .build.ymlDrew DeVault
2020-07-27maildir: Provide nicer error message on invalid urlTero Koskinen
If accounts.conf contains an invalid maildir url, return a nice error instead of panicking. Log a couple of different error cases to provide extra information about the error to the user.
2020-07-27Remove hard coded bodystruct path everywhereReto Brunner
Aerc usually used the path []int{1} if it didn't know what the proper path is. However this only works for multipart messages and breaks if it isn't one. This patch removes all the hard coding and extracts the necessary helpers to lib.
2020-07-25Add flag based search optionsTobias Wölfel
Provide search and filter with the option to specify more flag based conditions. Use '-x <flag>' to search for messages with a flag (seen, answered, flagged) and '-X <flag>' to search for messages without a flag.
2020-07-19Only send directory info once from maildirAndrew Jeffery
The directory info only needs to be sent once for all the messages, this reduces unnecessary messages being sent which could lock up the ui.
2020-07-19Document mailto argument usageTobias Wölfel
2020-07-17run go fmtReto Brunner
2020-07-11Make it easier to debug date parsing errorsLyudmil Angelov
When message dates failed to parse, the error displayed would try to include the time object it failed to obtain, which would display as something like 0001-01-01 00:00:00 UTC, which isn't of much help. Instead, display the text we were trying to parse into a date, which makes the problem easier to debug.
2020-07-10Remove deleted messages from search/filter resultsAndrew Jeffery
This ensures that when moving/deleting messages with a filter active the view gets updated properly.
2020-07-09Use PushStatus instead of SetStatus where it makes senseHeiko Carrasco
2020-07-09Update go-message, fixes various bugsReto Brunner
Changelog: d262af7 (tag: v0.12.0) textproto: check header characters 5b97b1b Remove hz-gb-2312 encoding as it can crash 0e60ea0 writer: add Mime-Version header when missing c512562 textproto: add Header.Raw and HeaderFields.Raw 4af4c77 textproto: Add HeaderFields.Len f828d02 Add test converting an Entity to quoted-printable 8c6ac6b Add CreateInlineWriter to get a writer that allows alternatives, but no attachments. fee642d (tag: v0.11.2) Fix incorrect line folding of RFC2047-encoded strings 9c4415e textproto: add limits for header field length and total amount of fields 46fe03d mail: add Message-Id test with IPv6 address 6c32091 textproto: add MultipartReader tests 9ce1b6f textproto: remove unused skipSpace function a41879c mail: add tests for Header.{MessageID,MsgIDList} 82eb31c mail: add Header.MessageID and Header.MsgIDList 7e482a2 mail: add headerParser 40e7be6 textproto: minor doc improvements f119d5f readme: remove stability badge e48b6c5 mail: minor comments and docs improvements 8ade7dd textproto: add error on invalid header key
2020-07-08Add additional flagging functionalityARaspiK
More mail flags can now be set, unset, and toggled, not just the read/seen flag. This functionality is implemented with a new `:flag` and `:unflag` command, which are extensions to the matching `:read` and `:unread` commands, adding support for different flags. In fact, the `read`/`unread` commands are now recognized aliases to `flag`/`unflag`. The new commands are also well documented in aerc(1). The change mostly extends the previous read/unread setting functionality by adding a selection for the flag to change.
2020-07-08Allow open to be asynchronousAndrew Jeffery
This stops the ui being blocked while the resource is opened. The wait ensures that resources are reclaimed when the process finishes while aerc is still running.
2020-07-08notmuch: fix docstringReto Brunner
2020-07-05notmuch: handle the answered flagReto Brunner
2020-07-05Fix usage of DESTDIRBen Fiedler
It should only be used when installing/uninstalling according to the GNU spec. Closes: https://todo.sr.ht/~sircmpwn/aerc2/418
2020-07-05pipe: don't crash if part is nilReto Brunner
2020-07-05Format config path in READMEGabriel Augendre
2020-07-05status: invalidate when neededReto Brunner
In order for the message to actually show up we need to invalidate after setting the status stack.
2020-07-05delete: push unsupported error up to the userReto Brunner
2020-07-03Fix a nil Envelope when getting the formatAndrew Jeffery
When getting the format for a message the envelope can be nil and this shouldn't crash the program.
2020-07-02Add a 'folders-exclude' optionARaspiK
Added a 'folders-exclude' option that allows removing selected folders from the directory list sidebar. My motivating example was that removing a single folder from the list using Golang regexes seemed pretty hard, so this is a better way to do it. The excluded folders list is included in the man page.
2020-07-02Fix nil pointer deref on EnvelopeAndrew Jeffery
The Envelope was nil but being deref'ed for the Subject. This was experienced when switching tabs on IMAP.
2020-06-26Fix dates in reply/forward commands.Reto Brunner
The data was passed around as a string for some reason, which led to time precision loss and wrong dates being displayed. Simply pass the time as is to fix that.
2020-06-13Fix missing escape in aerc-config manpageAlexander Harkness
Underscores were being elided by scdoc when they should have been rendered verbatim in the output.
2020-06-13Sort command completionsJeffas
Previously the completions weren't sorted which led to a difficult to navigate list, especially for the command names as it would randomly jump through the alphabet.
2020-06-09Add scrollbarJeffas
This transplants the logic for drawing the scrollbar from dirlist and the completion popover and adds it to the msglist.
2020-06-09Rework msglist scrollingJeffas
This changes the scrolling to be done on the draw, when the height is updated, ensuring that the selected item is kept on screen during resizing. Also, this ensures that messages will fill the screen when resizing the window, for instance, shrinking and then growing drags down more messages if possible. This is a transplant of the dirlist scrolling logic.