mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-07-08 14:24:14 +01:00
getConversationForTargetMessage: Search in-memory messages first
This commit is contained in:
@@ -156,7 +156,7 @@ async function safeCombineConversations(
|
||||
|
||||
const MAX_MESSAGE_BODY_LENGTH = 64 * 1024;
|
||||
|
||||
const { getAllConversations, getMessagesBySentAt } = DataReader;
|
||||
const { getAllConversations } = DataReader;
|
||||
|
||||
const {
|
||||
migrateConversationMessages,
|
||||
@@ -1519,11 +1519,13 @@ export class ConversationController {
|
||||
targetFromId: string,
|
||||
targetTimestamp: number
|
||||
): Promise<ConversationModel | null | undefined> {
|
||||
const messages = await getMessagesBySentAt(targetTimestamp);
|
||||
const targetMessage = messages.find(m => getAuthorId(m) === targetFromId);
|
||||
const targetMessage = await window.MessageCache.findBySentAt(
|
||||
targetTimestamp,
|
||||
m => getAuthorId(m.attributes) === targetFromId
|
||||
);
|
||||
|
||||
if (targetMessage) {
|
||||
return this.get(targetMessage.conversationId);
|
||||
return this.get(targetMessage.get('conversationId'));
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -203,9 +203,9 @@ export async function handleEditMessage(
|
||||
bodyAttachment: editedMessage.bodyAttachment,
|
||||
bodyRanges: editedMessage.bodyRanges,
|
||||
editHistory,
|
||||
editMessageTimestamp: upgradedEditedMessageData.timestamp,
|
||||
editMessageReceivedAt: upgradedEditedMessageData.received_at,
|
||||
editMessageReceivedAtMs: upgradedEditedMessageData.received_at_ms,
|
||||
editMessageTimestamp: editedMessage.timestamp,
|
||||
editMessageReceivedAt: editedMessage.received_at,
|
||||
editMessageReceivedAtMs: editedMessage.received_at_ms,
|
||||
preview: editedMessage.preview,
|
||||
quote: editedMessage.quote,
|
||||
});
|
||||
@@ -271,17 +271,15 @@ export async function handleEditMessage(
|
||||
: ReadStatus.Unread;
|
||||
|
||||
// Save both the main message and the edited message for fast lookups
|
||||
drop(
|
||||
DataWriter.saveEditedMessage(
|
||||
mainMessageModel.attributes,
|
||||
itemStorage.user.getCheckedAci(),
|
||||
{
|
||||
conversationId: editAttributes.conversationId,
|
||||
messageId: mainMessage.id,
|
||||
readStatus,
|
||||
sentAt: upgradedEditedMessageData.timestamp,
|
||||
}
|
||||
)
|
||||
await DataWriter.saveEditedMessage(
|
||||
mainMessageModel.attributes,
|
||||
itemStorage.user.getCheckedAci(),
|
||||
{
|
||||
conversationId: editAttributes.conversationId,
|
||||
messageId: mainMessage.id,
|
||||
readStatus,
|
||||
sentAt: upgradedEditedMessageData.timestamp,
|
||||
}
|
||||
);
|
||||
|
||||
if (conversation) {
|
||||
|
||||
Reference in New Issue
Block a user