Skip to content

Commit 71f21d0

Browse files
committed
Merge branch 'main' into feature/RI-3807_Slowlog_change_ms_to_msec
# Conflicts: # redisinsight/ui/src/pages/settings/components/cloud-settings/CloudSettings.spec.tsx
2 parents 8d0c2a2 + 652b114 commit 71f21d0

File tree

133 files changed

+2927
-523
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+2927
-523
lines changed

.circleci/config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,6 +659,7 @@ jobs:
659659
export RI_CLOUD_IDP_GOOGLE_ID=$RI_CLOUD_IDP_GOOGLE_ID_STAGE
660660
export RI_CLOUD_IDP_GH_ID=$RI_CLOUD_IDP_GH_ID_STAGE
661661
export RI_CLOUD_API_URL=$RI_CLOUD_API_URL_STAGE
662+
export RI_CLOUD_CAPI_URL=$RI_CLOUD_CAPI_URL_STAGE
662663
663664
if [ << parameters.env >> == 'stage' ]; then
664665
UPGRADES_LINK=$UPGRADES_LINK_STAGE SEGMENT_WRITE_KEY=$SEGMENT_WRITE_KEY_STAGE yarn package:stage && yarn package:mas
@@ -724,6 +725,7 @@ jobs:
724725
export RI_CLOUD_IDP_GOOGLE_ID=$RI_CLOUD_IDP_GOOGLE_ID_STAGE
725726
export RI_CLOUD_IDP_GH_ID=$RI_CLOUD_IDP_GH_ID_STAGE
726727
export RI_CLOUD_API_URL=$RI_CLOUD_API_URL_STAGE
728+
export RI_CLOUD_CAPI_URL=$RI_CLOUD_CAPI_URL_STAGE
727729
728730
if [ << parameters.env >> == 'stage' ]; then
729731
UPGRADES_LINK=$UPGRADES_LINK_STAGE SEGMENT_WRITE_KEY=$SEGMENT_WRITE_KEY_STAGE yarn package:stage

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ Alternatively you can also build from source. See our wiki for instructions.
4949

5050
* [How to build](https://github.com/RedisInsight/RedisInsight/wiki/How-to-build-and-contribute)
5151

52+
## How to debug
53+
If you have any issues occurring in RedisInsight, you can follow the steps below to get more information about the errors and find their root cause.
54+
55+
* [How to debug](https://github.com/RedisInsight/RedisInsight/wiki/How-to-debug)
56+
5257
## Feedback
5358

5459
* Request a new [feature](https://github.com/RedisInsight/RedisInsight/issues/new?assignees=&labels=&template=feature_request.md&title=%5BFeature+Request%5D%3A)

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@
129129
"@types/ioredis": "^4.26.0",
130130
"@types/is-glob": "^4.0.2",
131131
"@types/jest": "^27.5.2",
132+
"@types/json-bigint": "^1.0.1",
132133
"@types/jsonpath": "^0.2.0",
133134
"@types/lodash": "^4.14.171",
134135
"@types/node": "14.14.10",
@@ -224,7 +225,6 @@
224225
"dependencies": {
225226
"@elastic/datemath": "^5.0.3",
226227
"@elastic/eui": "34.6.0",
227-
"@msgpack/msgpack": "^2.7.2",
228228
"@reduxjs/toolkit": "^1.6.2",
229229
"@stablelib/snappy": "^1.0.2",
230230
"axios": "^0.25.0",
@@ -246,18 +246,19 @@
246246
"html-entities": "^2.3.2",
247247
"html-react-parser": "^1.2.4",
248248
"java-object-serialization": "^0.1.1",
249-
"jpickle": "^0.4.1",
249+
"json-bigint": "^1.0.0",
250250
"jsonpath": "^1.1.1",
251251
"lodash": "^4.17.21",
252252
"lz4js": "^0.2.0",
253+
"msgpackr": "^1.9.7",
253254
"pako": "^2.1.0",
254255
"php-serialize": "^4.0.2",
256+
"pickleparser": "^0.1.0",
255257
"rawproto": "^0.7.6",
256258
"react": "^18.2.0",
257259
"react-contenteditable": "^3.3.5",
258260
"react-dom": "^18.2.0",
259261
"react-hotkeys-hook": "^3.3.1",
260-
"react-json-pretty": "^2.2.0",
261262
"react-jsx-parser": "^1.28.4",
262263
"react-monaco-editor": "^0.45.0",
263264
"react-redux": "^7.2.2",

redisinsight/api/config/default.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export default {
6161
tlsKey: process.env.SERVER_TLS_KEY,
6262
staticContent: !!process.env.SERVER_STATIC_CONTENT || false,
6363
buildType: process.env.BUILD_TYPE || 'ELECTRON',
64-
appVersion: process.env.APP_VERSION || '2.30.0',
64+
appVersion: process.env.APP_VERSION || '2.32.0',
6565
requestTimeout: parseInt(process.env.REQUEST_TIMEOUT, 10) || 25000,
6666
excludeRoutes: [],
6767
excludeAuthRoutes: [],
@@ -212,7 +212,7 @@ export default {
212212
url: process.env.RI_FEATURES_CONFIG_URL
213213
// eslint-disable-next-line max-len
214214
|| 'https://raw.githubusercontent.com/RedisInsight/RedisInsight/main/redisinsight/api/config/features-config.json',
215-
syncInterval: parseInt(process.env.RI_FEATURES_CONFIG_SYNC_INTERVAL, 10) || 1_000 * 60 * 60 * 4, // 4h
215+
syncInterval: parseInt(process.env.RI_FEATURES_CONFIG_SYNC_INTERVAL, 10) || 1_000 * 60 * 60 * 24, // 24h
216216
},
217217
cloud: {
218218
apiUrl: process.env.RI_CLOUD_API_URL || 'https://app-sm.k8s-cloudapi.sm-qa.qa.redislabs.com/api/v1',

redisinsight/api/config/features-config.json

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": 2,
2+
"version": 2.3204,
33
"features": {
44
"insightsRecommendations": {
55
"flag": true,
@@ -39,10 +39,32 @@
3939
"provider": "GCP",
4040
"regions": ["asia-northeast1"]
4141
}
42+
],
43+
"redisStackPreview": [
44+
{
45+
"provider": "AWS",
46+
"regions": ["us-east-2", "ap-southeast-1", "sa-east-1"]
47+
},
48+
{
49+
"provider": "GCP",
50+
"regions": ["asia-northeast1", "europe-west1", "us-central1"]
51+
}
4252
]
4353
}
4454
}
4555
}
56+
},
57+
"redisModuleFilter": {
58+
"flag": true,
59+
"perc": [[0, 100]],
60+
"data": {
61+
"hideByName": [
62+
{
63+
"expression": "^RedisGraph.",
64+
"options": "i"
65+
}
66+
]
67+
}
4668
}
4769
}
4870
}

