@@ -31,13 +31,14 @@ export const useTopicMessages = ({
3131 clusterName,
3232 topicName,
3333} : UseTopicMessagesProps ) => {
34- const [ searchParams ] = useSearchParams ( ) ;
34+ const [ searchParams , setSearchParams ] = useSearchParams ( ) ;
3535 const [ messages , setMessages ] = React . useState < TopicMessage [ ] > ( [ ] ) ;
3636 const [ phase , setPhase ] = React . useState < string > ( ) ;
3737 const [ consumptionStats , setConsumptionStats ] =
3838 React . useState < TopicMessageConsuming > ( ) ;
3939 const [ isFetching , setIsFetching ] = React . useState ( false ) ;
4040 const abortController = useRef ( new AbortController ( ) ) ;
41+ const prevReqUrl = useRef < string > ( '' ) ;
4142 const currentPage = useRef ( 1 ) ;
4243
4344 // get initial properties
@@ -104,6 +105,16 @@ export const useTopicMessages = ({
104105 const { nextCursor, setNextCursor } = useMessageFiltersStore . getState ( ) ;
105106 const { prevCursor, setPrevCursor } = useMessageFiltersStore . getState ( ) ;
106107
108+ const searchParamsWithoutPage = new URLSearchParams ( searchParams ) ;
109+ searchParamsWithoutPage . delete ( MessagesFilterKeys . page ) ;
110+ if ( prevReqUrl . current !== searchParamsWithoutPage . toString ( ) ) {
111+ searchParams . delete ( MessagesFilterKeys . page ) ;
112+ setSearchParams ( searchParams ) ;
113+ setPrevCursor ( undefined ) ;
114+ setNextCursor ( undefined ) ;
115+ }
116+ prevReqUrl . current = searchParamsWithoutPage . toString ( ) ;
117+
107118 const searchParamPage = getPageValue ( searchParams ) ;
108119 if ( currentPage . current < searchParamPage && nextCursor ) {
109120 requestParams . set ( MessagesFilterKeys . cursor , nextCursor ) ;
0 commit comments