aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-07-11Support imaps with oauthbearer authentication (Gmail)Frode Aannevik
imaps+oauthbearer://user:token@host?token_endpoint=... - the config Source password is used as access token if no token_endpoint parameter is set - the config Source password is used as refresh token if token_endpoint parameter is set, and used to exchange with an access token The implementation has only been tested with Gmail. source = imaps+oauthbearer://{username}:{refersh_token}@imap.gmail.com:993? \ client_id=XX&\ client_secret=XX&\ token_endpoint=https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Ftoken client credentials created with https://console.developers.google.com/apis/credentials refresh token created with https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py rel: https://todo.sr.ht/~sircmpwn/aerc2/42
2019-07-10Fix crashes when operating on empty folder (#216)Daniel Bridges
2019-07-08Fix :pipe -b actually writing to stdinDrew DeVault
2019-07-08Fix re-opening of expired pipe tabsDrew DeVault
2019-07-08:exec, :pipe: show exit status on completionDrew DeVault
2019-07-08aerc(1): correct error with :pipe documentationDrew DeVault
2019-07-08Add :exec and :pipe -b(ackground)Drew DeVault
2019-07-08Factor IMAP-specific structs out of UI modelsBen Burwell
Before, we were using several IMAP-specific concepts to represent information being displayed in the UI. Factor these structures out of the IMAP package to make it easier for other backends to provide the required information.
2019-07-08Use []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-08Factor 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-07Add .build.ymlDrew DeVault
2019-07-05Make :pipe command more genericDrew DeVault
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.