| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
They are used by more than one command and as such need to be in a common file.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Especially if one tries to interact with all marked messages there could be
the case that not all headers are fetched yet, hence the messageInfo is still nil.
This segfaults a lot of commands which in principle only need the uid to complete.
If we switch to uids, this issue can be alleviated for those commands.
|
| |
|
| |
|
| |
|
|
|
|
| |
If a recipient is already in TO:, there's no need to also put them in CC:
|
|
|
|
|
| |
This is a prerequisite for allowing the FetchFull message to return both
the message content and the message headers.
|
|
|
|
|
|
| |
Usage: *header* [-f] <field> [value]
Add a new email header. If the header already exists, -f must be
specified to replace the given value.
|
| |
|
|
|
|
|
|
| |
This command allows recalling the selected postponed email to edit in
the composer. The command only allows recalling from the postpone
directory.
|
|
|
|
|
|
|
| |
This command uses the Postpone folder from the account config to save
messages to. Messages are saved as though they were sent so have a valid
'to' recipient address and should be able to be read back in for later
editing.
|
|
|
|
|
|
|
| |
Usage:
*choose* -o <key> <text> <command> [-o <key> <text> <command>]...
Prompts the user to choose from various options.
|
|
|
|
|
|
|
|
|
|
| |
Due to headers being essentially free text, we constantly run into issues
with parts of the body being interpreted as headers.
Remove the ability to overwrite headers to avoid that, while keeping the ability
to specify headers in the template files.
Fixes #383
|
|
|
|
| |
Forgot an unused import, to save you the hassle here is v2.
|
| |
|
| |
|
|
|
|
|
|
| |
The temporary file created when opening an attachment is currently saved
without an extension, which prevents matching on file ending with
xdg-open.
|
|
|
|
|
|
| |
This adds the commands pin-tab and unpin-tab. Once pinned a tab lives on
the left of the tabstrip and has a configurable marker, defaulting to `
before its name.
|
| |
|
| |
|
|
|
|
| |
This brings in some bug fixes.
|
|
|
|
|
|
|
| |
- Add maildir flags to complement a messages imap flags
- Set the "seen" flag on sent messages when using the maildir backend
- Cleanup AppendMessage interface to use models.Flag for both IMAP and
maildir
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Compare self address in lowercase, to avoid self-replying when people
put in uppercase versions of the mail.
Reported-By: helby on Freenode
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The functionality was broken since the decoding changes.
This commit also simplifies the code (in my view) to make the application logic
easier to follow.
The docs are updated accordingly (the feature was poorly documented).
As far as I am aware there should be no breaking changes (and is certainly
still in the spec of the prior documentation)
|
| |
|
| |
|
|
|
|
|
|
|
| |
Previously the workers returned a mixture of decoded / encoded parts.
This lead to a whole bunch of issues.
This commit changes the msgviewer and the commands to assume parts to already
be decoded
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hi!
This patch will fix missing filename if it is RFC2231 encoded with charset
different then ASCII or UTF8. Example how it looks like in mail:
Content-Type: application/pdf;
name="=?UTF-8?Q?Opis_przedmiotu_zam=c3=b3wienia_-_za=c5=82=c4=85cznik_nr_1?=
=?UTF-8?Q?=2epdf?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*0*=iso-8859-2''%4F%70%69%73%20%70%72%7A%65%64%6D%69%6F%74%75%20;
filename*1*=%7A%61%6D%F3%77%69%65%6E%69%61%20%2D%20%7A%61%B3%B1%63%7A%6E;
filename*2*=%69%6B%20%6E%72%20%31%2E%70%64%66
Yes, this should be forbidden :-). Anyway, best solotion in such cases
is to failback to Content-Type name. I am not sure if it is guaranted to
be there, but probably it will.
Leszek
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hello guys,
on the hunt for bugs related to wrong encoding. This patch is fixing
reply to non-utf8 messages.
We were using global message headers instead of part specific. In
practice header were often something like:
multipart; boundry=...
where there should be:
text/plain; charset=...
Fixed also missing SubType.
Have great weekend!
Leszek
|
|
|
|
|
|
|
|
|
|
|
| |
Pressing `Enter` on a view that has not yet loaded messages (e.g. at
startup) would return `nil` from `Selected()`. Accessing `msg.Uid` on a
`nil` reference crashes aerc.
This patch moves the `msg == nil` check before accessing `msg.Uid` thus
avoiding the crash.
To test this patch repeatedly press `Enter` on startup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
attemptCopy.
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(...)
/usr/lib/go/src/io/io.go:364
git.sr.ht/~sircmpwn/aerc/widgets.(*PartViewer).attemptCopy.func4(0xc00017efd0,
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ 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.
|