unifying and automating draft ("postpone/resume") behavior [was: Re: notmuch "lost" email during power failure]

Subject: unifying and automating draft ("postpone/resume") behavior [was: Re: notmuch "lost" email during power failure]

Date: Tue, 12 Nov 2019 18:03:58 -0500

To: Antoine Beaupré, notmuch@notmuchmail.org


From: Daniel Kahn Gillmor

Hi Antoine--

[epic story and funny rnat trimmed down to the salient bug reports and
 feature requests because i'm a boring person]

On Tue 2019-11-12 17:19:05 -0500, Antoine Beaupré wrote:
> I would argue that notmuch should at least allow me to recover from a
> power failure like this, as a MUA. It should "know" that message-mode
> stores those messages there, and, why not, also store its tempfiles
> there.

This seems like a very specific ask.  I think what we want more
generally is a sensible unification of the notmuch-emacs drafting
behaviors such that message-mode autosaves are discoverable and
recoverable in the same way that deliberately-saved drafts are.

If that means that notmuch learns about message-mode drafts, that's one
solution.  But it could also mean that notmuch-emacs overrides
message-mode's autosave drafting approach, and fixes things there too.

or, we somehow fix message-mode?

> And indeed, if I hit [control-x control-s] on this message, it *does*
> get saved as a "draft" in that it gets written in:
> ~/Maildir/drafts/cur/1573596264.M156307P32312.curie:2,DF
> That's a great improvement already. I don't remember exactly when or how
> this happened, but that's great and I thank whoever did that for us
> here.

That was Mark Walters (in Cc), see the series from 2016 starting at:


Thank you, Mark!

> To make a long story short, I think the following should happen:
>  1. message-mode should automatically cleanup after itself a little
>     better (not notmuch's job? yay double-negative, that means it's much
>     job!)
>  2. encrypted emails should *never* be written in cleartext on the
>     filesystem (not notmuch job, which also means it's much job!)
>  3. notmuch's draft subsystem should know about Emacs' autosave files
>     and somehow show them in the UI

Much of the above sounds like message-mode cleanup work to me.  It might
be worth asking the message-mode folks to weigh on in this strategy.

Alternately, it might help to characterize the differences between
message-mode autosaving and notmuch explicit drafting.

 - message-mode autosaves happen without your knowledge.
   notmuch draft saving only happens when you explicitly C-x C-s
 - message-mode autosaves are automatically cleaned up from the
   filesystem after you send.  notmuch saved drafts persist in your
   mailstore until you remove them (though they are tagged with

 - message-mode autosaves appear to save in cleartext even when the
   message will be encrypted(‽).  if you try to C-x C-s on a notmuch
   draft, notmuch-emacs gives you a big ol' warning and won't let you
   save it in plaintext unless you agree (see
   notmuch-draft-save-plaintext).  (Maybe there's a third behavior which
   would be better than all of these, which is to explicitly save the
   draft of encrypted messages encrypted-to-self-only, but that's not
   implemented, afaict)

Does this all sound right?  There's a lot to unpack here.

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