From 0e056ddb2d9529fbdea4c14ec2f79b4373fc8a1d Mon Sep 17 00:00:00 2001 From: Yury Molodov Date: Tue, 14 Nov 2023 01:21:16 +0100 Subject: [PATCH] vmui: fix trailing slash in serverURL (#5271) * vmui: add function to autoremove slash at the end of serverURL (#5203) * vmui: change removeTrailingSlash func --- app/vmui/packages/vmui/src/state/common/reducer.ts | 5 +++-- app/vmui/packages/vmui/src/utils/url.ts | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/vmui/packages/vmui/src/state/common/reducer.ts b/app/vmui/packages/vmui/src/state/common/reducer.ts index a03b74920e..f2347eaca2 100644 --- a/app/vmui/packages/vmui/src/state/common/reducer.ts +++ b/app/vmui/packages/vmui/src/state/common/reducer.ts @@ -3,6 +3,7 @@ import { getQueryStringValue } from "../../utils/query-string"; import { getFromStorage, saveToStorage } from "../../utils/storage"; import { Theme } from "../../types"; import { isDarkTheme } from "../../utils/theme"; +import { removeTrailingSlash } from "../../utils/url"; export interface AppState { serverUrl: string; @@ -20,7 +21,7 @@ export type Action = const tenantId = getQueryStringValue("g0.tenantID", "") as string; export const initialState: AppState = { - serverUrl: getDefaultServer(tenantId), + serverUrl: removeTrailingSlash(getDefaultServer(tenantId)), tenantId, theme: (getFromStorage("THEME") || Theme.system) as Theme, isDarkTheme: null @@ -31,7 +32,7 @@ export function reducer(state: AppState, action: Action): AppState { case "SET_SERVER": return { ...state, - serverUrl: action.payload + serverUrl: removeTrailingSlash(action.payload) }; case "SET_TENANT_ID": return { diff --git a/app/vmui/packages/vmui/src/utils/url.ts b/app/vmui/packages/vmui/src/utils/url.ts index 99bd0f00b4..8704fdbf61 100644 --- a/app/vmui/packages/vmui/src/utils/url.ts +++ b/app/vmui/packages/vmui/src/utils/url.ts @@ -8,4 +8,6 @@ export const isValidHttpUrl = (str: string): boolean => { } return url.protocol === "http:" || url.protocol === "https:"; -}; \ No newline at end of file +}; + +export const removeTrailingSlash = (url: string) => url.replace(/\/$/, "");