error fixed
we must refresh for new msg
This commit is contained in:
parent
9cbdc35903
commit
76fa04d129
Binary file not shown.
@ -78,6 +78,9 @@ export function ChatProvider({ children }: { children: React.ReactNode }) {
|
|||||||
const activeThreadIdRef = useRef<string | null>(null);
|
const activeThreadIdRef = useRef<string | null>(null);
|
||||||
const currentUserIdRef = useRef<string | undefined>(undefined);
|
const currentUserIdRef = useRef<string | undefined>(undefined);
|
||||||
const refreshThreadsRef = useRef<() => Promise<void>>(async () => {});
|
const refreshThreadsRef = useRef<() => Promise<void>>(async () => {});
|
||||||
|
const refreshMessagesRef = useRef<(threadId: string) => Promise<void>>(
|
||||||
|
async () => {},
|
||||||
|
);
|
||||||
const markThreadReadRef = useRef<
|
const markThreadReadRef = useRef<
|
||||||
(threadId: string, lastReadMessageId?: string) => Promise<void>
|
(threadId: string, lastReadMessageId?: string) => Promise<void>
|
||||||
>(async () => {});
|
>(async () => {});
|
||||||
@ -283,6 +286,10 @@ export function ChatProvider({ children }: { children: React.ReactNode }) {
|
|||||||
refreshThreadsRef.current = refreshThreads;
|
refreshThreadsRef.current = refreshThreads;
|
||||||
}, [refreshThreads]);
|
}, [refreshThreads]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
refreshMessagesRef.current = refreshMessages;
|
||||||
|
}, [refreshMessages]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
markThreadReadRef.current = markThreadRead;
|
markThreadReadRef.current = markThreadRead;
|
||||||
}, [markThreadRead]);
|
}, [markThreadRead]);
|
||||||
@ -587,7 +594,7 @@ export function ChatProvider({ children }: { children: React.ReactNode }) {
|
|||||||
socketRef.current.emit("chat:subscribe", { threadId: activeThreadId });
|
socketRef.current.emit("chat:subscribe", { threadId: activeThreadId });
|
||||||
}
|
}
|
||||||
|
|
||||||
void refreshMessages(activeThreadId);
|
void refreshMessagesRef.current(activeThreadId);
|
||||||
|
|
||||||
setThreads((prev) =>
|
setThreads((prev) =>
|
||||||
prev.map((thread) =>
|
prev.map((thread) =>
|
||||||
@ -602,7 +609,7 @@ export function ChatProvider({ children }: { children: React.ReactNode }) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}, [activeThreadId, refreshMessages, socketConnected]);
|
}, [activeThreadId, socketConnected]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!activeThreadId) {
|
if (!activeThreadId) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user