Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32168873
D15307.1765055282.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D15307.1765055282.diff
View Options
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
@@ -316,19 +316,27 @@
);
}
-function useAddNewFarcasterMessage(): FarcasterMessage => void {
+function useAddNewFarcasterMessage(): FarcasterMessage => Promise<void> {
const dispatch = useDispatch();
+ const fetchUsersByFIDs = useGetCommFCUsersForFIDs();
return React.useCallback(
- (farcasterMessage: FarcasterMessage) => {
- const rawMessageInfos =
- convertFarcasterMessageToCommMessages(farcasterMessage);
+ async (farcasterMessage: FarcasterMessage) => {
+ const userFIDs = extractFarcasterIDsFromPayload(
+ farcasterMessageValidator,
+ farcasterMessage,
+ );
+ const fcUserInfos = await fetchUsersByFIDs(userFIDs);
+ const rawMessageInfos = convertFarcasterMessageToCommMessages(
+ farcasterMessage,
+ fcUserInfos,
+ );
dispatch({
type: processFarcasterOpsActionType,
payload: { rawMessageInfos, updateInfos: [] },
});
},
- [dispatch],
+ [dispatch, fetchUsersByFIDs],
);
}
diff --git a/lib/tunnelbroker/use-peer-to-peer-message-handler.js b/lib/tunnelbroker/use-peer-to-peer-message-handler.js
--- a/lib/tunnelbroker/use-peer-to-peer-message-handler.js
+++ b/lib/tunnelbroker/use-peer-to-peer-message-handler.js
@@ -663,7 +663,15 @@
} else if (
message.type === peerToPeerMessageTypes.NEW_FARCASTER_MESSAGE
) {
- addNewFarcasterMessage(message.message);
+ try {
+ await addNewFarcasterMessage(message.message);
+ } catch (e) {
+ console.log(
+ `Error processing new Farcaster message: ${
+ getMessageForException(e) ?? 'unknown error'
+ }`,
+ );
+ }
}
},
[
diff --git a/lib/utils/convert-farcaster-message-to-comm-messages.js b/lib/utils/convert-farcaster-message-to-comm-messages.js
--- a/lib/utils/convert-farcaster-message-to-comm-messages.js
+++ b/lib/utils/convert-farcaster-message-to-comm-messages.js
@@ -13,11 +13,11 @@
function convertFarcasterMessageToCommMessages(
farcasterMessage: FarcasterMessage,
- fcUserInfos?: FCUserInfos,
+ fcUserInfos: FCUserInfos,
): $ReadOnlyArray<RawMessageInfo> {
const senderFid = farcasterMessage.senderFid.toString();
const creatorID =
- fcUserInfos?.get(senderFid)?.userID ?? userIDFromFID(senderFid);
+ fcUserInfos.get(senderFid)?.userID ?? userIDFromFID(senderFid);
const threadID = farcasterThreadIDFromConversationID(
farcasterMessage.conversationId,
@@ -29,7 +29,7 @@
const addedUserFID =
farcasterMessage.actionTargetUserContext.fid.toString();
const addedUser =
- fcUserInfos?.get(addedUserFID)?.userID ?? userIDFromFID(addedUserFID);
+ fcUserInfos.get(addedUserFID)?.userID ?? userIDFromFID(addedUserFID);
return [
{
id: farcasterMessage.messageId,
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Dec 6, 9:08 PM (6 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5840563
Default Alt Text
D15307.1765055282.diff (2 KB)
Attached To
Mode
D15307: [lib] Process FIDs in useAddNewFarcasterMessage()
Attached
Detach File
Event Timeline
Log In to Comment