message forwarding features: challenges and open questions

Subject: message forwarding features: challenges and open questions

Date: Sun, 31 Mar 2019 18:57:27 -0400

To: Notmuch Mail


From: Daniel Kahn Gillmor

over in the series introduced with, Örjan Ekeberg proposed tagging
messages when we've forwarded them.

These changes got me thinking more generally about what capabilities a
good MUA should offer related to message forwarding, and how to get
notmuch-emacs closer to that vision.

I don't mean these questions to get in the way of any review or merge of
Örjan's series -- just thinking out loud here to try to document some
things that might be useful in addition to the improvements already

I guess you could think of this as a list of prototyped
not-quite-feature-request or not-quite-bug-report items.  If you see any
of them as explicitly actionable, feel free to reply to it specifically
and add more detail!

explicit inter-message references

Do we want notmuch to know about the different *specific* messages that
a "forwarded" tag implies?

 * For example, if i know that a message has been forwarded, can notmuch
   immediately find for me all the messages that included it?

 * Or, if i see a message is forwarded to me, and the original thread
   happens to also be in my mailstore, can the MUA get me to the
   original thread, with full context from just the forwarded message

forwarding multiple messages

When bringing a new person into a pre-existing thread, it can be useful
to give that person the full context.  In environments where top-posting
is tolerated/encouraged, that's done automatically, because each message
contains all previous messages in the thread, to be read in "sewing
machine stitch" order.  bleah.  More sensibly, it'd be nice to be able
to forward the full thread in chronological order for the new person to

 * notmuch-emacs in "show" mode by default binds "F" to
   "notmuch-show-forward-open-messages", which is pretty handy.  That
   said, it's still a bit janky to forward messages from multiple
   threads in a single message.  Are there other ways that notmuch-emacs
   could make the operation "add a message (or more than one) to an
   existing unsent compose buffer" easier?

 * if there is a region marked (as opposed to just point selection) in a
   notmuch-show buffer,  "f" (notmuch-show-forward-message) only
   generates a new message buffer which includes the given point (it
   ignores the marked region).  Could we make it include the region?

forwarding stripping/cleanup

sometimes i forward messages because i want help in diagnosing problems
with the message delivery -- in that case, i want to forward all
headers.  Other times, i just want the recipient to have access to the
content, and i'd rather that they *don't* get to see all the
intermediate "Received:", "Delivered-To:", "X-Original-To:" etc headers
that got added to the message as it made its way to my inbox.

 * The forwarding offered by notmuch-emacs defaults to the "forwarding
   for debugging with headers" context.  If i want to "forward for
   content", i currently edit the raw message in the compose buffer
   itself, manually stripping out certain headers.  Is there some way to
   expose that distinction to the user (and help me avoid manual editing
   errors) without adding additional UI costs?

sorry for the list of questions without concrete implementation
suggestions!  I hope these thoughts are at least more useful visible to
the community than stuck inside my own head.

all the best,

signature.asc (application/pgp-signature)
notmuch mailing list