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 @@ -44,6 +44,7 @@ function useFetchConversation(): ( conversationID: string, ) => Promise { + const fetchUsersByFIDs = useGetCommFCUsersForFIDs(); const fetchFarcasterConversation = useFetchFarcasterConversation(); const dispatch = useDispatch(); @@ -59,7 +60,29 @@ } const farcasterConversation = conversationResult.result.conversation; - const thread = createFarcasterRawThreadInfo(farcasterConversation); + let thread = createFarcasterRawThreadInfo(farcasterConversation); + const fids = thread.members.map(member => member.id); + const commFCUsersForFIDs = await fetchUsersByFIDs(fids); + const threadMembers = thread.members.map(member => ({ + ...member, + id: + commFCUsersForFIDs.get(member.id)?.userID ?? + userIDFromFID(member.id), + })); + + thread = { + ...thread, + members: threadMembers, + }; + + if (threadMembers.length > 0) { + const newUserIDs = threadMembers.map(member => member.id); + dispatch({ + type: processNewUserIDsActionType, + payload: { userIDs: newUserIDs }, + }); + } + const update = { type: updateTypes.JOIN_THREAD, id: uuid.v4(), @@ -84,7 +107,7 @@ return null; } }, - [fetchFarcasterConversation, dispatch], + [fetchFarcasterConversation, fetchUsersByFIDs, dispatch], ); }