mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-27 11:53:23 +01:00
Initial Poll message receive support
This commit is contained in:
@@ -40,6 +40,12 @@ import {
|
||||
import { getMessageIdForLogging } from './idForLogging.js';
|
||||
import { markViewOnceMessageViewed } from '../services/MessageUpdater.js';
|
||||
import { handleReaction } from '../messageModifiers/Reactions.js';
|
||||
import {
|
||||
drainCachedTerminatesForMessage as drainCachedPollTerminatesForMessage,
|
||||
drainCachedVotesForMessage as drainCachedPollVotesForMessage,
|
||||
handlePollTerminate,
|
||||
handlePollVote,
|
||||
} from '../messageModifiers/Polls.js';
|
||||
|
||||
const log = createLogger('modifyTargetMessage');
|
||||
|
||||
@@ -315,6 +321,28 @@ export async function modifyTargetMessage(
|
||||
})
|
||||
);
|
||||
|
||||
const pollVotes = drainCachedPollVotesForMessage(message.attributes);
|
||||
if (pollVotes.length) {
|
||||
changed = true;
|
||||
await Promise.all(
|
||||
pollVotes.map(vote =>
|
||||
handlePollVote(message, vote, { shouldPersist: false })
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
const pollTerminates = drainCachedPollTerminatesForMessage(
|
||||
message.attributes
|
||||
);
|
||||
if (pollTerminates.length) {
|
||||
changed = true;
|
||||
await Promise.all(
|
||||
pollTerminates.map(term =>
|
||||
handlePollTerminate(message, term, { shouldPersist: false })
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// Does message message have any pending, previously-received associated
|
||||
// delete for everyone messages?
|
||||
const deletes = Deletes.forMessage(message.attributes);
|
||||
|
||||
Reference in New Issue
Block a user