diff --git a/.circleci/build/release-docker.sh b/.circleci/build/release-docker.sh index 05f9f8d6e4..ba587ffd64 100755 --- a/.circleci/build/release-docker.sh +++ b/.circleci/build/release-docker.sh @@ -2,7 +2,7 @@ set -e HELP="Args: --v - Semver (2.42.0) +-v - Semver (2.44.0) -d - Build image repository (Ex: -d redisinsight) -r - Target repository (Ex: -r redis/redisinsight) " diff --git a/redisinsight/api/config/default.ts b/redisinsight/api/config/default.ts index 38f0b5c191..750316c070 100644 --- a/redisinsight/api/config/default.ts +++ b/redisinsight/api/config/default.ts @@ -57,7 +57,7 @@ export default { tlsKey: process.env.RI_SERVER_TLS_KEY, staticContent: !!process.env.RI_SERVE_STATICS || true, buildType: process.env.RI_BUILD_TYPE || 'DOCKER_ON_PREMISE', - appVersion: process.env.RI_APP_VERSION || '2.42.0', + appVersion: process.env.RI_APP_VERSION || '2.44.0', requestTimeout: parseInt(process.env.RI_REQUEST_TIMEOUT, 10) || 25000, excludeRoutes: [], excludeAuthRoutes: [], diff --git a/redisinsight/api/config/swagger.ts b/redisinsight/api/config/swagger.ts index 5a6450c33c..5ff9b15605 100644 --- a/redisinsight/api/config/swagger.ts +++ b/redisinsight/api/config/swagger.ts @@ -5,7 +5,7 @@ const SWAGGER_CONFIG: Omit = { info: { title: 'RedisInsight Backend API', description: 'RedisInsight Backend API', - version: '2.42.0', + version: '2.44.0', }, tags: [], }; diff --git a/redisinsight/api/package.json b/redisinsight/api/package.json index 4c6434adfe..68c1185764 100644 --- a/redisinsight/api/package.json +++ b/redisinsight/api/package.json @@ -1,6 +1,6 @@ { "name": "redisinsight-api", - "version": "2.42.0", + "version": "2.44.0", "description": "RedisInsight API", "private": true, "author": { diff --git a/redisinsight/api/src/modules/browser/redisearch/redisearch.service.spec.ts b/redisinsight/api/src/modules/browser/redisearch/redisearch.service.spec.ts index 480f30a4bf..0a0910e660 100644 --- a/redisinsight/api/src/modules/browser/redisearch/redisearch.service.spec.ts +++ b/redisinsight/api/src/modules/browser/redisearch/redisearch.service.spec.ts @@ -81,8 +81,8 @@ describe('RedisearchService', () => { describe('list', () => { it('should get list of indexes for standalone', async () => { standaloneClient.sendCommand.mockResolvedValue([ - keyName1.toString(), - keyName2.toString(), + keyName1, + keyName2, ]); const list = await service.list(mockBrowserClientMetadata); @@ -97,8 +97,8 @@ describe('RedisearchService', () => { it('should get list of indexes for cluster (handle unique index name)', async () => { databaseClientFactory.getOrCreateClient = jest.fn().mockResolvedValue(clusterClient); mockStandaloneRedisClient.sendCommand.mockResolvedValue([ - keyName1.toString(), - keyName2.toString(), + keyName1, + keyName2, ]); const list = await service.list(mockBrowserClientMetadata); diff --git a/redisinsight/api/src/modules/browser/redisearch/redisearch.service.ts b/redisinsight/api/src/modules/browser/redisearch/redisearch.service.ts index 9769ec2e65..325b41b555 100644 --- a/redisinsight/api/src/modules/browser/redisearch/redisearch.service.ts +++ b/redisinsight/api/src/modules/browser/redisearch/redisearch.service.ts @@ -49,14 +49,18 @@ export class RedisearchService { try { const client: RedisClient = await this.databaseClientFactory.getOrCreateClient(clientMetadata); - const nodes = this.getShards(client) as RedisClient[]; + const nodes = await this.getShards(client) as RedisClient[]; const res = await Promise.all(nodes.map(async (node) => node.sendCommand( ['FT._LIST'], ))); return plainToClass(ListRedisearchIndexesResponse, { - indexes: (uniq([].concat(...res))).map((idx) => Buffer.from(idx)), + indexes: ( + uniq( + ([].concat(...res)).map((idx) => idx.toString('hex')), + ) + ).map((idx) => Buffer.from(idx, 'hex')), }); } catch (e) { this.logger.error('Failed to get redisearch indexes', e); @@ -100,7 +104,7 @@ export class RedisearchService { } } - const nodes = this.getShards(client) as RedisClient[]; + const nodes = await this.getShards(client) as RedisClient[]; const commandArgs: any[] = [ index, 'ON', type, @@ -121,7 +125,7 @@ export class RedisearchService { ...commandArgs, ], { replyEncoding: 'utf8' }); } catch (e) { - if (!e.message.includes('MOVED')) { + if (!e.message.includes('MOVED') && !e.message.includes('already exists')) { throw e; } } @@ -228,7 +232,7 @@ export class RedisearchService { * @param client * @private */ - private getShards(client: RedisClient): Promise | RedisClient[] { + private async getShards(client: RedisClient): Promise { if (client.getConnectionType() === RedisClientConnectionType.CLUSTER) { return client.nodes(RedisClientNodeRole.PRIMARY); } diff --git a/redisinsight/desktop/src/lib/aboutPanel/aboutPanel.ts b/redisinsight/desktop/src/lib/aboutPanel/aboutPanel.ts index eeed155a96..9dfc38d8bd 100644 --- a/redisinsight/desktop/src/lib/aboutPanel/aboutPanel.ts +++ b/redisinsight/desktop/src/lib/aboutPanel/aboutPanel.ts @@ -8,7 +8,7 @@ const ICON_PATH = app.isPackaged export const AboutPanelOptions = { applicationName: 'RedisInsight', - applicationVersion: `${app.getVersion() || '2.42.0'}${ + applicationVersion: `${app.getVersion() || '2.44.0'}${ !config.isProduction ? `-dev-${process.getCreationTime()}` : '' }`, copyright: `Copyright © ${new Date().getFullYear()} Redis Ltd.`, diff --git a/redisinsight/package.json b/redisinsight/package.json index 2955fe8ff9..6303804857 100644 --- a/redisinsight/package.json +++ b/redisinsight/package.json @@ -2,7 +2,7 @@ "name": "redisinsight", "productName": "RedisInsight", "private": true, - "version": "2.42.0", + "version": "2.44.0", "description": "RedisInsight", "main": "./dist/main/main.js", "author": {