From 914985336b95c52fc517d18fbfee1ef25ebfb0a0 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Thu, 23 Jan 2025 12:13:01 +0100 Subject: [PATCH 1/5] feat: expose raw request content under _rawContent --- packages/algoliasearch-helper/src/algoliasearch.helper.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/algoliasearch-helper/src/algoliasearch.helper.js b/packages/algoliasearch-helper/src/algoliasearch.helper.js index 2edce2bbf3..8efed599ac 100644 --- a/packages/algoliasearch-helper/src/algoliasearch.helper.js +++ b/packages/algoliasearch-helper/src/algoliasearch.helper.js @@ -1844,6 +1844,8 @@ AlgoliaSearchHelper.prototype._dispatchAlgoliaResponse = function ( if (this._currentNbQueries === 0) this.emit('searchQueueEmpty'); var results = content.results.slice(); + var rawContent = content; + delete rawContent.results; states.forEach(function (s) { var state = s.state; @@ -1865,6 +1867,8 @@ AlgoliaSearchHelper.prototype._dispatchAlgoliaResponse = function ( self._searchResultsOptions ); + helper.lastResults._rawContent = rawContent; + helper.emit('result', { results: helper.lastResults, state: state, From 4aa665b7ae8b4ed6b54e20d3a98267662374d588 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Thu, 23 Jan 2025 15:11:05 +0100 Subject: [PATCH 2/5] fix: bundlesize --- bundlesize.config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundlesize.config.json b/bundlesize.config.json index 4b1f10ea51..44e6577dc1 100644 --- a/bundlesize.config.json +++ b/bundlesize.config.json @@ -22,7 +22,7 @@ }, { "path": "packages/react-instantsearch/dist/umd/ReactInstantSearch.min.js", - "maxSize": "65.55 kB" + "maxSize": "65.75 kB" }, { "path": "packages/vue-instantsearch/vue2/umd/index.js", From e108dabce5c4adef3024c108b9d7e42189b5f86e Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Thu, 23 Jan 2025 15:34:34 +0100 Subject: [PATCH 3/5] fix: clone object + only add _rawContent when it contains data --- packages/algoliasearch-helper/src/algoliasearch.helper.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/algoliasearch-helper/src/algoliasearch.helper.js b/packages/algoliasearch-helper/src/algoliasearch.helper.js index 8efed599ac..a8e5654075 100644 --- a/packages/algoliasearch-helper/src/algoliasearch.helper.js +++ b/packages/algoliasearch-helper/src/algoliasearch.helper.js @@ -1844,7 +1844,7 @@ AlgoliaSearchHelper.prototype._dispatchAlgoliaResponse = function ( if (this._currentNbQueries === 0) this.emit('searchQueueEmpty'); var results = content.results.slice(); - var rawContent = content; + var rawContent = Object.create(content); delete rawContent.results; states.forEach(function (s) { @@ -1867,7 +1867,9 @@ AlgoliaSearchHelper.prototype._dispatchAlgoliaResponse = function ( self._searchResultsOptions ); - helper.lastResults._rawContent = rawContent; + if (Object.keys(rawContent).length > 0) { + helper.lastResults._rawContent = rawContent; + } helper.emit('result', { results: helper.lastResults, From 9a0712b3df3f795101c95f065585502d4d732aaf Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Thu, 23 Jan 2025 17:03:08 +0100 Subject: [PATCH 4/5] chore: handle rawContent at other places --- .../algoliasearch-helper/src/algoliasearch.helper.js | 9 +++++---- packages/instantsearch.js/src/widgets/index/index.ts | 6 ++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/algoliasearch-helper/src/algoliasearch.helper.js b/packages/algoliasearch-helper/src/algoliasearch.helper.js index a8e5654075..722b60d0ec 100644 --- a/packages/algoliasearch-helper/src/algoliasearch.helper.js +++ b/packages/algoliasearch-helper/src/algoliasearch.helper.js @@ -1846,6 +1846,9 @@ AlgoliaSearchHelper.prototype._dispatchAlgoliaResponse = function ( var results = content.results.slice(); var rawContent = Object.create(content); delete rawContent.results; + if (Object.keys(rawContent).length <= 0) { + rawContent = undefined; + } states.forEach(function (s) { var state = s.state; @@ -1866,14 +1869,12 @@ AlgoliaSearchHelper.prototype._dispatchAlgoliaResponse = function ( specificResults, self._searchResultsOptions ); - - if (Object.keys(rawContent).length > 0) { - helper.lastResults._rawContent = rawContent; - } + helper.lastResults._rawContent = rawContent; helper.emit('result', { results: helper.lastResults, state: state, + _rawContent: rawContent, }); }); }; diff --git a/packages/instantsearch.js/src/widgets/index/index.ts b/packages/instantsearch.js/src/widgets/index/index.ts index 1818b65a19..4640dcd8ae 100644 --- a/packages/instantsearch.js/src/widgets/index/index.ts +++ b/packages/instantsearch.js/src/widgets/index/index.ts @@ -652,6 +652,12 @@ const index = (widgetParams: IndexWidgetParams): IndexWidget => { new algoliasearchHelper.SearchParameters(indexInitialResults.state), indexInitialResults.results ); + if ( + '_rawContent' in indexInitialResults && + indexInitialResults._rawContent + ) { + results._rawResults = indexInitialResults?._rawContent as any; + } derivedHelper.lastResults = results; helper.lastResults = results; From 9bb93f4ebb0ccfca5d261d45cc49b07a89146d84 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Fri, 24 Jan 2025 12:33:15 +0100 Subject: [PATCH 5/5] chore: revert index widget changes --- packages/instantsearch.js/src/widgets/index/index.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages/instantsearch.js/src/widgets/index/index.ts b/packages/instantsearch.js/src/widgets/index/index.ts index 4640dcd8ae..1818b65a19 100644 --- a/packages/instantsearch.js/src/widgets/index/index.ts +++ b/packages/instantsearch.js/src/widgets/index/index.ts @@ -652,12 +652,6 @@ const index = (widgetParams: IndexWidgetParams): IndexWidget => { new algoliasearchHelper.SearchParameters(indexInitialResults.state), indexInitialResults.results ); - if ( - '_rawContent' in indexInitialResults && - indexInitialResults._rawContent - ) { - results._rawResults = indexInitialResults?._rawContent as any; - } derivedHelper.lastResults = results; helper.lastResults = results;