Skip to content

Commit b47584d

Browse files
authored
SPDV-760-fix (#187)
* fix: SPDV-766 * refactor * fix * refactor
1 parent f200569 commit b47584d

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/hooks/useSwarmComment.tsx

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,12 @@ export const useSwarmComment = ({ user, infra }: CommentSettings, sessionId: str
118118
const [error, setError] = useState<any | null>(null);
119119
const [isSwarmCommentReady, setIsSwarmCommentReady] = useState<boolean>(false);
120120

121-
// Update messages state when initialMessages changes (important for preloaded data)
122121
useEffect(() => {
123-
if (initialMessages.length > 0 && messages.length === 0 && preloadedData.isPreloaded) {
122+
if (preloadedData.isPreloaded && initialMessages.length > 0 && messages.length === 0) {
124123
setMessages(initialMessages);
124+
setCommentLoading(false);
125125
}
126-
}, [initialMessages, messages.length, preloadedData.isPreloaded]);
126+
}, [preloadedData.isPreloaded, initialMessages.length, messages.length]);
127127

128128
const reactionMessages = useMemo(() => messages.filter((msg) => msg.type === MessageType.REACTION && msg.targetMessageId), [messages]);
129129

@@ -228,7 +228,16 @@ export const useSwarmComment = ({ user, infra }: CommentSettings, sessionId: str
228228
}, [messages, updateLoadedTalks]);
229229

230230
useEffect(() => {
231-
if (commentRef.current) return;
231+
if (commentRef.current) {
232+
setMessages([]);
233+
setCommentLoading(!preloadedData.isPreloaded);
234+
setMessagesLoading(false);
235+
setError(null);
236+
setIsSwarmCommentReady(false);
237+
238+
commentRef.current.stop();
239+
commentRef.current = null;
240+
}
232241

233242
commentRef.current = new SwarmComment({ user, infra });
234243

0 commit comments

Comments
 (0)