~sircmpwn/aerc

msg/reply: handle addresses as addresses

This simplifies the code considerably and makes it easier to follow
base models.Address on the mail.Address type

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.
fe1cabb0 — ARaspiK 2 months ago
Add support for :rmdir

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.
Add `oauthbearer` support for SMTP

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...
improve date parsing for notmuch/maildir

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.
show error if account view creation fails

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.
notmuch: docs
aerc-stylesets: properly indent examples
stylesets: only accept comment char after whitespace

Without the option SpaceBeforeInlineComment set, go-ini will parse just
a single "
This lead to people being unable to specify hex color codes
notmuch: manually close notmuch objects

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
1023dd95 — Kalyan Sriram 2 months ago
Rename selecter to selector
905cb9df — Kalyan Sriram 2 months ago
Implement style configuration.

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.
Set environment variables for the exec command
Revert "Implement style configuration."

This reverts commit 1ff687ca2b0821c2cacc1fa725abb3302d2af9da.
Revert "Rename selecter to selector"

This reverts commit 2c244222d508a32d3f5ba600944a46b6fdea1a10.
2c244222 — Kalyan Sriram 2 months ago
Rename selecter to selector
1ff687ca — Kalyan Sriram 2 months ago
Implement style configuration.

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.
msgviewer: set max line length to 1 GB

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
msgviewer: simplify attemptCopy

No functional changes, simply extract more complex stuff into
sub functions to help readability.
Update .build.yml
maildir: Provide nicer error message on invalid url

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.
Next