fix: replaced Number() casting to toNumber

fixed edge case of local db search for quotes lookup
pull/2757/head
William Grant 2 years ago
parent 321ce003f6
commit f87995a375

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

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

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

Loading…
Cancel
Save