@@ -31,13 +31,14 @@ export const useTopicMessages = ({
31
31
clusterName,
32
32
topicName,
33
33
} : UseTopicMessagesProps ) => {
34
- const [ searchParams ] = useSearchParams ( ) ;
34
+ const [ searchParams , setSearchParams ] = useSearchParams ( ) ;
35
35
const [ messages , setMessages ] = React . useState < TopicMessage [ ] > ( [ ] ) ;
36
36
const [ phase , setPhase ] = React . useState < string > ( ) ;
37
37
const [ consumptionStats , setConsumptionStats ] =
38
38
React . useState < TopicMessageConsuming > ( ) ;
39
39
const [ isFetching , setIsFetching ] = React . useState ( false ) ;
40
40
const abortController = useRef ( new AbortController ( ) ) ;
41
+ const prevReqUrl = useRef < string > ( '' ) ;
41
42
const currentPage = useRef ( 1 ) ;
42
43
43
44
// get initial properties
@@ -104,6 +105,16 @@ export const useTopicMessages = ({
104
105
const { nextCursor, setNextCursor } = useMessageFiltersStore . getState ( ) ;
105
106
const { prevCursor, setPrevCursor } = useMessageFiltersStore . getState ( ) ;
106
107
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
+
107
118
const searchParamPage = getPageValue ( searchParams ) ;
108
119
if ( currentPage . current < searchParamPage && nextCursor ) {
109
120
requestParams . set ( MessagesFilterKeys . cursor , nextCursor ) ;
0 commit comments