diff --git a/ts/models/messages.ts b/ts/models/messages.ts index 23a10778b..af6ec307b 100644 --- a/ts/models/messages.ts +++ b/ts/models/messages.ts @@ -1407,6 +1407,11 @@ export class MessageModel extends window.Backbone.Model { } isTapToView(): boolean { + // If a message is deleted for everyone, that overrides all other styling + if (this.get('deletedForEveryone')) { + return false; + } + return Boolean(this.get('isViewOnce') || this.get('messageTimer')); } @@ -1515,12 +1520,11 @@ export class MessageModel extends window.Backbone.Model { additionalProperties = {}, shouldPersist = true ): Promise { - if (this.get('isErased')) { - return; - } - window.log.info(`Erasing data for message ${this.idForLogging()}`); + // Note: There are cases where we want to re-erase a given message. For example, when + // a viewed (or outgoing) View-Once message is deleted for everyone. + try { await this.deleteData(); } catch (error) {