#39 wizard: the fact that the password is stored in plaintext is not obvious a month ago

Comment by ~konimarti on ~rjarry/aerc

Would it make sense to have an option in the wizard to ask if a .gitignore file containing accounts.conf should be created as well?

#35 Using search after filter applies a filter instead of a search 2 months ago

Comment by ~konimarti on ~rjarry/aerc

Since this commit you can chain filters together and I guess this destroyed the behavior of using :filter (with no arguments) to clear the filter. It was assumed that ":clear" is used to clear filters. I can work on this and send a patch that will make a :filter with no arguments act like a :clear.

#32 panic: stack overflow while building threads 3 months ago

Comment by ~konimarti on ~rjarry/aerc

thanks! I haven't tested it yet, but I'm almost sure that there is a circularity issue (the first and third position are the same in the references header). Fix should be straightforward.

#32 panic: stack overflow while building threads 3 months ago

Comment by ~konimarti on ~rjarry/aerc

ugh. that looks like an infinite loop in the reference headers.. I have never seen this before, so I need to dig into this a little and see if we can clean up the references headers or something. If you can narrow it down to a few messages and maybe send the reference headers that could be helpful.

#32 panic: stack overflow while building threads 3 months ago

~rjarry assigned ~konimarti to #32 on ~rjarry/aerc

#17 TCP broken pipe when switching folders quickly 4 months ago

Comment by ~konimarti on ~rjarry/aerc

panic: close of closed channel

This issue has been addressed after release 0.7.1 with the commit 022bf1a ("imap: fix panic when sending multiple connect cmds"): https://git.sr.ht/~rjarry/aerc/commit/022bf1a

#11 aerc crashes after piping git patch repeatedly 5 months ago

Comment by ~konimarti on ~rjarry/aerc

I can reproduce the crash with piping a pdf to xdg-open (even though i think xdg-open does not read from stdin). It seems to me that the code panics in the pty.Getsize function of the pty package which accesses the winsize struct without checking for an error. If there's an error, winsize would be nil but the code still tries to access it. I have reported this issue upstream and waiting for a reply https://github.com/creack/pty/issues/135

A quick fix that solves the pdf crash for me would look like this:

diff --git a/widgets/terminal.go b/widgets/terminal.go
index 68c9553..b6e8fc0 100644
--- a/widgets/terminal.go
+++ b/widgets/terminal.go
@@ -254,10 +254,13 @@ func (term *Terminal) Draw(ctx *ui.Context) {

-               rows, cols, err := pty.Getsize(term.pty)
+               ws, err := pty.GetsizeFull(term.pty)
                if err != nil {
+               rows := int(ws.Rows)
+               cols := int(ws.Cols)
                if ctx.Width() != cols || ctx.Height() != rows {
                        pty.Setsize(term.pty, &winsize)

Regarding the initial crash reported, I can also not reproduce it but the stack trace points towards a term.cmd that is nil because it panics on line 58 in run.go of the pty package.

#12 segfault when copy-pasting into compose editor 5 months ago

Ticket created by ~konimarti on ~rjarry/aerc

Aerc throws a segmentation fault when copying a large amount of text into the compose editor.

This has also been reported in https://todo.sr.ht/~sircmpwn/aerc2/410

It can be reproduced by pasting a large chunk of data (in my case ~5200bytes) once or multiple times from the clipboard to the editor window.

Looking at the stack trace, it seems that the problem is a concurrent access of the vterm field in the flushTerminal method of the Terminal widget. This can be avoided with a simple mutex.

I open this ticket for discussion and reference and will provide a patch that should solve it with the proposed solution above.

#6 pgp: option to attach signature and public key 6 months ago

Comment by ~konimarti on ~rjarry/aerc

Awesome job, ~konimarti!

Thanks! Happy to get your thoughts and feedback on this.

As a temporary workaround, while integration with the local keyring is not available, we could include a flag for the aerc command that synchronizes the internal keystore with the keyring from GPG. However, I think a simple shell script inside the /contrib/ directory might be a better idea.

+1 for the shell script idea in contrib. This keeps it simple and easy to setup for people who would like to use it with current keyring implementation.

The ability to configure signing or encryption by default using accounts.conf would be nice to have. Something like:

[james@cipher.host] [...] sign = true encrypt = true

This could also be a topic for a next patch together with the shell script above.

#6 pgp: option to attach signature and public key 6 months ago

Comment by ~konimarti on ~rjarry/aerc

Hi guys, as mentioned above, I have been working on this PGP topic recently and submitted a patch today: https://lists.sr.ht/~rjarry/aerc-devel/patches/27588

It implements PGP encryption and signing of the outgoing emails with the go-pgpmail package (v0.2.0). This is basically the same package that is used for the signature verification part in the message viewer.

For what its worth, https://github.com/ProtonMail/go-crypto is the successor to the golang openpgp package.

I have replaced the golang/x/crypot package with the ProtonMail fork consistently.

WIP patch sent with notes: https://lists.sr.ht/~sircmpwn/aerc/patches/27092

In this patch I also relied on the current logic of the keystore which deviates from the approach in patch #27092 with the external gpg commands.

The downside of the internal keystore is certainly the synchronization issue (i.e. one has to regularly run gpg --export and gpg --export-secret-keys in order to have an updated keyring in aerc).

Let me know if this patch goes in the right direction or not. Feedback is welcome.