diff --git a/src/components/middle/search/MiddleSearch.tsx b/src/components/middle/search/MiddleSearch.tsx index c92765566..14d36aeed 100644 --- a/src/components/middle/search/MiddleSearch.tsx +++ b/src/components/middle/search/MiddleSearch.tsx @@ -595,6 +595,7 @@ const MiddleSearch: FC = ({ ref={containerRef} className={buildClassName(styles.results, 'custom-scroll')} items={viewportResults} + itemSelector={`.${RESULT_ITEM_CLASS_NAME}`} preloadBackwards={0} onLoadMore={getMore} onKeyDown={handleKeyDown} diff --git a/src/global/actions/api/middleSearch.ts b/src/global/actions/api/middleSearch.ts index 926ed5038..79a467ce2 100644 --- a/src/global/actions/api/middleSearch.ts +++ b/src/global/actions/api/middleSearch.ts @@ -66,10 +66,12 @@ addActionHandler('performMiddleSearch', async (global, actions, payload): Promis const { results, savedTag, type, isHashtag, } = currentSearch; - const offsetId = results?.nextOffsetId; - const offsetRate = results?.nextOffsetRate; - const offsetPeerId = results?.nextOffsetPeerId; - const offsetPeer = offsetPeerId ? selectChat(global, offsetPeerId) : undefined; + const shouldReuseParams = results?.query === query; + + const offsetId = shouldReuseParams ? results?.nextOffsetId : undefined; + const offsetRate = shouldReuseParams ? results?.nextOffsetRate : undefined; + const offsetPeerId = shouldReuseParams ? results?.nextOffsetPeerId : undefined; + const offsetPeer = shouldReuseParams && offsetPeerId ? selectChat(global, offsetPeerId) : undefined; const shouldHaveQuery = isHashtag || !savedTag; if (shouldHaveQuery && !query) {