Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32047146
D15402.1764987484.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
6 KB
Referenced Files
None
Subscribers
None
D15402.1764987484.diff
View Options
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
Details
Attached
Mime Type
text/plain
Expires
Sat, Dec 6, 2:18 AM (7 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5830953
Default Alt Text
D15402.1764987484.diff (6 KB)
Attached To
Mode
D15402: [lib] Increase Farcaster timeout and add sync debug logs
Attached
Detach File
Event Timeline
Log In to Comment