KamoCRM

A composer names its last draft only through the mailbox that holds it

Fixkamo-internal
Shipped
September 27, 2026 at 4:48 AM UTC
Author
Kamo
Commit
05358f1

The composer kept the last saved draft as {folder, uid} and sent it as replacesDraft with whatever mailboxId the From was on at the time. EmailService expunges that UID from the mailbox the request names, so after switching From to another mailbox (or a window restore re-seeding it) the next save or send deleted whatever \Draft sat at that UID there, possibly a colleague's draft, and left the real one orphaned. The saved draft now records the mailboxId it was posted with, and replacesDraft is sent only while the request names that same mailbox. A draft restored from before the mailbox was recorded is never named. The wire shape is unchanged.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing