MCPcopy Create free account
hub / github.com/CommE2E/comm / useFetchMessages

Function useFetchMessages

lib/shared/message-utils.js:625–675  ·  view source on GitHub ↗
(
  threadInfo: ThreadInfo,
)

Source from the content-addressed store, hash-verified

623 +numMessagesToFetch?: ?number,
624};
625function useFetchMessages(
626 threadInfo: ThreadInfo,
627): (options?: ?FetchMessagesOptions) => Promise<void> {
628 const oldestMessageServerID = useOldestMessageServerID(threadInfo.id);
629 const callFetchMessagesBeforeCursor = useFetchMessagesBeforeCursor();
630 const callFetchMostRecentMessages = useFetchMostRecentMessages();
631 const dispatchActionPromise = useDispatchActionPromise();
632 const farcasterMessageFetching = useFarcasterMessageFetching();
633
634 React.useEffect(() => {
635 registerFetchKey(fetchMessagesBeforeCursorActionTypes);
636 registerFetchKey(fetchMostRecentMessagesActionTypes);
637 }, []);
638
639 const threadID = threadInfo.id;
640 const messageIDs = useSelector(
641 state => state.messageStore.threads[threadID]?.messageIDs,
642 );
643
644 return React.useCallback(
645 async (options?: ?FetchMessagesOptions) => {
646 const numMessagesToFetch = options?.numMessagesToFetch;
647
648 await threadSpecs[threadInfo.type].protocol().fetchMessages(
649 {
650 numMessagesToFetch,
651 threadID,
652 currentNumberOfFetchedMessages: messageIDs?.length ?? 0,
653 oldestMessageServerID,
654 },
655 {
656 fetchMessagesFromDB,
657 keyserverFetchMessagesBeforeCursor: callFetchMessagesBeforeCursor,
658 keyserverFetchMostRecentMessages: callFetchMostRecentMessages,
659 dispatchActionPromise,
660 farcasterMessageFetching,
661 },
662 );
663 },
664 [
665 callFetchMessagesBeforeCursor,
666 callFetchMostRecentMessages,
667 dispatchActionPromise,
668 farcasterMessageFetching,
669 messageIDs?.length,
670 oldestMessageServerID,
671 threadID,
672 threadInfo.type,
673 ],
674 );
675}
676
677export {
678 robotextForMessageInfo,

Callers 3

useMessageInfoForPreviewFunction · 0.90

Calls 8

useOldestMessageServerIDFunction · 0.90
useDispatchActionPromiseFunction · 0.90
registerFetchKeyFunction · 0.90
useSelectorFunction · 0.90
fetchMessagesMethod · 0.45

Tested by

no test coverage detected