ref: 0.3.0 aerc/commands d---------
commands/account: Disable :view for deleted msgs

Allowing the user to view deleted messages creates all sorts of race
conditions. The most devious race condition is pv.source can be set to a
nil while another PartViewer is still running a goroutine in

Here is a trace when this happens.

goroutine 76 [running]: io.copyBuffer(0x7f8ad02641d0, 0xc00040f590, 0x0,
0x0, 0xc0007cc000, 0x8000, 0x8000, 0x0, 0x0, 0x8b3d60)
/usr/lib/go/src/io/io.go:402 +0x101 io.Copy(...)
0xc0004da7c0) /home/keur/repos/aerc/widgets/msgviewer.go:576 +0x611
created by git.sr.ht/~sircmpwn/aerc/widgets.(*PartViewer).attemptCopy
/home/keur/repos/aerc/widgets/msgviewer.go:544 +0x144

We could add a guard in store.FetchBodyPart to only call the callback
when msg.Part.Reader != nil, but we still get a hanging pager. Therefore
it seems more reasonable to disable this completely.

Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
Add Templates with Parsing

+ Changes NewComposer to return error.
+ Add lib to handle templates using "text/template".
+ Add -T option to following commands
    - compose.
    - reply
    - forward
+ Quoted replies using templates.
+ Forwards as body using templates
+ Default templates are installed similar to filters.
+ Templates Config in aerc.conf.
    - Required templates are parsed while loading config.
+ Add aerc-templates.7 manual for using template data.
331b9151 — Luke Drummond 1 year, 1 month ago
Add support for AUTH LOGIN submission

`go-sasl` upstream added support [1] for the obsolete [2] AUTH LOGIN
method which enables aerc to send email via servers which remain common
in the wild.

Fixes ~sircmpwn/aerc2#263

[1] https://github.com/emersion/go-sasl/commit/61afe53d
[2] https://datatracker.ietf.org/doc/draft-murchison-sasl-login/
Cleanup pager processes after closing a msgviewer

A pager is spawned every time an email is viewed but not killed off when
quitting the msgviewer, thus leading to process leakage. This patch
fixes this by adding a Close method to the msgview widget, which is
called in the close command.

Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
Config for deleting message from message viewer

As suggested in #268, this adds a behaviour setting for
deleting message from message viewer.
Sort path completions
Make commands join args with spaces

This patch ensures the following commands join their arguments with
spaces to make it easier to interact with:

- cf
- mkdir
- cd
- attach
- detach
- ct
- copy
- move
- save
Add sorting functionality

There is a command and config option. The criteria are a list of the
sort criterion and each can be individually reversed.

This only includes support for sorting in the maildir backend currently.
The other backends are not supported in this patch.
Add completion for copy
Add signatures

This adds the ability for per-account signatures in the accounts.conf
config file. The signature is added to emails in the editor at the
bottom of the email. This includes when forwarding, replying to, and
composing emails.

There are two config options: signature-file and signature-cmd. The
former allows a signature to be read from a file and the latter allows
an arbitrary command to be executed to return the signature.

The config options have been documented in aerc-config
Add modify-labels command

This adds the event type as well as the command implementation, but no backend
supports it yet.
Check the subject line for lowercase re

This ensures that a message with e.g. "RE: " at the start won't get
another "Re: ".
Ensure mimetype parts are converted to lower case

This ensures that the check for a text message to use in the reply is
performed (more) correctly and so uses the plaintext more often.
commands: move ParseNextPrevMessage error value to its last return value

Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
all: rewrite references to strings.Index to strings.Contains

Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
all: use fmt.Errorf for fomartting errors

Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
all: purge redundant underscores

Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
extract search criteria parsing into the backends
ecd803aa — Christopher Vittal 1 year, 3 months ago
Add :prompt command

    :prompt <prompt> <command...>

Displays the prompt on the status bar, waits for user input, then
appends that input as the last argument to the command and executes it.
The input is passed as one argument to the command, unless it is empty,
in which case no extra argument is added.
Add forwarding as attachment feature

This allows a single message to be forward as attachment with the
:forward -a command
Add addresses argument to forward command