Improve reliability of out-of-order reactions and DOE
This commit is contained in:
parent
f1182fa609
commit
4289c28a38
5 changed files with 170 additions and 115 deletions
|
@ -2520,6 +2520,18 @@
|
|||
window.Signal.Data.updateConversation(conversation.attributes);
|
||||
|
||||
await message.queueAttachmentDownloads();
|
||||
|
||||
// Does this message have any pending, previously-received associated reactions?
|
||||
const reactions = Whisper.Reactions.forMessage(message);
|
||||
reactions.forEach(reaction => {
|
||||
message.handleReaction(reaction, false);
|
||||
});
|
||||
|
||||
// Does this message have any pending, previously-received associated
|
||||
// delete for everyone messages?
|
||||
const deletes = Whisper.Deletes.forMessage(message);
|
||||
deletes.forEach(del => Whisper.Deletes.onDelete(del, false));
|
||||
|
||||
await window.Signal.Data.saveMessage(message.attributes, {
|
||||
Message: Whisper.Message,
|
||||
forceSave: true,
|
||||
|
@ -2531,17 +2543,6 @@
|
|||
await conversation.notify(message);
|
||||
}
|
||||
|
||||
// Does this message have any pending, previously-received associated reactions?
|
||||
const reactions = Whisper.Reactions.forMessage(message);
|
||||
reactions.forEach(reaction => {
|
||||
message.handleReaction(reaction);
|
||||
});
|
||||
|
||||
// Does this message have any pending, previously-received associated
|
||||
// delete for everyone messages?
|
||||
const deletes = Whisper.Deletes.forMessage(message);
|
||||
deletes.forEach(del => Whisper.Deletes.onDelete(del));
|
||||
|
||||
Whisper.events.trigger('incrementProgress');
|
||||
confirm();
|
||||
} catch (error) {
|
||||
|
@ -2557,7 +2558,7 @@
|
|||
});
|
||||
},
|
||||
|
||||
async handleReaction(reaction) {
|
||||
async handleReaction(reaction, shouldPersist = true) {
|
||||
if (this.get('deletedForEveryone')) {
|
||||
return;
|
||||
}
|
||||
|
@ -2597,9 +2598,11 @@
|
|||
`Done processing reaction for message ${messageId}. Went from ${count} to ${newCount} reactions.`
|
||||
);
|
||||
|
||||
await window.Signal.Data.saveMessage(this.attributes, {
|
||||
Message: Whisper.Message,
|
||||
});
|
||||
if (shouldPersist) {
|
||||
await window.Signal.Data.saveMessage(this.attributes, {
|
||||
Message: Whisper.Message,
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
async handleDeleteForEveryone(del) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue