From 238f26836a3bc1446e1795388778e17e3c620a85 Mon Sep 17 00:00:00 2001 From: Krum Tyukenov Date: Tue, 11 Nov 2025 14:26:28 +0200 Subject: [PATCH] RI-7399: fix instance not opening for electron --- redisinsight/ui/src/Router.tsx | 12 +++++++++++- .../databases-list/methods/handlers.spec.ts | 2 +- .../components/databases-list/methods/handlers.ts | 4 ++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/redisinsight/ui/src/Router.tsx b/redisinsight/ui/src/Router.tsx index c516ad08a2..aad05f77c4 100644 --- a/redisinsight/ui/src/Router.tsx +++ b/redisinsight/ui/src/Router.tsx @@ -14,7 +14,17 @@ if (RIPROXYPATH !== '') { MOUNT_PATH = RIPROXYPATH } -export const history = createBrowserHistory({ basename: MOUNT_PATH }) +const history = createBrowserHistory({ basename: MOUNT_PATH }) + +export const navigate = (path: string) => { + if (window.location.hash) { + // Electron (HashRouter) + window.location.hash = `#${path}` + } else { + // Web (BrowserRouter) + history.push(path) + } +} const Router = ({ children }: Props) => ( {children} diff --git a/redisinsight/ui/src/pages/home/components/databases-list/methods/handlers.spec.ts b/redisinsight/ui/src/pages/home/components/databases-list/methods/handlers.spec.ts index fb13118370..752a9f9cb5 100644 --- a/redisinsight/ui/src/pages/home/components/databases-list/methods/handlers.spec.ts +++ b/redisinsight/ui/src/pages/home/components/databases-list/methods/handlers.spec.ts @@ -59,7 +59,7 @@ jest.mock('uiSrc/slices/app/context', () => ({ const mockHistoryPush = jest.fn() jest.mock('uiSrc/Router', () => ({ - history: { push: jest.fn((...args) => mockHistoryPush(...args)) }, + navigate: jest.fn((...args) => mockHistoryPush(...args)), })) const mockLocalStorageSet = jest.fn() diff --git a/redisinsight/ui/src/pages/home/components/databases-list/methods/handlers.ts b/redisinsight/ui/src/pages/home/components/databases-list/methods/handlers.ts index 2f0c480750..da0181f6ca 100644 --- a/redisinsight/ui/src/pages/home/components/databases-list/methods/handlers.ts +++ b/redisinsight/ui/src/pages/home/components/databases-list/methods/handlers.ts @@ -13,14 +13,14 @@ import { appContextSelector, resetRdiContext } from 'uiSrc/slices/app/context' import { BrowserStorageItem, Pages } from 'uiSrc/constants' import { store, dispatch } from 'uiSrc/slices/store' import { SortingState } from 'uiSrc/components/base/layout/table' -import { history } from 'uiSrc/Router' +import { navigate } from 'uiSrc/Router' import { localStorageService } from 'uiSrc/services' const connectToInstance = (id: string) => { dispatch(resetRdiContext()) dispatch(setConnectedInstanceId(id)) - history.push(Pages.browser(id)) + navigate(Pages.browser(id)) } export const handleCheckConnectToInstance = async (instance: Instance) => {