Page MenuHomePhorge

D15430.1765039133.diff
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

D15430.1765039133.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
@@ -757,19 +757,24 @@
);
}
-function useFetchInboxes(): (
- category?: 'archived' | 'request',
-) => Promise<$ReadOnlyArray<FarcasterInboxConversation>> {
+function useFetchInboxes(): (category?: 'archived' | 'request') => Promise<{
+ +conversations: $ReadOnlyArray<FarcasterInboxConversation>,
+ +fetchSuccessful: boolean,
+}> {
const fetchFarcasterInbox = useFetchFarcasterInbox();
const { addLog } = useDebugLogs();
return React.useCallback(
async (
category?: 'archived' | 'request',
- ): Promise<$ReadOnlyArray<FarcasterInboxConversation>> => {
+ ): Promise<{
+ +conversations: $ReadOnlyArray<FarcasterInboxConversation>,
+ +fetchSuccessful: boolean,
+ }> => {
const allConversations: Array<FarcasterInboxConversation> = [];
let currentCursor = null;
let pageNumber = 0;
+ let fetchSuccessful = true;
while (true) {
pageNumber++;
@@ -820,24 +825,31 @@
}),
new Set([logTypes.FARCASTER]),
);
+ fetchSuccessful = false;
break;
}
}
- return allConversations;
+ return { conversations: allConversations, fetchSuccessful };
},
[addLog, fetchFarcasterInbox],
);
}
-function useFetchInboxIDs(): (
- category?: 'archived' | 'request',
-) => Promise<$ReadOnlyArray<string>> {
+function useFetchInboxIDs(): (category?: 'archived' | 'request') => Promise<{
+ +conversationIDs: $ReadOnlyArray<string>,
+ +fetchSuccessful: boolean,
+}> {
const fetchInboxes = useFetchInboxes();
return React.useCallback(
async (category?: 'archived' | 'request') => {
- const conversations = await fetchInboxes(category);
- return conversations.map(conversation => conversation.conversationId);
+ const { conversations, fetchSuccessful } = await fetchInboxes(category);
+ return {
+ conversationIDs: conversations.map(
+ conversation => conversation.conversationId,
+ ),
+ fetchSuccessful,
+ };
},
[fetchInboxes],
);
@@ -908,9 +920,16 @@
fetchInboxes('request'),
fetchInboxes('archived'),
]);
- const conversations = inboxResults.flat();
+ const allFetchSuccessful = inboxResults.every(
+ result => result.fetchSuccessful,
+ );
+ const conversations = inboxResults.flatMap(
+ result => result.conversationIDs,
+ );
- removeDeadThreads(conversations);
+ if (allFetchSuccessful) {
+ removeDeadThreads(conversations);
+ }
if (conversations.length === 0) {
addLog(
@@ -980,12 +999,19 @@
fetchInboxes('request'),
fetchInboxes('archived'),
]);
- const conversations = inboxResults.flat();
+ const allFetchSuccessful = inboxResults.every(
+ result => result.fetchSuccessful,
+ );
+ const conversations = inboxResults.flatMap(
+ result => result.conversations,
+ );
const conversationIDs = conversations.map(
conversation => conversation.conversationId,
);
- removeDeadThreads(conversationIDs);
+ if (allFetchSuccessful) {
+ removeDeadThreads(conversationIDs);
+ }
const threadIDs = new Set(Object.keys(threadInfos));
const newConversationIDs = [];

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 6, 4:38 PM (17 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5839335
Default Alt Text
D15430.1765039133.diff (3 KB)

Event Timeline