diff --git a/CHANGELOG.md b/CHANGELOG.md index d306b7fc8..55e8fbf94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## [v4.25.3](https://github.com/algolia/algoliasearch-client-javascript/compare/4.25.2...4.25.3) + +* fix: always delete temporary index in replaceAllObjects (#1598) ([83ea90f](https://github.com/algolia/algoliasearch-client-javascript/commit/83ea90f)), closes [#1598](https://github.com/algolia/algoliasearch-client-javascript/issues/1598) + + + ## [v4.25.2](https://github.com/algolia/algoliasearch-client-javascript/compare/4.25.1...4.25.2) * chore: ie 11 support (#1591) ([3621e21](https://github.com/algolia/algoliasearch-client-javascript/commit/3621e21)), closes [#1591](https://github.com/algolia/algoliasearch-client-javascript/issues/1591) diff --git a/lerna.json b/lerna.json index c0c75cd9e..8ad8e9921 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { "npmClient": "yarn", "useWorkspaces": true, - "version": "4.25.2" + "version": "4.25.3" } diff --git a/package.json b/package.json index c9b157704..ac029a349 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "4.25.2", + "version": "4.25.3", "private": true, "license": "MIT", "workspaces": [ diff --git a/packages/algoliasearch/package.json b/packages/algoliasearch/package.json index ea88a2071..e87ed3a7a 100644 --- a/packages/algoliasearch/package.json +++ b/packages/algoliasearch/package.json @@ -1,6 +1,6 @@ { "name": "algoliasearch", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "A fully-featured and blazing-fast JavaScript API client to interact with Algolia API.", "repository": { @@ -28,20 +28,20 @@ "test:exports": "node --experimental-modules test/module/is-es-module.mjs && node test/module/is-cjs-module.cjs" }, "dependencies": { - "@algolia/cache-browser-local-storage": "4.25.2", - "@algolia/cache-common": "4.25.2", - "@algolia/cache-in-memory": "4.25.2", - "@algolia/client-account": "4.25.2", - "@algolia/client-analytics": "4.25.2", - "@algolia/client-common": "4.25.2", - "@algolia/client-personalization": "4.25.2", - "@algolia/client-search": "4.25.2", - "@algolia/logger-common": "4.25.2", - "@algolia/logger-console": "4.25.2", - "@algolia/recommend": "4.25.2", - "@algolia/requester-browser-xhr": "4.25.2", - "@algolia/requester-common": "4.25.2", - "@algolia/requester-node-http": "4.25.2", - "@algolia/transporter": "4.25.2" + "@algolia/cache-browser-local-storage": "4.25.3", + "@algolia/cache-common": "4.25.3", + "@algolia/cache-in-memory": "4.25.3", + "@algolia/client-account": "4.25.3", + "@algolia/client-analytics": "4.25.3", + "@algolia/client-common": "4.25.3", + "@algolia/client-personalization": "4.25.3", + "@algolia/client-search": "4.25.3", + "@algolia/logger-common": "4.25.3", + "@algolia/logger-console": "4.25.3", + "@algolia/recommend": "4.25.3", + "@algolia/requester-browser-xhr": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/requester-node-http": "4.25.3", + "@algolia/transporter": "4.25.3" } } diff --git a/packages/cache-browser-local-storage/package.json b/packages/cache-browser-local-storage/package.json index 075ff10e8..23756201c 100644 --- a/packages/cache-browser-local-storage/package.json +++ b/packages/cache-browser-local-storage/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/cache-browser-local-storage", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "Promise-based cache library for browser using local storage.", "repository": { @@ -17,6 +17,6 @@ "dist" ], "dependencies": { - "@algolia/cache-common": "4.25.2" + "@algolia/cache-common": "4.25.3" } } diff --git a/packages/cache-common/package.json b/packages/cache-common/package.json index eb394ebd7..bcf75c1e7 100644 --- a/packages/cache-common/package.json +++ b/packages/cache-common/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/cache-common", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "Common interfaces for promise-based caching libraries", "repository": { diff --git a/packages/cache-in-memory/package.json b/packages/cache-in-memory/package.json index 5b1c37e0f..0037521f2 100644 --- a/packages/cache-in-memory/package.json +++ b/packages/cache-in-memory/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/cache-in-memory", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "Promise-based cache library using memory.", "repository": { @@ -17,6 +17,6 @@ "dist" ], "dependencies": { - "@algolia/cache-common": "4.25.2" + "@algolia/cache-common": "4.25.3" } } diff --git a/packages/client-account/package.json b/packages/client-account/package.json index 0748ce6ba..7d8206f06 100644 --- a/packages/client-account/package.json +++ b/packages/client-account/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/client-account", - "version": "4.25.2", + "version": "4.25.3", "private": false, "repository": { "type": "git", @@ -16,8 +16,8 @@ "dist" ], "dependencies": { - "@algolia/client-common": "4.25.2", - "@algolia/client-search": "4.25.2", - "@algolia/transporter": "4.25.2" + "@algolia/client-common": "4.25.3", + "@algolia/client-search": "4.25.3", + "@algolia/transporter": "4.25.3" } } diff --git a/packages/client-analytics/package.json b/packages/client-analytics/package.json index 947487b0e..54912806c 100644 --- a/packages/client-analytics/package.json +++ b/packages/client-analytics/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/client-analytics", - "version": "4.25.2", + "version": "4.25.3", "private": false, "repository": { "type": "git", @@ -16,9 +16,9 @@ "dist" ], "dependencies": { - "@algolia/client-common": "4.25.2", - "@algolia/client-search": "4.25.2", - "@algolia/requester-common": "4.25.2", - "@algolia/transporter": "4.25.2" + "@algolia/client-common": "4.25.3", + "@algolia/client-search": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/transporter": "4.25.3" } } diff --git a/packages/client-common/package.json b/packages/client-common/package.json index 1163c3bce..fbaf04913 100644 --- a/packages/client-common/package.json +++ b/packages/client-common/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/client-common", - "version": "4.25.2", + "version": "4.25.3", "private": false, "repository": { "type": "git", @@ -16,7 +16,7 @@ "dist" ], "dependencies": { - "@algolia/requester-common": "4.25.2", - "@algolia/transporter": "4.25.2" + "@algolia/requester-common": "4.25.3", + "@algolia/transporter": "4.25.3" } } diff --git a/packages/client-common/src/version.ts b/packages/client-common/src/version.ts index a20aafa49..9e8d6d8ed 100644 --- a/packages/client-common/src/version.ts +++ b/packages/client-common/src/version.ts @@ -1 +1 @@ -export const version = '4.25.2'; +export const version = '4.25.3'; diff --git a/packages/client-personalization/package.json b/packages/client-personalization/package.json index 879902a6e..537b60df2 100644 --- a/packages/client-personalization/package.json +++ b/packages/client-personalization/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/client-personalization", - "version": "4.25.2", + "version": "4.25.3", "private": false, "repository": { "type": "git", @@ -16,8 +16,8 @@ "dist" ], "dependencies": { - "@algolia/client-common": "4.25.2", - "@algolia/requester-common": "4.25.2", - "@algolia/transporter": "4.25.2" + "@algolia/client-common": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/transporter": "4.25.3" } } diff --git a/packages/client-recommendation/package.json b/packages/client-recommendation/package.json index 247b9155e..808c6e52d 100644 --- a/packages/client-recommendation/package.json +++ b/packages/client-recommendation/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/client-recommendation", - "version": "4.25.2", + "version": "4.25.3", "private": false, "repository": { "type": "git", @@ -16,8 +16,8 @@ "dist" ], "dependencies": { - "@algolia/client-common": "4.25.2", - "@algolia/client-personalization": "4.25.2", - "@algolia/requester-common": "4.25.2" + "@algolia/client-common": "4.25.3", + "@algolia/client-personalization": "4.25.3", + "@algolia/requester-common": "4.25.3" } } diff --git a/packages/client-search/package.json b/packages/client-search/package.json index f4acc906c..693efc9c9 100644 --- a/packages/client-search/package.json +++ b/packages/client-search/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/client-search", - "version": "4.25.2", + "version": "4.25.3", "private": false, "repository": { "type": "git", @@ -16,8 +16,8 @@ "dist" ], "dependencies": { - "@algolia/client-common": "4.25.2", - "@algolia/requester-common": "4.25.2", - "@algolia/transporter": "4.25.2" + "@algolia/client-common": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/transporter": "4.25.3" } } diff --git a/packages/client-search/src/methods/index/replaceAllObjects.ts b/packages/client-search/src/methods/index/replaceAllObjects.ts index 945cc7db8..4433f2e32 100644 --- a/packages/client-search/src/methods/index/replaceAllObjects.ts +++ b/packages/client-search/src/methods/index/replaceAllObjects.ts @@ -5,6 +5,7 @@ import { RequestOptions } from '@algolia/transporter'; import { ChunkedBatchResponse, ChunkOptions, + deleteIndex, IndexOperationResponse, ReplaceAllObjectsOptions, saveObjects, @@ -100,6 +101,21 @@ export const replaceAllObjects = (base: SearchIndex) => { objectIDs: saveObjectsResponse.objectIDs, taskIDs: [copyResponse.taskID, ...saveObjectsResponse.taskIDs, moveResponse.taskID], }; + }) + .catch(error => { + // Clean up temporary index if there's an error + // eslint-disable-next-line promise/no-nesting + return deleteIndex({ + appId: base.appId, + transporter: base.transporter, + indexName: temporaryIndexName, + })() + .catch(() => { + // Ignore delete errors + }) + .then(() => { + throw error; + }); }); return createWaitablePromise(result, (_, waitRequestOptions) => { diff --git a/packages/logger-common/package.json b/packages/logger-common/package.json index 2f81596c4..0abf5f9dd 100644 --- a/packages/logger-common/package.json +++ b/packages/logger-common/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/logger-common", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "Common interfaces for promise-based log libraries", "repository": { diff --git a/packages/logger-console/package.json b/packages/logger-console/package.json index ddbd4ce1b..9965cdaeb 100644 --- a/packages/logger-console/package.json +++ b/packages/logger-console/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/logger-console", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "Promise-based log library using console log.", "repository": { @@ -17,6 +17,6 @@ "dist" ], "dependencies": { - "@algolia/logger-common": "4.25.2" + "@algolia/logger-common": "4.25.3" } } diff --git a/packages/recommend/package.json b/packages/recommend/package.json index b2678744c..b06064bde 100644 --- a/packages/recommend/package.json +++ b/packages/recommend/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/recommend", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "The perfect starting point to integrate Algolia Recommend within your JavaScript project.", "repository": { @@ -25,16 +25,16 @@ "test:exports": "node --experimental-modules test/module/is-es-module.mjs && node test/module/is-cjs-module.cjs" }, "dependencies": { - "@algolia/cache-browser-local-storage": "4.25.2", - "@algolia/cache-common": "4.25.2", - "@algolia/cache-in-memory": "4.25.2", - "@algolia/client-common": "4.25.2", - "@algolia/client-search": "4.25.2", - "@algolia/logger-common": "4.25.2", - "@algolia/logger-console": "4.25.2", - "@algolia/requester-browser-xhr": "4.25.2", - "@algolia/requester-common": "4.25.2", - "@algolia/requester-node-http": "4.25.2", - "@algolia/transporter": "4.25.2" + "@algolia/cache-browser-local-storage": "4.25.3", + "@algolia/cache-common": "4.25.3", + "@algolia/cache-in-memory": "4.25.3", + "@algolia/client-common": "4.25.3", + "@algolia/client-search": "4.25.3", + "@algolia/logger-common": "4.25.3", + "@algolia/logger-console": "4.25.3", + "@algolia/requester-browser-xhr": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/requester-node-http": "4.25.3", + "@algolia/transporter": "4.25.3" } } diff --git a/packages/requester-browser-xhr/package.json b/packages/requester-browser-xhr/package.json index 48a249ac5..e6546b7a2 100644 --- a/packages/requester-browser-xhr/package.json +++ b/packages/requester-browser-xhr/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/requester-browser-xhr", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "Promise-based request library for browser using xhr.", "repository": { @@ -17,6 +17,6 @@ "dist" ], "dependencies": { - "@algolia/requester-common": "4.25.2" + "@algolia/requester-common": "4.25.3" } } diff --git a/packages/requester-common/package.json b/packages/requester-common/package.json index 7f6dbe8e3..07ead0e23 100644 --- a/packages/requester-common/package.json +++ b/packages/requester-common/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/requester-common", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "Common interfaces for promise-based request libraries", "repository": { diff --git a/packages/requester-fetch/package.json b/packages/requester-fetch/package.json index 0c85698b4..414e973a6 100644 --- a/packages/requester-fetch/package.json +++ b/packages/requester-fetch/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/requester-fetch", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "Promise-based request library for Fetch.", "repository": { @@ -17,6 +17,6 @@ "dist" ], "dependencies": { - "@algolia/requester-common": "4.25.2" + "@algolia/requester-common": "4.25.3" } } diff --git a/packages/requester-node-http/package.json b/packages/requester-node-http/package.json index 06f151ae4..80dbc2a0a 100644 --- a/packages/requester-node-http/package.json +++ b/packages/requester-node-http/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/requester-node-http", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "Promise-based request library for node using the native http module.", "repository": { @@ -17,6 +17,6 @@ "dist" ], "dependencies": { - "@algolia/requester-common": "4.25.2" + "@algolia/requester-common": "4.25.3" } } diff --git a/packages/transporter/package.json b/packages/transporter/package.json index 0a85796f7..e5e615cfc 100644 --- a/packages/transporter/package.json +++ b/packages/transporter/package.json @@ -1,6 +1,6 @@ { "name": "@algolia/transporter", - "version": "4.25.2", + "version": "4.25.3", "private": false, "description": "Promise-based transporter layer with embedded retry strategy.", "repository": { @@ -17,8 +17,8 @@ "dist" ], "dependencies": { - "@algolia/cache-common": "4.25.2", - "@algolia/logger-common": "4.25.2", - "@algolia/requester-common": "4.25.2" + "@algolia/cache-common": "4.25.3", + "@algolia/logger-common": "4.25.3", + "@algolia/requester-common": "4.25.3" } }