redisinsight/api/config/swagger.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const SWAGGER_CONFIG: Omit<OpenAPIObject, 'paths'> = {
55
info: {
66
title: 'RedisInsight Backend API',
77
description: 'RedisInsight Backend API',
8-
version: '2.30.0',
8+
version: '2.32.0',
99
},
1010
tags: [],
1111
};

redisinsight/api/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "redisinsight-api",
3-
"version": "2.30.0",
3+
"version": "2.32.0",
44
"description": "RedisInsight API",
55
"private": true,
66
"author": {

redisinsight/api/src/__mocks__/cloud-capi-key.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import { CloudCapiAuthDto } from 'src/modules/cloud/common/dto';
22
import { CloudCapiKey, ICloudApiCapiAccessKey, ICloudApiCapiKey } from 'src/modules/cloud/capi-key/model';
3+
import { CloudCapiKeyEntity } from 'src/modules/cloud/capi-key/entity/cloud-capi-key.entity';
4+
import { EncryptionStrategy } from 'src/modules/encryption/models';
35
import { mockServer } from 'src/__mocks__/server';
46

57
export const mockCloudCapiAuthDto: CloudCapiAuthDto = {
@@ -31,6 +33,16 @@ export const mockCloudCapiKey = Object.assign(new CloudCapiKey(), {
3133
lastUsed: new Date(),
3234
});
3335

36+
export const mockCapiKeyEncrypted = 'cloudCapiKey.capiKey_ENCRYPTED';
37+
export const mockCapiSecretEncrypted = 'cloudCapiKey.capiSecret_ENCRYPTED';
38+
39+
export const mockCloudCapiKeyEntity = Object.assign(new CloudCapiKeyEntity(), {
40+
...mockCloudCapiKey,
41+
capiKey: mockCapiKeyEncrypted,
42+
capiSecret: mockCapiSecretEncrypted,
43+
encryption: EncryptionStrategy.KEYTAR,
44+
});
45+
3446
export const mockCloudCapiKeyApiProvider = jest.fn(() => ({
3547
enableCapi: jest.fn().mockResolvedValue(mockCloudApiCapiAccessKey.accessKey),
3648
createCapiKey: jest.fn().mockResolvedValue(mockCloudApiCapiKey),

redisinsight/api/src/__mocks__/cloud-common.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,9 @@ export const mockCapiUnauthorizedError = {
44
status: 401,
55
},
66
};
7+
8+
export const mockUtm = {
9+
source: 'redisinsight',
10+
medium: 'app',
11+
campaign: 'workbench',
12+
};
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { CloudJobStatus, CloudJobStep } from 'src/modules/cloud/job/models/cloud-job-info';
2+
import { CloudJobName } from 'src/modules/cloud/job/constants';
3+
import { CloudJobRunMode } from 'src/modules/cloud/job/models';
4+
import { CloudJob } from 'src/modules/cloud/job/jobs';
5+
import { mockSessionMetadata } from 'src/__mocks__/common';
6+
7+
export const mockCreateDatabaseCloudJobDataDto = {
8+
name: CloudJobName.CreateFreeDatabase,
9+
runMode: CloudJobRunMode.Async,
10+
data: { planId: 123 },
11+
};
12+
13+
export const mockCloudJobInfo = {
14+
id: 'job-id',
15+
name: CloudJobName.CreateFreeDatabase,
16+
status: CloudJobStatus.Running,
17+
step: CloudJobStep.Database,
18+
};
19+
20+
export abstract class MockCloudJob extends CloudJob {
21+
constructor() {
22+
super({
23+
abortController: new AbortController(),
24+
sessionMetadata: mockSessionMetadata,
25+
});
26+
}
27+
}
28+
29+
MockCloudJob['getWriteStream'] = jest.fn();
30+
MockCloudJob['addProfilerClient'] = jest.fn();
31+
MockCloudJob['removeProfilerClient'] = jest.fn();
32+
MockCloudJob['setAlias'] = jest.fn();
33+
MockCloudJob['destroy'] = jest.fn();
34+
MockCloudJob['getState'] = jest.fn().mockReturnValue(mockCloudJobInfo);
35+
36+
export const mockCloudJobProvider = jest.fn(() => ({
37+
addJob: jest.fn().mockResolvedValue(mockCloudJobInfo),
38+
get: jest.fn().mockResolvedValue(MockCloudJob),
39+
findUserJobs: jest.fn().mockResolvedValue([MockCloudJob]),
40+
}));

0 commit comments

Comments
 (0)