fix (GODT-597): duplicate send when draft creation takes a long time

This commit is contained in:
James Houlahan
2020-08-17 10:49:56 +02:00
parent 77c6ba381e
commit 35b37c7097
4 changed files with 35 additions and 9 deletions

View File

@ -230,11 +230,13 @@ func (su *smtpUser) Send(from string, to []string, messageReader io.Reader) (err
return nil
}
su.backend.sendRecorder.addMessage(sendRecorderMessageHash)
message, atts, err := su.storeUser.CreateDraft(kr, message, attReaders, attachedPublicKey, attachedPublicKeyName, parentID)
if err != nil {
su.backend.sendRecorder.removeMessage(sendRecorderMessageHash)
return
}
su.backend.sendRecorder.addMessage(sendRecorderMessageHash, message.ID)
su.backend.sendRecorder.setMessageID(sendRecorderMessageHash, message.ID)
// We always have to create a new draft even if there already is one,
// because clients don't necessarily save the draft before sending, which