Page MenuHomePhorge

D15329.1765130852.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D15329.1765130852.diff

diff --git a/lib/shared/farcaster/farcaster-hooks.js b/lib/shared/farcaster/farcaster-hooks.js
--- a/lib/shared/farcaster/farcaster-hooks.js
+++ b/lib/shared/farcaster/farcaster-hooks.js
@@ -634,9 +634,39 @@
state => state.currentUserInfo && state.currentUserInfo.id,
);
const fetchMessage = useGetLatestMessageEdit();
+ const threadInfos = useSelector(state => state.threadStore.threadInfos);
+ const fetchConversationWithMessages = useFetchConversationWithMessages();
+ const currentlyFetchedConversations = React.useRef<Set<string>>(new Set());
return React.useCallback(
async (farcasterMessage: FarcasterMessage) => {
+ if (
+ !threadInfos[
+ farcasterThreadIDFromConversationID(farcasterMessage.conversationId)
+ ] &&
+ !currentlyFetchedConversations.current.has(
+ farcasterMessage.conversationId,
+ )
+ ) {
+ currentlyFetchedConversations.current.add(
+ farcasterMessage.conversationId,
+ );
+ const updates = new BatchedUpdates();
+ await fetchConversationWithMessages(
+ farcasterMessage.conversationId,
+ Number.POSITIVE_INFINITY,
+ updates,
+ );
+ dispatch({
+ type: processFarcasterOpsActionType,
+ payload: updates.getReduxPayload(),
+ });
+ currentlyFetchedConversations.current.delete(
+ farcasterMessage.conversationId,
+ );
+ return;
+ }
+
const userFIDs = extractFarcasterIDsFromPayload(
farcasterMessageValidator,
farcasterMessage,
@@ -668,7 +698,14 @@
payload: { rawMessageInfos, updateInfos: updates, userIDs },
});
},
- [dispatch, fetchMessage, fetchUsersByFIDs, viewerID],
+ [
+ dispatch,
+ fetchConversationWithMessages,
+ fetchMessage,
+ fetchUsersByFIDs,
+ threadInfos,
+ viewerID,
+ ],
);
}

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 7, 6:07 PM (14 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5844087
Default Alt Text
D15329.1765130852.diff (1 KB)

Event Timeline