From 0526e1ad7039e2e6ab003eb091b79919b058688c Mon Sep 17 00:00:00 2001 From: apodymov Date: Fri, 28 Jan 2022 16:38:26 +0300 Subject: [PATCH 1/2] #RI-2356 - specify a human-readable error message --- .../ui/src/components/monitor-config/MonitorConfig.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/redisinsight/ui/src/components/monitor-config/MonitorConfig.tsx b/redisinsight/ui/src/components/monitor-config/MonitorConfig.tsx index c62a49970b..f3a7dd8ecc 100644 --- a/redisinsight/ui/src/components/monitor-config/MonitorConfig.tsx +++ b/redisinsight/ui/src/components/monitor-config/MonitorConfig.tsx @@ -87,8 +87,12 @@ const MonitorConfig = ({ retryDelay = 10000 } : IProps) => { }) // Catch connect error - newSocket.on(SocketEvent.ConnectionError, (error: Error) => { - payloads.push({ isError: true, time: `${Date.now()}`, message: `${error?.name}: ${error?.message}` }) + newSocket.on(SocketEvent.ConnectionError, (error: { type: string; name: any; message: any }) => { + if (error?.type === 'TransportError') { + payloads.push({ isError: true, time: `${Date.now()}`, message: 'Error: Connection was lost' }) + } else { + payloads.push({ isError: true, time: `${Date.now()}`, message: `${error?.name}: ${error?.message}` }) + } setNewItems(payloads, () => { payloads.length = 0 }) dispatch(toggleRunMonitor()) }) From dd478d7ce0bb0cd5dd7e752e4e9f9da1068f406b Mon Sep 17 00:00:00 2001 From: apodymov Date: Fri, 28 Jan 2022 17:44:06 +0300 Subject: [PATCH 2/2] fix pr comments --- .../components/monitor-config/MonitorConfig.tsx | 17 ++++++++++------- redisinsight/ui/src/constants/index.ts | 1 + redisinsight/ui/src/constants/socketErrors.ts | 3 +++ 3 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 redisinsight/ui/src/constants/socketErrors.ts diff --git a/redisinsight/ui/src/components/monitor-config/MonitorConfig.tsx b/redisinsight/ui/src/components/monitor-config/MonitorConfig.tsx index f3a7dd8ecc..a28f6be69c 100644 --- a/redisinsight/ui/src/components/monitor-config/MonitorConfig.tsx +++ b/redisinsight/ui/src/components/monitor-config/MonitorConfig.tsx @@ -11,7 +11,7 @@ import { stopMonitor, } from 'uiSrc/slices/cli/monitor' import { getBaseApiUrl } from 'uiSrc/utils' -import { MonitorEvent, SocketEvent } from 'uiSrc/constants' +import { MonitorEvent, SocketErrors, SocketEvent } from 'uiSrc/constants' import { IMonitorDataPayload } from 'uiSrc/slices/interfaces' import { connectedInstanceSelector } from 'uiSrc/slices/instances' import { IOnDatePayload } from 'apiSrc/modules/monitor/helpers/client-monitor-observer' @@ -32,6 +32,13 @@ const MonitorConfig = ({ retryDelay = 10000 } : IProps) => { maxWait: 150, }) + const getErrorMessage = (error: { type: string; name: any; message: any }): string => { + if (error?.type === SocketErrors.TransportError) { + return 'Error: Connection was lost' + } + return error?.name || error?.message + } + useEffect(() => { if (!isRunning || !instanceId || socket?.connected) { return @@ -87,12 +94,8 @@ const MonitorConfig = ({ retryDelay = 10000 } : IProps) => { }) // Catch connect error - newSocket.on(SocketEvent.ConnectionError, (error: { type: string; name: any; message: any }) => { - if (error?.type === 'TransportError') { - payloads.push({ isError: true, time: `${Date.now()}`, message: 'Error: Connection was lost' }) - } else { - payloads.push({ isError: true, time: `${Date.now()}`, message: `${error?.name}: ${error?.message}` }) - } + newSocket.on(SocketEvent.ConnectionError, (error) => { + payloads.push({ isError: true, time: `${Date.now()}`, message: getErrorMessage(error) }) setNewItems(payloads, () => { payloads.length = 0 }) dispatch(toggleRunMonitor()) }) diff --git a/redisinsight/ui/src/constants/index.ts b/redisinsight/ui/src/constants/index.ts index 7ef699492c..3cd6b3eb0b 100644 --- a/redisinsight/ui/src/constants/index.ts +++ b/redisinsight/ui/src/constants/index.ts @@ -17,4 +17,5 @@ export * from './monitorEvents' export * from './socketEvents' export * from './mocks/mock-redis-commands' export * from './mocks/mock-enablement-area' +export * from './socketErrors' export { ApiEndpoints, BrowserStorageItem, ApiStatusCode, apiErrors } diff --git a/redisinsight/ui/src/constants/socketErrors.ts b/redisinsight/ui/src/constants/socketErrors.ts new file mode 100644 index 0000000000..ab9498f607 --- /dev/null +++ b/redisinsight/ui/src/constants/socketErrors.ts @@ -0,0 +1,3 @@ +export enum SocketErrors { + TransportError = 'TransportError', +}