diff --git a/.circleci/build/build.Dockerfile b/.circleci/build/build.Dockerfile index db181e4297..921131ae8c 100644 --- a/.circleci/build/build.Dockerfile +++ b/.circleci/build/build.Dockerfile @@ -1,7 +1,7 @@ FROM node:18.18-alpine # runtime args and environment variables -ARG DIST=RedisInsight.tar.gz +ARG DIST=Redis-Insight.tar.gz ARG NODE_ENV=production ARG RI_SEGMENT_WRITE_KEY ENV RI_SEGMENT_WRITE_KEY=${RI_SEGMENT_WRITE_KEY} diff --git a/.circleci/build/build_modules.sh b/.circleci/build/build_modules.sh index 6d80f410fd..b33342342b 100755 --- a/.circleci/build/build_modules.sh +++ b/.circleci/build/build_modules.sh @@ -4,8 +4,8 @@ set -e PLATFORM=${PLATFORM:-'linux'} ARCH=${ARCH:-'x64'} LIBC=${LIBC:-''} -#FILENAME="RedisInsight-$PLATFORM.$VERSION.$ARCH.zip" -FILENAME="RedisInsight-web-$PLATFORM" +#FILENAME="Redis-Insight-$PLATFORM.$VERSION.$ARCH.zip" +FILENAME="Redis-Insight-web-$PLATFORM" if [ ! -z $LIBC ] then FILENAME="$FILENAME-$LIBC.$ARCH.tar.gz" diff --git a/.circleci/config.yml b/.circleci/config.yml index e089bc4c9f..71966ad400 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -24,7 +24,7 @@ aliases: run: name: Sign application command: | - $filePath = $(Get-ChildItem release -Filter RedisInsight*.exe | % { $_.FullName }) + $filePath = $(Get-ChildItem release -Filter Redis-Insight*.exe | % { $_.FullName }) $filePathWithQuotes = '"{0}"' -f $filePath & "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\signtool.exe" sign /a /sm /n "Redis Labs Inc." /fd sha256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /v $FilePathWithQuotes shell: powershell.exe @@ -645,11 +645,11 @@ jobs: - persist_to_workspace: root: . paths: - - release/RedisInsight*.deb - - release/RedisInsight*.rpm - - release/RedisInsight*.AppImage - - release/RedisInsight*.flatpak - - release/RedisInsight*.snap + - release/Redis-Insight*.deb + - release/Redis-Insight*.rpm + - release/Redis-Insight*.AppImage + - release/Redis-Insight*.flatpak + - release/Redis-Insight*.snap - release/*-linux.yml macosx: macos: @@ -697,7 +697,7 @@ jobs: yarn package:prod yarn package:mas rm -rf release/mac - mv release/mas-universal/RedisInsight-mac-universal-mas.pkg release/RedisInsight-mac-universal-mas.pkg + mv release/mas-universal/Redis-Insight-mac-universal-mas.pkg release/Redis-Insight-mac-universal-mas.pkg exit 0; fi @@ -727,7 +727,7 @@ jobs: yarn package:stage && yarn package:mas rm -rf release/mac - mv release/mas-universal/RedisInsight-mac-universal-mas.pkg release/RedisInsight-mac-universal-mas.pkg + mv release/mas-universal/Redis-Insight-mac-universal-mas.pkg release/Redis-Insight-mac-universal-mas.pkg no_output_timeout: 60m - when: condition: @@ -741,10 +741,10 @@ jobs: - persist_to_workspace: root: . paths: - - release/RedisInsight*.zip - - release/RedisInsight*.dmg - - release/RedisInsight*.dmg.blockmap - - release/RedisInsight*.pkg + - release/Redis-Insight*.zip + - release/Redis-Insight*.dmg + - release/Redis-Insight*.dmg.blockmap + - release/Redis-Insight*.pkg - release/*-mac.yml - release/redisstack windows: @@ -806,8 +806,8 @@ jobs: - persist_to_workspace: root: . paths: - - release/RedisInsight*.exe - - release/RedisInsight*.exe.blockmap + - release/Redis-Insight*.exe + - release/Redis-Insight*.exe.blockmap - release/*.yml virustotal-file: executor: linux-executor @@ -822,7 +822,7 @@ jobs: - run: name: export FILE_NAME environment variable command: | - echo 'export FILE_NAME="RedisInsight*<< parameters.ext >>"' >> $BASH_ENV + echo 'export FILE_NAME="Redis-Insight*<< parameters.ext >>"' >> $BASH_ENV - <<: *fileScan - <<: *validate virustotal-url: @@ -905,7 +905,7 @@ jobs: docker buildx build \ -f .circleci/build/build.Dockerfile \ --platform linux/amd64 \ - --build-arg DIST=release/web/RedisInsight-web-linux-musl.x64.tar.gz \ + --build-arg DIST=release/web/Redis-Insight-web-linux-musl.x64.tar.gz \ --build-arg NODE_ENV=<< parameters.env >> \ --build-arg RI_SEGMENT_WRITE_KEY="$TELEMETRY" \ -t redisinsight:amd64 \ @@ -915,7 +915,7 @@ jobs: docker buildx build \ -f .circleci/build/build.Dockerfile \ --platform linux/arm64 \ - --build-arg DIST=release/web/RedisInsight-web-linux-musl.arm64.tar.gz \ + --build-arg DIST=release/web/Redis-Insight-web-linux-musl.arm64.tar.gz \ --build-arg NODE_ENV=<< parameters.env >> \ --build-arg RI_SEGMENT_WRITE_KEY="$TELEMETRY" \ -t redisinsight:arm64 \ @@ -1039,7 +1039,7 @@ jobs: echo "export releasesFolderPath=${releasesFolderPath}" >> $BASH_ENV echo "export applicationName=${appName}" >> $BASH_ENV echo "export applicationVersion=${appVersion}" >> $BASH_ENV - echo "export appFileName=RedisInsight" >> $BASH_ENV + echo "export appFileName=Redis-Insight" >> $BASH_ENV # download latest.yml file to get last public version aws s3 cp s3://${AWS_BUCKET_NAME}/${downloadLatestFolderPath}/${latestYmlFileName} . @@ -1750,28 +1750,28 @@ workflows: - virustotal-url: name: Virus check - AppImage (nightly) - fileName: RedisInsight-linux-x86_64.AppImage + fileName: Redis-Insight-linux-x86_64.AppImage - virustotal-url: name: Virus check - deb (nightly) - fileName: RedisInsight-linux-amd64.deb + fileName: Redis-Insight-linux-amd64.deb - virustotal-url: name: Virus check - rpm (nightly) - fileName: RedisInsight-linux-x86_64.rpm + fileName: Redis-Insight-linux-x86_64.rpm - virustotal-url: name: Virus check - snap (nightly) - fileName: RedisInsight-linux-amd64.snap + fileName: Redis-Insight-linux-amd64.snap - virustotal-url: name: Virus check x64 - dmg (nightly) - fileName: RedisInsight-mac-x64.dmg + fileName: Redis-Insight-mac-x64.dmg - virustotal-url: name: Virus check arm64 - dmg (nightly) - fileName: RedisInsight-mac-arm64.dmg + fileName: Redis-Insight-mac-arm64.dmg - virustotal-url: name: Virus check MAS - pkg (nightly) - fileName: RedisInsight-mac-universal-mas.pkg + fileName: Redis-Insight-mac-universal-mas.pkg - virustotal-url: name: Virus check - exe (nightly) - fileName: RedisInsight-win-installer.exe + fileName: Redis-Insight-win-installer.exe - virustotal-report: name: Virus check report (prod) requires: diff --git a/.circleci/redisstack/app-image.repack.sh b/.circleci/redisstack/app-image.repack.sh index 50dba88d64..a9e183cc06 100755 --- a/.circleci/redisstack/app-image.repack.sh +++ b/.circleci/redisstack/app-image.repack.sh @@ -3,10 +3,10 @@ set -e ARCH=${ARCH:-x86_64} WORKING_DIRECTORY=$(pwd) -SOURCE_APP=${SOURCE_APP:-"RedisInsight-linux-$ARCH.AppImage"} -RI_APP_FOLDER_NAME="RedisInsight-linux" -TAR_NAME="RedisInsight-app-linux.$ARCH.tar.gz" -TMP_FOLDER="/tmp/RedisInsight-app-$ARCH" +SOURCE_APP=${SOURCE_APP:-"Redis-Insight-linux-$ARCH.AppImage"} +RI_APP_FOLDER_NAME="Redis-Insight-linux" +TAR_NAME="Redis-Insight-app-linux.$ARCH.tar.gz" +TMP_FOLDER="/tmp/Redis-Insight-app-$ARCH" rm -rf "$TMP_FOLDER" diff --git a/.circleci/redisstack/dmg.repack.sh b/.circleci/redisstack/dmg.repack.sh index a16ff955e3..f26b9fff33 100755 --- a/.circleci/redisstack/dmg.repack.sh +++ b/.circleci/redisstack/dmg.repack.sh @@ -3,8 +3,8 @@ set -e ARCH=${ARCH:-x64} WORKING_DIRECTORY=$(pwd) -TAR_NAME="RedisInsight-app-darwin.$ARCH.tar.gz" -RI_APP_FOLDER_NAME="RedisInsight.app" +TAR_NAME="Redis-Insight-app-darwin.$ARCH.tar.gz" +RI_APP_FOLDER_NAME="Redis Insight.app" TMP_FOLDER="/tmp/$RI_APP_FOLDER_NAME" rm -rf "$TMP_FOLDER" @@ -12,8 +12,8 @@ rm -rf "$TMP_FOLDER" mkdir -p "$WORKING_DIRECTORY/release/redisstack" mkdir -p "$TMP_FOLDER" -hdiutil attach "./release/RedisInsight-mac-$ARCH.dmg" -cp -a /Volumes/RedisInsight*/RedisInsight.app "/tmp" +hdiutil attach "./release/Redis-Insight-mac-$ARCH.dmg" +cp -a "/Volumes/RedisInsight*/Redis Insight.app" "/tmp" cd "/tmp" || exit 1 tar -czvf "$TAR_NAME" "$RI_APP_FOLDER_NAME" cp "$TAR_NAME" "$WORKING_DIRECTORY/release/redisstack/" diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 67c0ce5056..cdcd221d48 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -22,4 +22,4 @@ assignees: '' **Screenshots** (Paste or drag-and-drop a screenshot or a link to a recording) -**Additional context** (Operating system, version of RedisInsight, Redis database version, Redis module version, database type, connection type, logs, or any other information) +**Additional context** (Operating system, version of Redis Insight, Redis database version, Redis module version, database type, connection type, logs, or any other information) diff --git a/.gitignore b/.gitignore index 3d2e62518d..c38e516632 100644 --- a/.gitignore +++ b/.gitignore @@ -67,6 +67,7 @@ licenses /tests/e2e/remote /tests/e2e/.redisinsight-v2 /tests/e2e/.redisinsight-app +/tests/e2e/.redisinsight-insight # Parcel .parcel-cache diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 006309cd29..bd485675cf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,7 +18,7 @@ Before you submit an issue, please search the issue tracker, maybe an issue for Use the following procedure to submit a pull request: - a. Fork RedisInsight on github ( https://docs.github.com/en/github/getting-started-with-github/fork-a-repo ) + a. Fork Redis Insight on github ( https://docs.github.com/en/github/getting-started-with-github/fork-a-repo ) b. Create a topic branch (git checkout -b my_branch) c. Push to your branch (git push origin my_branch) d. Initiate a pull request on github ( https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request ) diff --git a/README.md b/README.md index d8d3c238bf..12335f7a3e 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,23 @@ [![CircleCI](https://circleci.com/gh/RedisInsight/RedisInsight/tree/main.svg?style=svg)](https://circleci.com/gh/RedisInsight/RedisInsight/tree/main) [![Total alerts](https://img.shields.io/lgtm/alerts/g/RedisInsight/RedisInsight.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/RedisInsight/RedisInsight/alerts/) -# logo RedisInsight - Developer GUI for Redis, by Redis. +# logo Redis Insight - Developer GUI for Redis, by Redis. [![Forum](https://img.shields.io/badge/Forum-RedisInsight-red)](https://forum.redis.com/c/redisinsight/65) [![Discord](https://img.shields.io/discord/697882427875393627?style=flat-square)](https://discord.gg/QUkjSsk) -RedisInsight is a visual tool that provides capabilities to design, develop, and optimize your Redis application. +Redis Insight is a visual tool that provides capabilities to design, develop, and optimize your Redis application. Query, analyse and interact with your Redis data. [Download it here](https://redis.com/redis-enterprise/redis-insight/#insight-form)! -![RedisInsight Browser screenshot](/.github/redisinsight_browser.png) +![Redis Insight Browser screenshot](/.github/redisinsight_browser.png) Built with love using [Electron](https://www.electronjs.org/), [Monaco Editor](https://microsoft.github.io/monaco-editor/) and NodeJS. ## Overview -RedisInsight is an intuitive and efficient GUI for Redis, allowing you to interact with your databases and manage your data—with built-in support for Redis modules. +Redis Insight is an intuitive and efficient GUI for Redis, allowing you to interact with your databases and manage your data—with built-in support for Redis modules. -### RedisInsight Highlights: +### Redis Insight Highlights: * Browse, filter, visualise your key-value Redis data structures and see key values in different formats (including JSON, Hex, ASCII, etc.) * CRUD support for Lists, Hashes, Strings, Sets, Sorted Sets, and Streams @@ -36,9 +36,9 @@ RedisInsight is an intuitive and efficient GUI for Redis, allowing you to intera Check out the [release notes](https://docs.redis.com/latest/ri/release-notes/). -## Get started with RedisInsight +## Get started with Redis Insight -This repository includes the code for RedisInsight. Check out the [blogpost](https://redis.com/blog/introducing-redisinsight-2/) announcing it. +This repository includes the code for Redis Insight. Check out the [blogpost](https://redis.com/blog/introducing-redisinsight-2/) announcing it. ### Installable Available to download for free from [here](https://redis.com/redis-enterprise/redis-insight/#insight-form). @@ -50,7 +50,7 @@ Alternatively you can also build from source. See our wiki for instructions. * [How to build](https://github.com/RedisInsight/RedisInsight/wiki/How-to-build-and-contribute) ## How to debug -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. +If you have any issues occurring in Redis Insight, you can follow the steps below to get more information about the errors and find their root cause. * [How to debug](https://github.com/RedisInsight/RedisInsight/wiki/How-to-debug) @@ -61,9 +61,9 @@ If you have any issues occurring in RedisInsight, you can follow the steps below * File a [bug](https://github.com/RedisInsight/RedisInsight/issues/new?assignees=&labels=&template=bug_report.md&title=%5BBug%5D%3A) -## RedisInsight Plugins +## Redis Insight Plugins -With RedisInsight you can now also extend the core functionality by building your own data visualizations. See our wiki for more information. +With Redis Insight you can now also extend the core functionality by building your own data visualizations. See our wiki for more information. * [Plugin Documentation](https://github.com/RedisInsight/RedisInsight/wiki/Plugin-Documentation) @@ -75,9 +75,9 @@ If you would like to contribute to the code base or fix and issue, please consul ## Telemetry -RedisInsight includes an opt-in telemetry system, that is leveraged to help improve the developer experience (DX) within the app. We value your privacy, so stay assured, that all the data collected is anonymised. +Redis Insight includes an opt-in telemetry system, that is leveraged to help improve the developer experience (DX) within the app. We value your privacy, so stay assured, that all the data collected is anonymised. ## License -RedisInsight is licensed under [SSPL](/LICENSE) license. +Redis Insight is licensed under [SSPL](/LICENSE) license. diff --git a/docs/plugins/development.md b/docs/plugins/development.md index 234541073b..233b032c02 100644 --- a/docs/plugins/development.md +++ b/docs/plugins/development.md @@ -1,6 +1,6 @@ # Plugin development -This document describes the guides to develop your own plugin for the RedisInsight Workbench. +This document describes the guides to develop your own plugin for the Redis Insight Workbench. ## How it works @@ -118,7 +118,7 @@ const renderVisualization = (props: Props) => { export default { renderVisualization } ``` -Each plugin iframe has basic styles of RedisInsight application, including fonts and color schemes. +Each plugin iframe has basic styles of Redis Insight application, including fonts and color schemes. It is recommended to use the React & [Elastic UI library](https://elastic.github.io/eui/#/) for consistency with plugin visualisations and the entire application. @@ -139,7 +139,7 @@ const { baseUrl, appVersion } = config // modules - the list of modules of the current database // baseUrl - url for your plugin folder - can be used to include your assets -// appVersion - version of the RedisInsight application +// appVersion - version of the Redis Insight application ``` ### Plugin rendering diff --git a/docs/plugins/installation.md b/docs/plugins/installation.md index ffaa3cec0a..ee881ed4f7 100644 --- a/docs/plugins/installation.md +++ b/docs/plugins/installation.md @@ -1,6 +1,6 @@ # Plugin installation & Usage -This document describes the guides to add `plugins` for the Workbench to RedisInsight. +This document describes the guides to add `plugins` for the Workbench to Redis Insight. ## Installation guide @@ -9,9 +9,9 @@ authors to avoid automatic execution of malicious code. 1. Download the plugin for the Workbench. 2. Open the `plugins` folder with the following path - * For MacOs: `/.redisinsight-app/plugins` - * For Windows: `C:/Users/{Username}/.redisinsight-app/plugins` - * For Linux: `/.redisinsight-app/plugins` + * For MacOs: `/.redis-insight/plugins` + * For Windows: `C:/Users/{Username}/.redis-insight/plugins` + * For Linux: `/.redis-insight/plugins` 3. Add the folder with plugin to the `plugins` folder To see the uploaded plugin visualizations in the command results, reload the Workbench @@ -23,7 +23,7 @@ page and run Redis command relevant for this visualization. The plugin may contain different visualizations for any Redis commands. Below you can find a guide to see command results in the uploaded plugin visualization: -1. Open RedisInsight +1. Open Redis Insight 2. Open a database added 3. Open the Workbench 4. Run the Redis command relevant for the plugin visualization diff --git a/docs/plugins/introduction.md b/docs/plugins/introduction.md index c2ff1f94a5..5abe8f6b26 100644 --- a/docs/plugins/introduction.md +++ b/docs/plugins/introduction.md @@ -4,7 +4,7 @@ Redis can hold a range of different data types. Visualizing these in a format that’s convenient to you for validation and debugging is paramount. -You can now easily extend the core functionality of RedisInsight independently by +You can now easily extend the core functionality of Redis Insight independently by building your own custom visualization plugin. Data visualization provided by the plugin is rendered within the diff --git a/electron-builder-mas.js b/electron-builder-mas.js index f594d4df92..2907e851c1 100644 --- a/electron-builder-mas.js +++ b/electron-builder-mas.js @@ -1,9 +1,8 @@ -const electronBuilder = require('./electron-builder.json'); +const electronBuilder = require('./electron-builder.json') const config = { ...electronBuilder, appId: 'com.redis.RedisInsight', - productName: 'RedisInsight', -}; +} -module.exports = config; +module.exports = config diff --git a/electron-builder.json b/electron-builder.json index a3a5acb754..d1d8fc66ef 100644 --- a/electron-builder.json +++ b/electron-builder.json @@ -1,5 +1,5 @@ { - "productName": "RedisInsight", + "productName": "Redis Insight", "appId": "org.RedisLabs.RedisInsight-V2", "copyright": "Copyright © 2024 Redis Ltd.", "files": [ @@ -8,7 +8,7 @@ "package.json" ], "afterSign": "electron-builder-notarize", - "artifactName": "${productName}-${os}-${arch}.${ext}", + "artifactName": "Redis-Insight-${os}-${arch}.${ext}", "compression": "normal", "asarUnpack": [ "node_modules/keytar", @@ -35,8 +35,8 @@ "type": "distribution", "hardenedRuntime": true, "darkModeSupport": true, - "icon": "resources/icon.icns", - "artifactName": "${productName}-${os}-${arch}.${ext}", + "icon": "resources/icons/1024x1024.png", + "artifactName": "Redis-Insight-${os}-${arch}.${ext}", "entitlements": "resources/entitlements.mac.plist", "entitlementsInherit": "resources/entitlements.mac.plist", "gatekeeperAssess": false @@ -59,7 +59,7 @@ "Contents/Resources/app-arm64.asar.unpacked/node_modules/cpu-features/build/Release/cpufeatures.node", "Contents/Resources/app-x64.asar.unpacked/node_modules/cpu-features/build/Release/cpufeatures.node" ], - "artifactName": "${productName}-${os}-${arch}-mas.${ext}" + "artifactName": "Redis-Insight-${os}-${arch}-mas.${ext}" }, "masDev": { "mergeASARs": false, @@ -79,7 +79,7 @@ "Contents/Resources/app-arm64.asar.unpacked/node_modules/cpu-features/build/Release/cpufeatures.node", "Contents/Resources/app-x64.asar.unpacked/node_modules/cpu-features/build/Release/cpufeatures.node" ], - "artifactName": "${productName}-${os}-${arch}-masDev.${ext}" + "artifactName": "Redis-Insight-${os}-${arch}-masDev.${ext}" }, "dmg": { "contents": [ @@ -97,7 +97,7 @@ }, "win": { "target": ["nsis"], - "artifactName": "${productName}-${os}-installer.${ext}", + "artifactName": "Redis-Insight-${os}-installer.${ext}", "icon": "resources/icon.ico", "publisherName": [ "Redis Inc.", @@ -131,9 +131,9 @@ ], "synopsis": "Redis GUI by Redis Ltd.", "category": "Development", - "artifactName": "${productName}-${os}-${arch}.${ext}", + "artifactName": "Redis-Insight-${os}-${arch}.${ext}", "desktop": { - "Name": "RedisInsight", + "Name": "Redis Insight", "Type": "Application", "Comment": "Redis GUI by Redis Ltd" } diff --git a/package.json b/package.json index 9d82312104..04f2212e0e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "redisinsight", - "productName": "RedisInsight", - "description": "RedisInsight", + "productName": "Redis Insight", + "description": "Redis Insight", "license": "SSPL", "private": true, "scripts": { diff --git a/redisinsight/api/config/production.ts b/redisinsight/api/config/production.ts index b79847ea02..bc1c05d9bb 100644 --- a/redisinsight/api/config/production.ts +++ b/redisinsight/api/config/production.ts @@ -2,9 +2,9 @@ import { join } from 'path'; import * as os from 'os'; const homedir = process.env.RI_APP_FOLDER_ABSOLUTE_PATH - || (join(os.homedir(), process.env.RI_APP_FOLDER_NAME || '.redisinsight-app')); + || (join(os.homedir(), process.env.RI_APP_FOLDER_NAME || '.redis-insight')); -const prevHomedir = join(os.homedir(), '.redisinsight-v2'); +const prevHomedir = join(os.homedir(), '.redisinsight-app'); export default { dir_path: { @@ -14,11 +14,15 @@ export default { customPlugins: join(homedir, 'plugins'), customTutorials: join(homedir, 'custom-tutorials'), commands: join(homedir, 'commands'), - guides: process.env.RI_GUIDES_PATH || join(homedir, 'guides'), tutorials: process.env.RI_TUTORIALS_PATH || join(homedir, 'tutorials'), content: process.env.RI_CONTENT_PATH || join(homedir, 'content'), caCertificates: join(homedir, 'ca_certificates'), clientCertificates: join(homedir, 'client_certificates'), + oldFolders: [ + join(os.homedir(), '.redisinsight-preview'), + join(os.homedir(), '.redisinsight-v2'), + process.env.RI_GUIDES_PATH || join(homedir, 'guides'), + ] }, server: { env: 'production', diff --git a/redisinsight/api/config/swagger.ts b/redisinsight/api/config/swagger.ts index 25d76336ef..a98f5e20d9 100644 --- a/redisinsight/api/config/swagger.ts +++ b/redisinsight/api/config/swagger.ts @@ -3,8 +3,8 @@ import { OpenAPIObject } from '@nestjs/swagger'; const SWAGGER_CONFIG: Omit = { openapi: '3.0.0', info: { - title: 'RedisInsight Backend API', - description: 'RedisInsight Backend API', + title: 'Redis Insight Backend API', + description: 'Redis Insight Backend API', version: '2.48.0', }, tags: [], diff --git a/redisinsight/api/package.json b/redisinsight/api/package.json index 54b12a5be0..9ea9b9a8d7 100644 --- a/redisinsight/api/package.json +++ b/redisinsight/api/package.json @@ -1,7 +1,7 @@ { "name": "redisinsight-api", "version": "2.48.0", - "description": "RedisInsight API", + "description": "Redis Insight API", "private": true, "author": { "name": "Redis Ltd.", diff --git a/redisinsight/api/src/constants/agreements-spec.json b/redisinsight/api/src/constants/agreements-spec.json index 265edc5af1..9b76c69331 100644 --- a/redisinsight/api/src/constants/agreements-spec.json +++ b/redisinsight/api/src/constants/agreements-spec.json @@ -11,7 +11,7 @@ "since": "1.0.1", "title": "Analytics", "label": "Enable Analytics", - "description": "Select to help us make RedisInsight better. We aggregate anonymized user experience data and use it to fix bugs and improve experience for all users." + "description": "Select to help us make Redis Insight better. We aggregate anonymized user experience data and use it to fix bugs and improve experience for all users." }, "notifications": { "defaultValue": false, @@ -29,7 +29,7 @@ "conditional": true, "checker": "KEYTAR", "defaultOption": "false", - + "options": { "true": { "defaultValue": true, diff --git a/redisinsight/api/src/constants/error-messages.ts b/redisinsight/api/src/constants/error-messages.ts index 2dfbdb3d2a..637306c834 100644 --- a/redisinsight/api/src/constants/error-messages.ts +++ b/redisinsight/api/src/constants/error-messages.ts @@ -57,11 +57,11 @@ export default { SCAN_PER_KEY_TYPE_NOT_SUPPORT: () => 'Filtering per Key types is available for Redis databases v. 6.0 or later.', WRONG_DISCOVERY_TOOL: () => 'Selected discovery tool is incorrect, please add this database manually using Host and Port.', COMMAND_NOT_SUPPORTED: (command: string) => `Redis does not support '${command}' command.`, - PLUGIN_COMMAND_NOT_SUPPORTED: (command: string) => `Plugin ERROR: The '${command}' command is not allowed by the RedisInsight Plugins.`, + PLUGIN_COMMAND_NOT_SUPPORTED: (command: string) => `Plugin ERROR: The '${command}' command is not allowed by the Redis Insight Plugins.`, PLUGIN_STATE_MAX_SIZE: (size: number) => `State should be less then ${size} bytes.`, - WORKBENCH_COMMAND_NOT_SUPPORTED: (command) => `Workbench ERROR: The '${command}' command is not supported by the RedisInsight Workbench.`, + WORKBENCH_COMMAND_NOT_SUPPORTED: (command) => `Workbench ERROR: The '${command}' command is not supported by the Redis Insight Workbench.`, WORKBENCH_RESPONSE_TOO_BIG: () => 'Results have been deleted since they exceed 1 MB. Re-run the command to see new results.', - CLI_COMMAND_NOT_SUPPORTED: (command: string) => `CLI ERROR: The '${command}' command is not supported by the RedisInsight CLI.`, + CLI_COMMAND_NOT_SUPPORTED: (command: string) => `CLI ERROR: The '${command}' command is not supported by the Redis Insight CLI.`, CLI_UNTERMINATED_QUOTES: () => 'Invalid argument(s): Unterminated quotes.', CLI_INVALID_QUOTES_CLOSING: () => 'Invalid argument(s): Closing quote must be followed by a space or nothing at all.', CLUSTER_NODE_NOT_FOUND: (node: string) => `Node ${node} not exist in OSS Cluster.`, diff --git a/redisinsight/api/src/init-helper.ts b/redisinsight/api/src/init-helper.ts index 6f0b244c8e..38d7efefe6 100644 --- a/redisinsight/api/src/init-helper.ts +++ b/redisinsight/api/src/init-helper.ts @@ -34,20 +34,35 @@ export const migrateHomeFolder = async () => { join(PATH_CONFIG.homedir, target), ))); } + + return true } catch (e) { // continue initialization even without migration + return false } }; /** - * Remove old guides folder + * Remove old folders */ -export const removeGuidesFolder = async () => { +export const removeOldFolders = async () => { try { - if (await fs.pathExists(PATH_CONFIG.guides)) { - await fs.rm(PATH_CONFIG.guides, { recursive: true, force: true }); + // remove old folders + await PATH_CONFIG.oldFolders?.map(removeFolder) + } catch (e) { + // continue initialization even without removing + } +}; + +/** + * Remove a folder + */ +export const removeFolder = async (path: string) => { + try { + if (await fs.pathExists(path)) { + await fs.rm(path, { recursive: true, force: true }); } } catch (e) { - // continue initialization even without migration + // continue initialization even without removing } }; diff --git a/redisinsight/api/src/main.ts b/redisinsight/api/src/main.ts index eb8661d71d..8626b34c2b 100644 --- a/redisinsight/api/src/main.ts +++ b/redisinsight/api/src/main.ts @@ -7,7 +7,7 @@ import * as bodyParser from 'body-parser'; import { WinstonModule } from 'nest-winston'; import { GlobalExceptionFilter } from 'src/exceptions/global-exception.filter'; import { get, Config } from 'src/utils'; -import { migrateHomeFolder, removeGuidesFolder } from 'src/init-helper'; +import { migrateHomeFolder, removeOldFolders } from 'src/init-helper'; import { LogFileProvider } from 'src/modules/profiler/providers/log-file.provider'; import { WindowsAuthAdapter } from 'src/modules/auth/window-auth/adapters/window-auth.adapter'; import { AppModule } from './app.module'; @@ -23,8 +23,7 @@ interface IApp { } export default async function bootstrap(apiPort?: number): Promise { - await migrateHomeFolder(); - await removeGuidesFolder(); + await migrateHomeFolder() && await removeOldFolders(); const { port, host } = serverConfig; const logger = WinstonModule.createLogger(LOGGER_CONFIG); diff --git a/redisinsight/api/test/api/cli/POST-databases-id-cli-uuid-send_command.test.ts b/redisinsight/api/test/api/cli/POST-databases-id-cli-uuid-send_command.test.ts index 0618378898..c1bbd473c7 100644 --- a/redisinsight/api/test/api/cli/POST-databases-id-cli-uuid-send_command.test.ts +++ b/redisinsight/api/test/api/cli/POST-databases-id-cli-uuid-send_command.test.ts @@ -792,7 +792,7 @@ describe('POST /databases/:instanceId/cli/:uuid/send-command', () => { responseSchema, checkFn: ({ body }) => { expect(body.status).to.eql('fail'); - expect(body.response).to.include('command is not supported by the RedisInsight CLI'); + expect(body.response).to.include('command is not supported by the Redis Insight CLI'); } }, { @@ -803,7 +803,7 @@ describe('POST /databases/:instanceId/cli/:uuid/send-command', () => { responseSchema, checkFn: ({ body }) => { expect(body.status).to.eql('fail'); - expect(body.response).to.include('command is not supported by the RedisInsight CLI'); + expect(body.response).to.include('command is not supported by the Redis Insight CLI'); } }, { @@ -814,7 +814,7 @@ describe('POST /databases/:instanceId/cli/:uuid/send-command', () => { responseSchema, checkFn: ({ body }) => { expect(body.status).to.eql('fail'); - expect(body.response).to.include('command is not supported by the RedisInsight CLI'); + expect(body.response).to.include('command is not supported by the Redis Insight CLI'); } }, { @@ -825,7 +825,7 @@ describe('POST /databases/:instanceId/cli/:uuid/send-command', () => { responseSchema, checkFn: ({ body }) => { expect(body.status).to.eql('fail'); - expect(body.response).to.include('command is not supported by the RedisInsight CLI'); + expect(body.response).to.include('command is not supported by the Redis Insight CLI'); } }, { @@ -836,7 +836,7 @@ describe('POST /databases/:instanceId/cli/:uuid/send-command', () => { responseSchema, checkFn: ({ body }) => { expect(body.status).to.eql('fail'); - expect(body.response).to.include('command is not supported by the RedisInsight CLI'); + expect(body.response).to.include('command is not supported by the Redis Insight CLI'); } }, { @@ -847,7 +847,7 @@ describe('POST /databases/:instanceId/cli/:uuid/send-command', () => { responseSchema, checkFn: ({ body }) => { expect(body.status).to.eql('fail'); - expect(body.response).to.include('command is not supported by the RedisInsight CLI'); + expect(body.response).to.include('command is not supported by the Redis Insight CLI'); } }, { @@ -858,7 +858,7 @@ describe('POST /databases/:instanceId/cli/:uuid/send-command', () => { responseSchema, checkFn: ({ body }) => { expect(body.status).to.eql('fail'); - expect(body.response).to.include('command is not supported by the RedisInsight CLI'); + expect(body.response).to.include('command is not supported by the Redis Insight CLI'); } }, ].map(mainCheckFn); diff --git a/redisinsight/api/test/api/plugins/POST-databases-id-plugins-command_executions.test.ts b/redisinsight/api/test/api/plugins/POST-databases-id-plugins-command_executions.test.ts index 6a473a8d7e..0526aae7b4 100644 --- a/redisinsight/api/test/api/plugins/POST-databases-id-plugins-command_executions.test.ts +++ b/redisinsight/api/test/api/plugins/POST-databases-id-plugins-command_executions.test.ts @@ -195,7 +195,7 @@ describe('POST /databases/:instanceId/plugins/command-executions', () => { checkFn: async ({ body }) => { expect(body.result.length).to.eql(1); expect(body.result[0].status).to.eql('fail'); - expect(body.result[0].response).to.include('command is not allowed by the RedisInsight Plugins'); + expect(body.result[0].response).to.include('command is not allowed by the Redis Insight Plugins'); }, ...testCase, })); diff --git a/redisinsight/api/test/api/workbench/POST-databases-id-workbench-command_executions.test.ts b/redisinsight/api/test/api/workbench/POST-databases-id-workbench-command_executions.test.ts index bd77892f4d..941fca529e 100644 --- a/redisinsight/api/test/api/workbench/POST-databases-id-workbench-command_executions.test.ts +++ b/redisinsight/api/test/api/workbench/POST-databases-id-workbench-command_executions.test.ts @@ -919,7 +919,7 @@ describe('POST /databases/:instanceId/workbench/command-executions', () => { checkFn: async ({ body }) => { expect(body[0].result.length).to.eql(1); expect(body[0].result[0].status).to.eql('fail'); - expect(body[0].result[0].response).to.include('command is not supported by the RedisInsight Workbench'); + expect(body[0].result[0].response).to.include('command is not supported by the Redis Insight Workbench'); }, ...testCase, })); diff --git a/redisinsight/desktop/config.json b/redisinsight/desktop/config.json index 9ee28a5e62..c93a2f9847 100644 --- a/redisinsight/desktop/config.json +++ b/redisinsight/desktop/config.json @@ -4,7 +4,7 @@ "host": "localhost", "debug": false, "themeSource": "dark", - "appName": "RedisInsight", + "appName": "Redis Insight", "schema": "redisinsight", "mainWindow": { "show": false, @@ -29,7 +29,7 @@ "frame": false, "resizable": false, "alwaysOnTop": true, - "title": "RedisInsight", + "title": "Redis Insight", "webPreferences": { "nodeIntegration": false, "contextIsolation": true diff --git a/redisinsight/desktop/index.ejs b/redisinsight/desktop/index.ejs index bb61a1b52d..32ade2d1e4 100644 --- a/redisinsight/desktop/index.ejs +++ b/redisinsight/desktop/index.ejs @@ -2,7 +2,7 @@ - RedisInsight + Redis Insight
diff --git a/redisinsight/desktop/splash.ejs b/redisinsight/desktop/splash.ejs index de914fbb83..4fe9bfdec5 100644 --- a/redisinsight/desktop/splash.ejs +++ b/redisinsight/desktop/splash.ejs @@ -12,7 +12,7 @@ height: 100%; background-size: cover; color: #ffffff; - background-image: url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/7AARRHVja3kAAQAEAAAARgAA/+EDL2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZWRhMmIzZmFjLCAyMDIxLzExLzE3LTE3OjIzOjE5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjMuMSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTJGQTU1NDA4QTVFMTFFQzhCNTRBNEVBMjYxNDA2RDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTJGQTU1NDE4QTVFMTFFQzhCNTRBNEVBMjYxNDA2RDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMkZBNTUzRThBNUUxMUVDOEI1NEE0RUEyNjE0MDZEOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMkZBNTUzRjhBNUUxMUVDOEI1NEE0RUEyNjE0MDZEOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/bAEMAAwICAwICAwMCAwMDAwMEBwUEBAQECQYHBQcKCQsLCgkKCgwNEQ4M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'); + background-image: url('data:image/png;base64,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'); } #Group_4 { @@ -32,9 +32,10 @@ .logo { display: flex; - flex: 1; - padding-top: 45px; - padding-bottom: 12px; + padding-top: 73px; + margin-left: 106px; + padding-bottom: 28px; + width: 177px; } @@ -42,37 +43,16 @@
@@ -86,7 +66,7 @@ const copyrightEl = document.getElementById('copyright') || null if (copyrightEl) { - copyrightEl.innerHTML = `RedisInsight ${appVersion}  © ${new Date().getFullYear() || '2023'} Redis Ltd.` + copyrightEl.innerHTML = `Redis Insight ${appVersion}  © ${new Date().getFullYear() || '2023'} Redis Ltd.` } } diff --git a/redisinsight/desktop/src/lib/aboutPanel/aboutPanel.ts b/redisinsight/desktop/src/lib/aboutPanel/aboutPanel.ts index 4fa3d52bb6..09cc8feb96 100644 --- a/redisinsight/desktop/src/lib/aboutPanel/aboutPanel.ts +++ b/redisinsight/desktop/src/lib/aboutPanel/aboutPanel.ts @@ -7,7 +7,7 @@ const ICON_PATH = app.isPackaged : path.join(__dirname, '../resources', 'icon.png') export const AboutPanelOptions = { - applicationName: 'RedisInsight', + applicationName: 'Redis Insight', applicationVersion: `${app.getVersion() || '2.48.0'}${ !config.isProduction ? `-dev-${process.getCreationTime()}` : '' }`, diff --git a/redisinsight/desktop/src/lib/tray/tray.ts b/redisinsight/desktop/src/lib/tray/tray.ts index 0a9be8d553..f898434288 100644 --- a/redisinsight/desktop/src/lib/tray/tray.ts +++ b/redisinsight/desktop/src/lib/tray/tray.ts @@ -15,7 +15,6 @@ export class TrayBuilder { const iconFullPath = path.join(__dirname, iconPath, iconName) const icon = nativeImage.createFromPath(iconFullPath) const iconTray = icon.resize({ height: 16, width: 16 }) - iconTray.setTemplateImage(true) this.tray = new Tray(iconTray) } @@ -23,7 +22,7 @@ export class TrayBuilder { buildOpenAppSubMenu() { if (getWindows()?.size > 1) { return { - label: 'Open RedisInsight', + label: 'Open Redis Insight', type: 'submenu', submenu: [ { @@ -46,7 +45,7 @@ export class TrayBuilder { } return { - label: 'Open RedisInsight', + label: 'Open Redis Insight', click: () => { this.openApp() } diff --git a/redisinsight/desktop/views/cloud_outh_callback/callback.html b/redisinsight/desktop/views/cloud_outh_callback/callback.html index 1fc2407deb..b4cbc26f23 100644 --- a/redisinsight/desktop/views/cloud_outh_callback/callback.html +++ b/redisinsight/desktop/views/cloud_outh_callback/callback.html @@ -2,8 +2,8 @@ - RedisInsight - + Redis Insight + @@ -11,26 +11,27 @@

Thank you

- You may close this window and navigate back to RedisInsight. + You may close this window and navigate back to Redis Insight.

- Click open RedisInsight below, if you don’t see a dialog. + Click open Redis Insight below, if you don’t see a dialog.
- +
In the case you are not redirected, check that your package supports
deep linking and try again.
diff --git a/redisinsight/desktop/views/cloud_outh_callback/favicon.ico b/redisinsight/desktop/views/cloud_outh_callback/favicon.ico deleted file mode 100644 index 9f5f2f8814..0000000000 Binary files a/redisinsight/desktop/views/cloud_outh_callback/favicon.ico and /dev/null differ diff --git a/redisinsight/desktop/views/cloud_outh_callback/favicon.png b/redisinsight/desktop/views/cloud_outh_callback/favicon.png new file mode 100644 index 0000000000..0610a302ba Binary files /dev/null and b/redisinsight/desktop/views/cloud_outh_callback/favicon.png differ diff --git a/redisinsight/desktop/views/cloud_outh_callback/styles.css b/redisinsight/desktop/views/cloud_outh_callback/styles.css index 5ac9da244f..7b8c87a383 100644 --- a/redisinsight/desktop/views/cloud_outh_callback/styles.css +++ b/redisinsight/desktop/views/cloud_outh_callback/styles.css @@ -35,11 +35,11 @@ body { justify-content: center; height: 150px; border-radius: 16px 16px 0 0; - background-color: #202020; + background-image: url('data:image/png;base64,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'); } .logo { - width: 320px; + width: 170px; } .section { diff --git a/redisinsight/package.json b/redisinsight/package.json index 3192bc2b62..b680ff9a5b 100644 --- a/redisinsight/package.json +++ b/redisinsight/package.json @@ -1,9 +1,9 @@ { "name": "redisinsight", - "productName": "RedisInsight", + "productName": "Redis Insight", "private": true, "version": "2.48.0", - "description": "RedisInsight", + "description": "Redis Insight", "main": "./dist/main/main.js", "author": { "name": "Redis Ltd.", diff --git a/redisinsight/ui/index.html.ejs b/redisinsight/ui/index.html.ejs index 152a238180..bb3e8d34d5 100644 --- a/redisinsight/ui/index.html.ejs +++ b/redisinsight/ui/index.html.ejs @@ -3,7 +3,7 @@ - RedisInsight + Redis Insight