Page MenuHomePhorge

D15402.1765044632.diff
No OneTemporary

Size
6 KB
Referenced Files
None
Subscribers
None

D15402.1765044632.diff

diff --git a/lib/components/debug-logs-context.js b/lib/components/debug-logs-context.js
--- a/lib/components/debug-logs-context.js
+++ b/lib/components/debug-logs-context.js
@@ -12,6 +12,7 @@
OLM: 'olm',
TUNNELBROKER: 'tunnelbroker',
BACKUP: 'backup',
+ FARCASTER: 'farcaster',
});
export type LogType = $Values<typeof logTypes>;
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
@@ -19,6 +19,7 @@
type FarcasterMessage,
farcasterMessageValidator,
} from './farcaster-messages-types.js';
+import { logTypes, useDebugLogs } from '../../components/debug-logs-context.js';
import { useIsUserDataReady } from '../../hooks/backup-hooks.js';
import { useGetLatestMessageEdit } from '../../hooks/latest-message-edit.js';
import { useGetCommFCUsersForFIDs } from '../../hooks/user-identities-hooks.js';
@@ -40,6 +41,7 @@
import { extractFarcasterIDsFromPayload } from '../../utils/conversion-utils.js';
import { convertFarcasterMessageToCommMessages } from '../../utils/convert-farcaster-message-to-comm-messages.js';
import { createFarcasterRawThreadInfo } from '../../utils/create-farcaster-raw-thread-info.js';
+import { getMessageForException } from '../../utils/errors.js';
import {
useCurrentUserSupportsDCs,
useFarcasterDCsLoaded,
@@ -256,6 +258,7 @@
) => Promise<?FarcasterConversation> {
const fetchUsersByFIDs = useGetCommFCUsersForFIDs();
const fetchFarcasterConversation = useFetchFarcasterConversation();
+ const { addLog } = useDebugLogs();
return React.useCallback(
async (
@@ -292,11 +295,18 @@
return farcasterConversation;
} catch (e) {
- console.error(`Failed fetching conversation ${conversationID}:`, e);
+ addLog(
+ 'Farcaster: Failed to fetch conversation',
+ JSON.stringify({
+ conversationID,
+ error: getMessageForException(e),
+ }),
+ new Set([logTypes.FARCASTER]),
+ );
return null;
}
},
- [fetchFarcasterConversation, fetchUsersByFIDs],
+ [addLog, fetchFarcasterConversation, fetchUsersByFIDs],
);
}
@@ -308,6 +318,7 @@
const fetchUsersByFIDs = useGetCommFCUsersForFIDs();
const fetchFarcasterConversation = useFetchFarcasterConversation();
const fetchFarcasterMessages = useFetchMessagesForConversation();
+ const { addLog } = useDebugLogs();
return React.useCallback(
async (
@@ -364,14 +375,24 @@
return farcasterConversation;
} catch (e) {
- console.error(
- `Failed fetching conversation ${conversationID} with messages:`,
- e,
+ addLog(
+ 'Farcaster: Failed to fetch conversation with messages',
+ JSON.stringify({
+ conversationID,
+ messagesLimit,
+ error: getMessageForException(e),
+ }),
+ new Set([logTypes.FARCASTER]),
);
return null;
}
},
- [fetchFarcasterConversation, fetchFarcasterMessages, fetchUsersByFIDs],
+ [
+ addLog,
+ fetchFarcasterConversation,
+ fetchFarcasterMessages,
+ fetchUsersByFIDs,
+ ],
);
}
@@ -386,6 +407,7 @@
}> {
const fetchFarcasterMessages = useFetchFarcasterMessages();
const fetchUsersByFIDs = useGetCommFCUsersForFIDs();
+ const { addLog } = useDebugLogs();
return React.useCallback(
async (
@@ -465,7 +487,16 @@
await sleep(0);
} while (cursor && totalMessagesFetched < messagesNumberLimit);
} catch (e) {
- console.error(`Failed fetching messages for ${conversationID}:`, e);
+ addLog(
+ 'Farcaster: Failed to fetch messages',
+ JSON.stringify({
+ conversationID,
+ messagesNumberLimit,
+ cursor,
+ error: getMessageForException(e),
+ }),
+ new Set([logTypes.FARCASTER]),
+ );
}
return {
messages: result,
@@ -473,7 +504,7 @@
newCursor: cursor,
};
},
- [fetchFarcasterMessages, fetchUsersByFIDs],
+ [addLog, fetchFarcasterMessages, fetchUsersByFIDs],
);
}
@@ -508,6 +539,7 @@
const dispatch = useDispatch();
const fetchConversationWithMessages = useFetchConversationWithMessages();
const setFarcasterDCsLoaded = useSetFarcasterDCsLoaded();
+ const { addLog } = useDebugLogs();
const threadInfos = useSelector(state => state.threadStore.threadInfos);
@@ -544,14 +576,22 @@
break;
}
} catch (e) {
- console.error('Error fetching inbox', e);
+ addLog(
+ 'Farcaster: Failed to fetch inbox',
+ JSON.stringify({
+ category: category || 'main',
+ cursor: currentCursor,
+ error: getMessageForException(e),
+ }),
+ new Set([logTypes.FARCASTER]),
+ );
break;
}
}
return allConversations;
},
- [fetchFarcasterInbox],
+ [addLog, fetchFarcasterInbox],
);
const removeDeadThreads = React.useCallback(
@@ -629,11 +669,18 @@
setFarcasterDCsLoaded(true);
} catch (e) {
- console.error('Error syncing Farcaster conversations', e);
+ addLog(
+ 'Farcaster: Failed to sync conversations',
+ JSON.stringify({
+ error: getMessageForException(e),
+ }),
+ new Set([logTypes.FARCASTER]),
+ );
throw e;
}
},
[
+ addLog,
dispatch,
fetchConversationWithMessages,
fetchInboxes,
diff --git a/lib/shared/timeouts.js b/lib/shared/timeouts.js
--- a/lib/shared/timeouts.js
+++ b/lib/shared/timeouts.js
@@ -45,7 +45,7 @@
export const tunnelbrokerRequestTimeout = 10000; // in milliseconds
// Client-side timeout duration for certain Farcaster requests.
-export const farcasterRequestTimeout = 5000; // in milliseconds
+export const farcasterRequestTimeout = 30000; // in milliseconds
// This controls how long the client waits before trying to reconnect a
// disconnected Tunnelbroker socket.
diff --git a/web/settings/debug-logs-modal.css b/web/settings/debug-logs-modal.css
--- a/web/settings/debug-logs-modal.css
+++ b/web/settings/debug-logs-modal.css
@@ -1,7 +1,7 @@
.container {
display: flex;
flex-direction: column;
- height: 60vh;
+ height: 80vh;
gap: 8px;
}

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 6, 6:10 PM (21 h, 32 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5830953
Default Alt Text
D15402.1765044632.diff (6 KB)

Event Timeline