@@ -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