11import { isThreadMessage , type IMessage , type IRoom , type IThreadMainMessage , type IThreadMessage } from '@rocket.chat/core-typings' ;
2- import { useEndpoint , useMethod , useStream } from '@rocket.chat/ui-contexts' ;
2+ import { useMethod , useStream } from '@rocket.chat/ui-contexts' ;
33import { useQuery , useQueryClient } from '@tanstack/react-query' ;
44import { useEffect , useRef } from 'react' ;
55
66import { onClientMessageReceived } from '../../../../../lib/onClientMessageReceived' ;
77import { roomsQueryKeys } from '../../../../../lib/queryKeys' ;
8- import { mapMessageFromApi } from '../../../../../lib/utils/mapMessageFromApi' ;
98import { modifyMessageOnFilesDelete } from '../../../../../lib/utils/modifyMessageOnFilesDelete' ;
109import {
1110 createDeleteCriteria ,
@@ -25,11 +24,7 @@ export const useThreadMessagesQuery = (tmid: IThreadMainMessage['_id'], rid?: IR
2524
2625 const queryClient = useQueryClient ( ) ;
2726 const queryKey = roomsQueryKeys . threadMessages ( roomId , tmid ) ;
28- const getThreadMessages = useEndpoint ( 'GET' , '/v1/chat.getThreadMessages' ) ;
29- // REST has no per-thread read-marker endpoint yet; fall back to the
30- // `readThreads` DDP method so the side effect that DDP getThreadMessages
31- // used to do server-side keeps happening for callers.
32- const readThreads = useMethod ( 'readThreads' ) ;
27+ const getThreadMessages = useMethod ( 'getThreadMessages' ) ;
3328
3429 const subscribeToRoomMessages = useStream ( 'room-messages' ) ;
3530 const subscribeToNotifyRoom = useStream ( 'notify-room' ) ;
@@ -110,11 +105,10 @@ export const useThreadMessagesQuery = (tmid: IThreadMainMessage['_id'], rid?: IR
110105 queryFn : async ( ) => {
111106 const cachedMessages = queryClient . getQueryData < IThreadMessage [ ] > ( queryKey ) || [ ] ;
112107
113- const { messages } = await getThreadMessages ( { tmid } ) ;
114- void Promise . resolve ( readThreads ( tmid ) ) . catch ( ( ) => undefined ) ;
115- const filtered = messages
116- . map ( ( m ) => mapMessageFromApi ( m ) )
117- . filter ( ( msg ) : msg is IThreadMessage => isThreadMessage ( msg ) && msg . tmid === tmid && msg . _id !== tmid && msg . _hidden !== true ) ;
108+ const messages = await getThreadMessages ( { tmid } ) ;
109+ const filtered = messages . filter (
110+ ( msg ) : msg is IThreadMessage => isThreadMessage ( msg ) && msg . tmid === tmid && msg . _id !== tmid && msg . _hidden !== true ,
111+ ) ;
118112
119113 const sorted = mergeThreadMessages ( cachedMessages , filtered ) ;
120114 if ( unprocessedReadMessagesEvent . current ) {
0 commit comments