From 9c905b295af6d5219ab88fee37772e731b580cad Mon Sep 17 00:00:00 2001 From: salmonumbrella <182032677+salmonumbrella@users.noreply.github.com> Date: Sun, 15 Feb 2026 00:03:59 -0800 Subject: [PATCH] Apply random selection before sorting in result processing --- src/utils/postProcessResults.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/utils/postProcessResults.ts b/src/utils/postProcessResults.ts index 46818a58..dcaec883 100644 --- a/src/utils/postProcessResults.ts +++ b/src/utils/postProcessResults.ts @@ -39,7 +39,7 @@ const postProcessResults = ( "views" | "layout" | "resultNodeUid" > ) => { - const sortedResults = results + const filteredResults = results .filter((r) => { const deprecatedFilter = Object.keys(settings.filters).every( (filterKey) => { @@ -105,18 +105,20 @@ const postProcessResults = ( .includes(settings.searchFilter.toLowerCase()) ) : true; - }) - .sort((a, b) => { + }); + const randomizedResults = + settings.random > 0 + ? [...filteredResults] + .sort(() => 0.5 - Math.random()) + .slice(0, settings.random) + : filteredResults; + const allProcessedResults = [...randomizedResults].sort((a, b) => { for (const sort of settings.activeSort) { const cmpResult = sortFunction(sort.key, sort.descending)(a, b); if (cmpResult !== 0) return cmpResult; } return 0; }); - const allProcessedResults = - settings.random > 0 - ? sortedResults.sort(() => 0.5 - Math.random()).slice(0, settings.random) - : sortedResults; const paginatedResults = allProcessedResults.slice( (settings.page - 1) * settings.pageSize, settings.page * settings.pageSize