diff --git a/src/domain/session/room/timeline/tiles/SimpleTile.js b/src/domain/session/room/timeline/tiles/SimpleTile.js index 449bd02a..f4584bcf 100644 --- a/src/domain/session/room/timeline/tiles/SimpleTile.js +++ b/src/domain/session/room/timeline/tiles/SimpleTile.js @@ -49,7 +49,13 @@ export class SimpleTile extends ViewModel { } get isUnsent() { - return this._entry.isPending && this._entry.status !== SendStatus.Sent; + return this._entry.isPending && this._entry.pendingEvent.status !== SendStatus.Sent; + } + + get canAbortSending() { + return this._entry.isPending && + this._entry.pendingEvent.status !== SendStatus.Sending && + this._entry.pendingEvent.status !== SendStatus.Sent; } abortSending() { diff --git a/src/platform/web/ui/session/room/timeline/BaseMessageView.js b/src/platform/web/ui/session/room/timeline/BaseMessageView.js index 5557185e..60b39048 100644 --- a/src/platform/web/ui/session/room/timeline/BaseMessageView.js +++ b/src/platform/web/ui/session/room/timeline/BaseMessageView.js @@ -92,7 +92,7 @@ export class BaseMessageView extends TemplateView { createMenuOptions(vm) { const options = []; - if (vm.isPending) { + if (vm.canAbortSending) { options.push(Menu.option(vm.i18n`Cancel`, () => vm.abortSending())); } else if (vm.canRedact) { options.push(Menu.option(vm.i18n`Delete`, () => vm.redact()).setDestructive());