From 30b4f6678ec98676c49cb5b3891157ece2ccba6b Mon Sep 17 00:00:00 2001 From: Lasha Kakabadze Date: Wed, 21 Sep 2022 16:01:27 +0400 Subject: [PATCH 1/7] display config error if it exists (#434) --- ui/packages/shared/pages/Configuration/index.tsx | 8 ++++---- ui/packages/shared/pages/Instance/stores/Main.ts | 10 ++++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ui/packages/shared/pages/Configuration/index.tsx b/ui/packages/shared/pages/Configuration/index.tsx index 44ef5563a..49aa7bfba 100644 --- a/ui/packages/shared/pages/Configuration/index.tsx +++ b/ui/packages/shared/pages/Configuration/index.tsx @@ -61,7 +61,7 @@ export const Configuration = observer( getFullConfig, fullConfig, testDbSource, - updateConfigError, + configError, } = stores.main const configData = config && JSON.parse(JSON.stringify(config)) const [submitMessage, setSubmitMessage] = useState< @@ -469,10 +469,10 @@ export const Configuration = observer( - {(submitStatus && submitMessage) || updateConfigError ? ( + {(submitStatus && submitMessage) || configError ? ( ) : null} diff --git a/ui/packages/shared/pages/Instance/stores/Main.ts b/ui/packages/shared/pages/Instance/stores/Main.ts index 38235e641..a5e7da7c5 100644 --- a/ui/packages/shared/pages/Instance/stores/Main.ts +++ b/ui/packages/shared/pages/Instance/stores/Main.ts @@ -55,7 +55,7 @@ export class MainStore { config: Config | null = null fullConfig?: string instanceError: Error | null = null - updateConfigError: string | null = null + configError: string | null = null unstableClones = new Set() private updateInstanceTimeoutId: number | null = null @@ -167,9 +167,11 @@ export class MainStore { this.config = response } - if (error) await getTextFromUnknownApiError(error) + if (error) { + this.configError = await error.json().then((err) => err.message) + } - return !!response + return response } updateConfig = async (values: Config) => { @@ -178,7 +180,7 @@ export class MainStore { const { response, error } = await this.api.updateConfig({ ...values }) if (error) - this.updateConfigError = await error.json().then((err) => err.message) + this.configError = await error.json().then((err) => err.message) return response } -- GitLab From baec8bfa69548b03e1adfd32707d714fa0008998 Mon Sep 17 00:00:00 2001 From: Lasha Kakabadze Date: Wed, 21 Sep 2022 16:17:24 +0400 Subject: [PATCH 2/7] display dbsource error in the ui (#434) --- ui/packages/shared/pages/Configuration/index.tsx | 7 ++++--- ui/packages/shared/pages/Instance/stores/Main.ts | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ui/packages/shared/pages/Configuration/index.tsx b/ui/packages/shared/pages/Configuration/index.tsx index 49aa7bfba..e3405498c 100644 --- a/ui/packages/shared/pages/Configuration/index.tsx +++ b/ui/packages/shared/pages/Configuration/index.tsx @@ -62,6 +62,7 @@ export const Configuration = observer( fullConfig, testDbSource, configError, + dbSourceError, } = stores.main const configData = config && JSON.parse(JSON.stringify(config)) const [submitMessage, setSubmitMessage] = useState< @@ -381,10 +382,10 @@ export const Configuration = observer( )} - {connectionStatus && connectionResponse ? ( + {(connectionStatus && connectionResponse) || dbSourceError ? ( ) : null} diff --git a/ui/packages/shared/pages/Instance/stores/Main.ts b/ui/packages/shared/pages/Instance/stores/Main.ts index a5e7da7c5..e39eb0a2e 100644 --- a/ui/packages/shared/pages/Instance/stores/Main.ts +++ b/ui/packages/shared/pages/Instance/stores/Main.ts @@ -56,6 +56,7 @@ export class MainStore { fullConfig?: string instanceError: Error | null = null configError: string | null = null + dbSourceError: string | null = null unstableClones = new Set() private updateInstanceTimeoutId: number | null = null @@ -203,7 +204,8 @@ export class MainStore { const { response, error } = await this.api.testDbSource(values) - if (error) await getTextFromUnknownApiError(error) + if (error) + this.dbSourceError = await error.json().then((err) => err.message) return response } -- GitLab From 58b30718d5942cb19247d097b296358212c8a874 Mon Sep 17 00:00:00 2001 From: Lasha Kakabadze Date: Wed, 21 Sep 2022 22:47:40 +0400 Subject: [PATCH 3/7] disable configuration if mode isn't physical, prevent additional requests (#434) --- ui/packages/shared/pages/Instance/Tabs/index.tsx | 4 +++- ui/packages/shared/pages/Instance/index.tsx | 8 +++++--- ui/packages/shared/pages/Instance/stores/Main.ts | 7 +++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ui/packages/shared/pages/Instance/Tabs/index.tsx b/ui/packages/shared/pages/Instance/Tabs/index.tsx index 973f9762f..50f50890e 100644 --- a/ui/packages/shared/pages/Instance/Tabs/index.tsx +++ b/ui/packages/shared/pages/Instance/Tabs/index.tsx @@ -43,12 +43,13 @@ type Props = { value: number handleChange: (event: React.ChangeEvent<{}>, newValue: number) => void hasLogs: boolean + isConfigurationVisible: boolean } export const Tabs = (props: Props) => { const classes = useStyles() - const { value, handleChange, hasLogs } = props + const { value, handleChange, hasLogs, isConfigurationVisible } = props return ( { /> { stores.main.load(instanceId) }, [instanceId]) - const { instance, instanceError } = stores.main + const { instance, instanceError, instanceRetrieval } = stores.main + const isConfigurationVisible = instanceRetrieval?.mode !== 'physical' useEffect(() => { if (instance && instance?.state.retrieving?.status === "pending") { @@ -87,7 +88,7 @@ export const Instance = observer((props: Props) => { const [isLogConnectionEnabled, enableLogConnection] = React.useState(false); - const switchTab = (event: React.ChangeEvent<{}>, tabID: number) => { + const switchTab = (_: React.ChangeEvent<{}>, tabID: number) => { if (tabID == 1 && api.initWS != undefined && !isLogConnectionEnabled) { establishConnection(api); enableLogConnection(true) @@ -120,6 +121,7 @@ export const Instance = observer((props: Props) => { value={activeTab} handleChange={switchTab} hasLogs={api.initWS != undefined} + isConfigurationVisible={isConfigurationVisible} /> @@ -155,7 +157,7 @@ export const Instance = observer((props: Props) => { - + -