aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-07-04Factor UI models out of the worker message packagemdps1Ben Burwell
Before, the information needed to display different parts of the UI was tightly coupled to the specific messages being sent back and forth to the backend worker. Separating out a models package allows us to be more specific about exactly what a backend is able to and required to provide for the UI.
2019-07-04Remove unused fields from Directory and DirectoryInfoBen Burwell
As it turns out, the only fields of these messages that the UI cares about (right now) is the name.
2019-07-04Use []uint32 instead of imap.SeqSetBen Burwell
A sequence-set is an IMAP-specific implementation detail. Throughout the UI, aerc simply operates using lists of opaque identifiers. In order to loosen the coupling between the UI and IMAP in particular, replace most usages of imap.SeqSet with []uint32, leaving the translation to a SeqSet to the IMAP backend as needed.
2019-07-04Factor UI models out of the worker message packageBen Burwell
Before, the information needed to display different parts of the UI was tightly coupled to the specific messages being sent back and forth to the backend worker. Separating out a models package allows us to be more specific about exactly what a backend is able to and required to provide for the UI.
2019-07-04Remove unused caps stringDrew DeVault
2019-07-04Sort out dirstore once and for allDrew DeVault
2019-07-04dirlist: simplify nextPrev() considerablyReto Brunner
Assuming we always have a sorted dirlist (other code depends on that already), we don't need to loop over the dirStore. Any filtering done should be performed elsewhere
2019-07-04dirlist: remove the additional filtering in Draw()Reto Brunner
2019-07-04dirlist: sync dirstore in filterDirsByFoldersConfigReto Brunner
Also sets the public List() method to return the unfiltered list of directories directly from the store.
2019-07-04Add IMAP folder tab completionGregory Mullen
Credit for this fix goes to Reto; I guess if we're not gonna be mutt we should probabaly do things correctly.
2019-07-04Use go-message implementation of GenerateMessageIDBen Burwell
Now that this is available in the upstream, we no longer need to maintain a parallel implementation.
2019-07-04Document message index format specifiersBen Burwell
2019-07-04Crash on delete in empty folder (#213)Zach Sisco
2019-07-04Add unsubscribe commandBen Burwell
The unsubscribe command, available when in a message viewer context, enables users to easily unsubscribe from mailing lists. When the command is executed, aerc looks for a List-Unsubscribe header as defined in RFC 2369. If found, aerc will attempt to present the user with a suitable interface for completing the request. Currently, mailto and http(s) URLs are supported. In the case of a HTTP(S) URL, aerc will open the link in a browser. For mailto links, a new composer tab will be opened with a message filled out according to the URL. The message is not sent automatically in order to provide the user a chance to review it first. Closes #101
2019-07-04Use "open" instead of "xdg-open" on Darwin systemsBen Burwell
2019-07-04Update binds.confDrew DeVault
2019-07-02Correct default filter order in aerc.conf.inDrew DeVault
2019-07-02Revert "Remove dirs field and references to it"Drew DeVault
This reverts commit 0e55637aac92e748267559b7aa91a188a17c386f.
2019-06-30Remove dirs field and references to itRobert Günzler
This fixes prev/next-folder that broke after 546dfcd76dd228e0605359e9985f0b6a5672e8fa
2019-06-29panic: runtime error: index out of range in handleFetchMessages (#127)Zach Sisco
2019-06-29Add new lib/dirstore to source completions fromGregory Mullen
2019-06-29Implement basic tab completion supportGregory Mullen
Tab completion currently only works on commands. Contextual completion will be added in the future.
2019-06-27Move contrib -> filtersDrew DeVault
2019-06-27Reopening mailcontent file to fix #166Stefan Rakel
Because editors like vim use backupfiles and rename them to the original name, the file handle used can point to the wrong file. Reopening the file should fix this.
2019-06-27Set the required go version for this module, aercDaniel Lublin
This is the way to declare which compiler version a module requires to build. I read up on https://golang.org/doc/go1.12#modules
2019-06-26Fix jumping around in searchDrew DeVault
2019-06-26Implement :search, :next-result, :prev-resultDrew DeVault
2019-06-25msgview/save: Use defaultSavePath if no path is providedReto Brunner
2019-06-25add DefaultSavePath configReto Brunner
2019-06-25account-wizard: look up imap and smtp server by SRV records (#100)Daniel Lublin
2019-06-24worker/imap: rig up search directory handlerDrew DeVault
2019-06-24worker/imap: implement searchDrew DeVault
2019-06-23aerc-config: [viewer] should be [compose]Issam Maghni
2019-06-21Fix Cc & Bcc handling in repliesDrew DeVault
2019-06-19Fix reply bindings in [view]Drew DeVault
2019-06-19Makefile: fix -ldflags -X invocationReto Brunner
Aerc uses the go linker to add some variables like main.Prefix / main.ShareDir etc. however the go linker only considers the last -ldflags invocation it seems. This commit fixes the makefile to use only a single -ldflags invocation, which again sets the vars as expected.
2019-06-18account-wizard: automatically replace imap.* with smtp.*Noah Loomans
Many email providers use the imap sub-domain for imap and the smtp sub-domain for smtp. FastMail is an example of this[1]. This is a small quality-of-life improvement which automatically replaces imap.* with smtp.* when going from the imap screen to the smtp screen in the wizard [1]: https://www.fastmail.com/help/technical/servernamesandports.html
2019-06-18Insert nil check before handling prev/next messageMartin Hafskjold Thoresen
If these are called before the store is setup, `acct.Store()` returns `nil`, and we SEGFAULT in `MessageStore.nextPrev`.
2019-06-18Add aerc -v to print the installed versionDrew DeVault
2019-06-17commands/msgview: add open commandRéouven Assouly
2019-06-16Make part encoding checks case insensitiveRéouven Assouly
commands/msgview/save and commands/msgview/pipe now use case insensitive comparisons to determine if the part is encoded as base64 or quoted-printable.
2019-06-16Ensure that flags are set properlyAditya Mahajan
The current implementation has three classes of flags: - readFlag - delFlag - flaggedFlag The logic to check for them should be in parallel if branches rather than in sequential if-else ladder.
2019-06-15Update tcellDrew DeVault
2019-06-14Document collecting log outputLyle Hanson
Redirecting stdout writes log output to that file, but this wasn't easily discoverable. v2 removes changes to aerc-tutorial; I was also on the fence about that, and agree that it isn't on-topic for the tutorial. Addresses https://todo.sr.ht/~sircmpwn/aerc2/180
2019-06-14imap: block until directory list is fully receivedDrew DeVault
This fixes issues with INBOX mysteriously not being present at times
2019-06-14Set empty message in dirlist if no folder exist.Reto Brunner
2019-06-14imap: respect the folder config optionReto Brunner
2019-06-14Add uninstall target to MakefileLyle Hanson
Also removes leftover directories if there isn't anything else in them. https://todo.sr.ht/~sircmpwn/aerc2/179
2019-06-14Support directories in path to :saveClayton Craft
This adds new functionality to :save in the message view for specifying directories in the path. A new flag, -p, is also added to :save for automatically creating any directories in the path that do not exist. If the path ends in a / (e.g. "Downloads/mail/") or if the path is an existing directory, the part's file name is the filename from the mail header for the part. Otherwise, it uses the last element in the path as the filename (e.g. 'blah.jpg' is the filename if the path is 'Downloads/mail/blah.jpg')
2019-06-13Make awk filters more portableDrew DeVault