Skip to content

Commit

Permalink
Minimized draft will show even if no changes were made.
Browse files Browse the repository at this point in the history
closes #4396
  • Loading branch information
wrdhub authored and ganthern committed Dec 19, 2022
1 parent 2b01556 commit c37894a
Showing 1 changed file with 26 additions and 26 deletions.
52 changes: 26 additions & 26 deletions src/mail/editor/MailEditor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -771,36 +771,36 @@ async function createMailEditorDialog(model: SendMailModel, blockExternalContent
}

const minimize = () => {
// If the mail is unchanged, close instead of saving
if (!model.hasMailChanged()) {
if (model.hasMailChanged() || model.draft) {
const saveStatus = stream<SaveStatus>({status: SaveStatusEnum.Saving})
save(false)
.then(() => saveStatus({status: SaveStatusEnum.Saved}))
.catch(e => {

const reason = isOfflineError(e)
? SaveErrorReason.ConnectionLost
: SaveErrorReason.Unknown

saveStatus({status: SaveStatusEnum.NotSaved, reason})

// If we don't show the error in the minimized error dialog,
// Then we need to communicate it in a dialog or as an unhandled error
if (reason === SaveErrorReason.Unknown) {
if (e instanceof UserError) {
showUserError(e)
} else {
throw e
}
}
})
.finally(() => m.redraw())
showMinimizedMailEditor(dialog, model, locator.minimizedMailModel, locator.eventController, dispose, saveStatus)
} else {
// If the mail is unchanged and there was no preexisting draft, close instead of saving
dispose()
dialog.close()
return
}

const saveStatus = stream<SaveStatus>({status: SaveStatusEnum.Saving})
save(false)
.then(() => saveStatus({status: SaveStatusEnum.Saved}))
.catch(e => {

const reason = isOfflineError(e)
? SaveErrorReason.ConnectionLost
: SaveErrorReason.Unknown

saveStatus({status: SaveStatusEnum.NotSaved, reason})

// If we don't show the error in the minimized error dialog,
// Then we need to communicate it in a dialog or as an unhandled error
if (reason === SaveErrorReason.Unknown) {
if (e instanceof UserError) {
showUserError(e)
} else {
throw e
}
}
})
.finally(() => m.redraw())
showMinimizedMailEditor(dialog, model, locator.minimizedMailModel, locator.eventController, dispose, saveStatus)
}

let windowCloseUnsubscribe = () => {
Expand Down

0 comments on commit c37894a

Please sign in to comment.