Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
Also sets the public List() method to return the unfiltered
list of directories directly from the store.
|
|
Credit for this fix goes to Reto; I guess if we're not gonna be mutt
we should probabaly do things correctly.
|
|
Now that this is available in the upstream, we no longer need to
maintain a parallel implementation.
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
This reverts commit 0e55637aac92e748267559b7aa91a188a17c386f.
|
|
This fixes prev/next-folder that broke after
546dfcd76dd228e0605359e9985f0b6a5672e8fa
|
|
|
|
|
|
Tab completion currently only works on commands. Contextual completion
will be added in the future.
|
|
|
|
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.
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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
|
|
If these are called before the store is setup, `acct.Store()` returns
`nil`, and we SEGFAULT in `MessageStore.nextPrev`.
|
|
|
|
|
|
commands/msgview/save and commands/msgview/pipe now use case
insensitive comparisons to determine if the part is encoded as base64
or quoted-printable.
|
|
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.
|
|
|
|
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
|
|
This fixes issues with INBOX mysteriously not being present at times
|
|
|
|
|
|
Also removes leftover directories if there isn't anything else in them.
https://todo.sr.ht/~sircmpwn/aerc2/179
|
|
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')
|
|
|