fix: replaced Number() casting to toNumber

fixed edge case of local db search for quotes lookup
This commit is contained in:
William Grant 2023-06-07 17:00:36 +10:00
parent 321ce003f6
commit f87995a375
3 changed files with 9 additions and 7 deletions

View File

@ -1,6 +1,6 @@
import React, { useCallback } from 'react';
import { useSelector } from 'react-redux';
import _, { isEmpty } from 'lodash';
import _, { isEmpty, toNumber } from 'lodash';
import { MessageModelType, MessageRenderingProps } from '../../../../models/messageType';
import { openConversationToSpecificMessage } from '../../../../state/ducks/conversations';
import {
@ -65,7 +65,7 @@ export const MessageQuote = (props: Props) => {
// If the quote is not found in memory, we try to find it in the DB
if (quoteNotFound && quote.id && quote.author) {
const quotedMessagesCollection = await Data.getMessagesBySenderAndSentAt([
{ timestamp: Number(quote.id), source: quote.author },
{ timestamp: toNumber(quote.id), source: quote.author },
]);
if (quotedMessagesCollection?.length) {
@ -77,6 +77,8 @@ export const MessageQuote = (props: Props) => {
} else {
quoteNotFoundInDB = true;
}
} else {
quoteNotFoundInDB = true;
}
}

View File

@ -7,7 +7,7 @@ import {
PropsForDataExtractionNotification,
PropsForMessageRequestResponse,
} from '../../models/messageType';
import { omit } from 'lodash';
import { omit, toNumber } from 'lodash';
import { ReplyingToMessageProps } from '../../components/conversation/composition/CompositionBox';
import { QuotedAttachmentType } from '../../components/conversation/message/message-content/quote/Quote';
import { LightBoxOptions } from '../../components/conversation/SessionConversation';
@ -386,7 +386,7 @@ async function getMessages({
if (quotesCollection?.length) {
const quotePropsList = quotesCollection.map(quote => ({
timestamp: Number(quote.id),
timestamp: toNumber(quote.id),
source: String(quote.author),
}));
@ -396,7 +396,7 @@ async function getMessages({
for (let i = 0; i < quotedMessagesCollection.length; i++) {
const quotedMessage = quotedMessagesCollection.models.at(i)?.getMessageModelProps();
if (quotedMessage) {
const timestamp = Number(quotedMessage.propsForMessage.timestamp);
const timestamp = quotedMessage.propsForMessage.timestamp;
const sender = quotedMessage.propsForMessage.sender;
if (timestamp && sender) {
quotesProps[`${timestamp}-${sender}`] = quotedMessage;

View File

@ -38,7 +38,7 @@ import { Storage } from '../../util/storage';
import { ConversationTypeEnum } from '../../models/conversationAttributes';
import { MessageReactsSelectorProps } from '../../components/conversation/message/message-content/MessageReactions';
import { filter, isEmpty, pick, sortBy } from 'lodash';
import { filter, isEmpty, pick, sortBy, toNumber } from 'lodash';
import { processQuoteAttachment } from '../../models/message';
import { isUsAnySogsFromCache } from '../../session/apis/open_group_api/sogsv3/knownBlindedkeys';
import { MessageModelType } from '../../models/messageType';
@ -1032,7 +1032,7 @@ export const getMessageQuoteProps = createSelector(
return quoteNotFound;
}
const sourceMessage = lookupQuote(quotesProps, messagesProps, Number(id), author);
const sourceMessage = lookupQuote(quotesProps, messagesProps, toNumber(id), author);
if (!sourceMessage) {
return quoteNotFound;
}