purebred-mua / purebred

A terminal based mail user agent based on notmuch
GNU Affero General Public License v3.0
139 stars 19 forks source link

Group reply #419

Closed romanofski closed 2 years ago

romanofski commented 3 years ago

Is your feature request related to a problem? Please describe. Purebred is missing replying to an entire group.

Describe the solution you'd like I'd like a way to reply to a group. Either by keystroke (e.g. g or by other means). Ideally, it would just be a some form of tab cycling in the composition view, where I can choose to reply to the entire group instead of the individual.

Describe alternatives you've considered None.

Additional context None.

frasertweedale commented 3 years ago

I think initial goal of separate actions for single-reply and reply-all (and maybe also list-reply) is fine. Just like mutt.

Altering an in-progress composition seems much more complicated: look up message id of in-reply-to field; extract recipients; modify current composition. I think we can definitely kick that can down the road, possibly forever. But if you feel so strongly you want it... who am I to stand in your way?

frasertweedale commented 3 years ago

I put it in milestone 1.0. Reply-all is an essential feature.

romanofski commented 3 years ago

Yeah I actually think altering an in-progress composition should be trivial (I think). The composition is held in memory anyway at this point in time (maybe shouldn't). So all it would take is probably a better data type for the address and a focus ring, which should allow us to cycle between the typical reply, reply all and don't know other options.

... unless? I've missed something.

frasertweedale commented 3 years ago

The current composition doesn't hold the actual mail being replied to though, does it? It will have to look that up to find out who were the recipients of the email being replied to. But maybe it is I who is missing something...

romanofski commented 3 years ago

No it doesn't, that's correct. However we pre-populate the UI fields with items we parse out of the mail we're replying to. That's where I would think I could grab all necessary information for the options: either the single-reply as it is, all addresses for a possible group reply and.. well whatever possibility there is (e.g. mailing lists). In the composition view, you could repeatedly press a key to then cycle through the options to set the To: field. When we write out the ByteString, we set whatever has been set in the UI fields.

frasertweedale commented 3 years ago

On Fri, Feb 19, 2021 at 12:32:59AM -0800, Roman Joost wrote:

No it doesn't, that's correct. However we pre-populate the UI fields with items we parse out of the mail we're replying to. That's where I would think I could grab all necessary information for the options: either the single-reply as it is, all addresses for a possible group reply and.. well whatever possibility there is (e.g. mailing lists). In the composition view, you could repeatedly press a key to then cycle through the options to set the To: field. When we write out the ByteString, we set whatever has been set in the UI fields.

Righto. If that's the UI you want, be my guest. Personally I'm fine with separate actions for reply and reply-all, with no way to convert an in-progress composition from one to the other. But I don't object to the concept you've described :)

frasertweedale commented 3 years ago

I'm taking this. There's a fair bit of logic around replying so I want to push most of it into purebred-email.