Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 543faf8

Browse files
committed
fix(ui): check if retrieval mode is unknown
1 parent bd9e652 commit 543faf8

File tree

6 files changed

+29
-8
lines changed

6 files changed

+29
-8
lines changed

‎ui/packages/shared/pages/Configuration/index.tsx‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ export const Configuration = observer(
8181
const stores = useStores()
8282
const {
8383
config,
84+
isConfigurationLoading,
8485
updateConfig,
8586
getFullConfig,
8687
fullConfig,
@@ -294,7 +295,7 @@ export const Configuration = observer(
294295
}
295296
className={styles.snackbar}
296297
/>
297-
{!config ||!dleEdition ? (
298+
{!config &&isConfigurationLoading ? (
298299
<div className={styles.spinnerContainer}>
299300
<Spinner size="lg" className={styles.spinner} />
300301
</div>

‎ui/packages/shared/pages/Configuration/utils/index.ts‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,3 +114,7 @@ export const postUniqueCustomOptions = (options: string) => {
114114
)
115115
return uniqueOptions
116116
}
117+
118+
export const isRetrievalUnknown = (mode: string | undefined) => {
119+
return mode === 'unknown' || mode === ''
120+
}

‎ui/packages/shared/pages/Instance/Info/Retrieval/index.tsx‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { formatDateStd } from '@postgres.ai/shared/utils/date'
99
import { Button } from '@postgres.ai/shared/components/Button2'
1010
import { Tooltip } from '@postgres.ai/shared/components/Tooltip'
1111
import { InfoIcon } from '@postgres.ai/shared/icons/Info'
12+
import { isRetrievalUnknown } from '@postgres.ai/shared/pages/Configuration/utils'
1213

1314
import { Section } from '../components/Section'
1415
import { Property } from '../components/Property'
@@ -46,7 +47,7 @@ export const Retrieval = observer(() => {
4647

4748
if (!instanceRetrieval) return null
4849
const { mode, status, activity } = instanceRetrieval
49-
const isVisible = mode !== 'physical'
50+
const isVisible = mode !== 'physical'&&!isRetrievalUnknown(mode)
5051
const isActive = mode === 'logical' && status === 'refreshing'
5152

5253
return (

‎ui/packages/shared/pages/Instance/Tabs/index.tsx‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,14 @@ type Props = {
5050
handleChange: (event: React.ChangeEvent<{}>, newValue: number) => void
5151
hasLogs: boolean
5252
hideInstanceTabs?: boolean
53+
isConfigActive?: boolean
5354
}
5455

5556
export const Tabs = (props: Props) => {
5657
const classes = useStyles()
5758

58-
const { value, handleChange, hasLogs } = props
59+
const { value, handleChange, hasLogs, isConfigActive, hideInstanceTabs } =
60+
props
5961

6062
return (
6163
<TabsComponent
@@ -74,14 +76,17 @@ export const Tabs = (props: Props) => {
7476
label="Logs"
7577
disabled={!hasLogs}
7678
classes={{
77-
root: props.hideInstanceTabs ? classes.tabHidden : classes.tabRoot,
79+
root: hideInstanceTabs ? classes.tabHidden : classes.tabRoot,
7880
}}
7981
value={1}
8082
/>
8183
<TabComponent
8284
label="Configuration"
8385
classes={{
84-
root: props.hideInstanceTabs ? classes.tabHidden : classes.tabRoot,
86+
root:
87+
props.hideInstanceTabs || !isConfigActive
88+
? classes.tabHidden
89+
: classes.tabRoot,
8590
}}
8691
value={2}
8792
/>

‎ui/packages/shared/pages/Instance/index.tsx‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { Button } from '@postgres.ai/shared/components/Button2'
1313
import { StubSpinner } from '@postgres.ai/shared/components/StubSpinner'
1414
import { SectionTitle } from '@postgres.ai/shared/components/SectionTitle'
1515
import { ErrorStub } from '@postgres.ai/shared/components/ErrorStub'
16+
import { isRetrievalUnknown } from '@postgres.ai/shared/pages/Configuration/utils'
1617

1718
import { Tabs } from './Tabs'
1819
import { Logs } from '../Logs'
@@ -73,12 +74,15 @@ export const Instance = observer((props: Props) => {
7374
load,
7475
isReloadingInstance,
7576
} = stores.main
76-
const isConfigurationActive = instanceRetrieval?.mode !== 'physical'
7777

7878
useEffect(() => {
7979
load(instanceId)
8080
}, [instanceId])
8181

82+
const isConfigurationActive =
83+
!isRetrievalUnknown(instanceRetrieval?.mode) &&
84+
instanceRetrieval?.mode !== 'physical'
85+
8286
useEffect(() => {
8387
if (
8488
instance &&
@@ -130,6 +134,7 @@ export const Instance = observer((props: Props) => {
130134
handleChange={switchTab}
131135
hasLogs={api.initWS != undefined}
132136
hideInstanceTabs={props?.hideInstanceTabs}
137+
isConfigActive={!isRetrievalUnknown(instanceRetrieval?.mode)}
133138
/>
134139
</SectionTitle>
135140

‎ui/packages/shared/pages/Instance/stores/Main.ts‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { GetFullConfig } from '@postgres.ai/shared/types/api/endpoints/getFullCo
2525
import { GetInstanceRetrieval } from '@postgres.ai/shared/types/api/endpoints/getInstanceRetrieval'
2626
import { InstanceRetrievalType } from '@postgres.ai/shared/types/api/entities/instanceRetrieval'
2727
import { GetEngine } from '@postgres.ai/shared/types/api/endpoints/getEngine'
28+
import { isRetrievalUnknown } from '@postgres.ai/shared/pages/Configuration/utils'
2829

2930
const POLLING_TIME = 2000
3031

@@ -67,6 +68,7 @@ export class MainStore {
6768
readonly snapshots: SnapshotsStore
6869

6970
isReloadingClones = false
71+
isConfigurationLoading = false
7072
isReloadingInstance = false
7173
isReloadingInstanceRetrieval = false
7274

@@ -89,8 +91,7 @@ export class MainStore {
8991
this.isReloadingInstance = true
9092
this.loadInstance(instanceId)
9193
this.loadInstanceRetrieval(instanceId).then(() => {
92-
this.isReloadingInstance = false
93-
if (this.instanceRetrieval?.mode !== 'physical') {
94+
if (!isRetrievalUnknown(this.instanceRetrieval?.mode)) {
9495
this.getConfig()
9596
}
9697
})
@@ -170,8 +171,12 @@ export class MainStore {
170171
getConfig = async () => {
171172
if (!this.api.getConfig) return
172173

174+
this.isConfigurationLoading = true
175+
173176
const { response, error } = await this.api.getConfig()
174177

178+
this.isConfigurationLoading = false
179+
175180
if (response) {
176181
this.config = response
177182
this.configError = null

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /