diff --git a/src/components/ApplicationGroup/Details/EnvironmentOverview/EnvironmentOverview.tsx b/src/components/ApplicationGroup/Details/EnvironmentOverview/EnvironmentOverview.tsx
index a500050938..3008e3b7d5 100644
--- a/src/components/ApplicationGroup/Details/EnvironmentOverview/EnvironmentOverview.tsx
+++ b/src/components/ApplicationGroup/Details/EnvironmentOverview/EnvironmentOverview.tsx
@@ -323,15 +323,18 @@ export default function EnvironmentOverview({
Created by
-
-
- {appGroupListData.createdBy[0]}
-
- {appGroupListData.createdBy}
-
+ {appGroupListData.createdBy
+ ? (
+
+
+ {appGroupListData.createdBy[0]}
+
+ {appGroupListData.createdBy}
+
+ ) : '-'}
diff --git a/src/components/ApplicationGroup/Details/TriggerView/EnvTriggerView.tsx b/src/components/ApplicationGroup/Details/TriggerView/EnvTriggerView.tsx
index 804959d2d9..83f231f394 100644
--- a/src/components/ApplicationGroup/Details/TriggerView/EnvTriggerView.tsx
+++ b/src/components/ApplicationGroup/Details/TriggerView/EnvTriggerView.tsx
@@ -223,6 +223,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
setDefaultConfig(_isDefaultConfig)
setConfigPresent(isConfigPresent)
})
+ .catch()
}
const preserveSelection = (_workflows: WorkflowType[]) => {
diff --git a/src/components/EnvironmentOverride/DeploymentTemplateOverrideForm.tsx b/src/components/EnvironmentOverride/DeploymentTemplateOverrideForm.tsx
index 3df7a0025a..68be475508 100644
--- a/src/components/EnvironmentOverride/DeploymentTemplateOverrideForm.tsx
+++ b/src/components/EnvironmentOverride/DeploymentTemplateOverrideForm.tsx
@@ -228,10 +228,10 @@ export default function DeploymentTemplateOverrideForm({
const deploymentTemplateResp = isConfigProtectionEnabled
? await checkForProtectedLockedChanges()
: await api(+appId, +envId, payload)
- if (deploymentTemplateResp.result.isLockConfigError && !saveEligibleChanges) {
+ if (deploymentTemplateResp.result?.isLockConfigError && !saveEligibleChanges) {
// checking if any locked changes and opening drawer to show eligible and locked ones
- setLockedOverride(deploymentTemplateResp.result?.lockedOverride)
- setDisableSaveEligibleChanges(deploymentTemplateResp.result?.disableSaveEligibleChanges)
+ setLockedOverride(deploymentTemplateResp.result.lockedOverride)
+ setDisableSaveEligibleChanges(deploymentTemplateResp.result.disableSaveEligibleChanges)
handleLockedDiffDrawer(true)
return
}
@@ -242,7 +242,7 @@ export default function DeploymentTemplateOverrideForm({
if (envOverrideValuesWithBasic) {
editorOnChange(YAML.stringify(envOverrideValuesWithBasic, { indent: 2 }), true)
- } else {
+ } else if (deploymentTemplateResp.result?.envOverrideValues) {
dispatch({
type: DeploymentConfigStateActionTypes.tempFormData,
payload: YAML.stringify(deploymentTemplateResp.result.envOverrideValues),
diff --git a/src/components/app/details/appDetails/AppDetails.tsx b/src/components/app/details/appDetails/AppDetails.tsx
index ced3f1a2db..3dc83ce753 100644
--- a/src/components/app/details/appDetails/AppDetails.tsx
+++ b/src/components/app/details/appDetails/AppDetails.tsx
@@ -334,6 +334,7 @@ export const Details: React.FC = ({
}
},
)
+ .catch()
},
[
params.appId,
diff --git a/src/components/app/details/main.tsx b/src/components/app/details/main.tsx
index 9e432d147c..4c2287c0f2 100644
--- a/src/components/app/details/main.tsx
+++ b/src/components/app/details/main.tsx
@@ -73,10 +73,12 @@ export default function AppDetailsPage({ isV2 }: AppDetailsProps) {
const getSavedFilterData = async (groupId?: number): Promise => {
setSelectedAppList([])
+ setSelectedGroupFilter([])
setAppListLoading(true)
setGroupFilterOptions([])
- const { result } = await getEnvGroupList(+appId, FilterParentType.app)
- if (result) {
+ try {
+ const { result } = await getEnvGroupList(+appId, FilterParentType.app)
+ if (result) {
const _groupFilterOption = []
let _selectedGroup
for (const group of result) {
@@ -106,26 +108,29 @@ export default function AppDetailsPage({ isV2 }: AppDetailsProps) {
}
_groupFilterOption.sort(sortOptionsByLabel)
setGroupFilterOptions(_groupFilterOption)
- }
+ }
+ } catch {}
setAppListLoading(false)
}
const getAppListData = async (): Promise => {
setSelectedAppList([])
setAppListLoading(true)
- const { result } = await getAppOtherEnvironmentMin(appId)
- if (result?.length) {
+ try {
+ const { result } = await getAppOtherEnvironmentMin(appId)
+ if (result?.length) {
setAppListOptions(
- result
- .map((app): OptionType => {
- return {
- value: `${app.environmentId}`,
- label: app.environmentName,
- }
- })
- .sort(sortOptionsByLabel),
+ result
+ .map((app): OptionType => {
+ return {
+ value: `${app.environmentId}`,
+ label: app.environmentName,
+ }
+ })
+ .sort(sortOptionsByLabel),
)
- }
+ }
+ } catch {}
setAppListLoading(false)
}
diff --git a/src/components/app/details/triggerView/TriggerView.tsx b/src/components/app/details/triggerView/TriggerView.tsx
index 12614ea877..6b13ec3f25 100644
--- a/src/components/app/details/triggerView/TriggerView.tsx
+++ b/src/components/app/details/triggerView/TriggerView.tsx
@@ -176,6 +176,7 @@ class TriggerView extends Component {
const _isDefaultConfig = response.result.is_default_configured
this.setState({ configs: isConfigPresent, isDefaultConfigPresent: _isDefaultConfig })
})
+ .catch()
}
getWorkflows = (isFromOnMount?: boolean) => {
diff --git a/src/components/common/helpers/Helpers.tsx b/src/components/common/helpers/Helpers.tsx
index e12215f364..9462973744 100644
--- a/src/components/common/helpers/Helpers.tsx
+++ b/src/components/common/helpers/Helpers.tsx
@@ -1,4 +1,4 @@
-import React, { useState, useEffect, useCallback, useRef, useMemo, RefObject, useLayoutEffect } from 'react'
+import React, { useState, useEffect, useCallback, useRef, useMemo } from 'react'
import {
showError,
useThrottledEffect,
@@ -1104,32 +1104,6 @@ export const reloadToastBody = () => {
)
}
-export function useHeightObserver(callback): [RefObject] {
- const ref = useRef(null)
- const callbackRef = useRef(callback)
-
- useLayoutEffect(() => {
- callbackRef.current = callback
- }, [callback])
-
- const handleHeightChange = useCallback(() => {
- callbackRef.current?.(ref.current.clientHeight)
- }, [callbackRef])
-
- useLayoutEffect(() => {
- if (!ref.current) {
- return
- }
- const observer = new ResizeObserver(handleHeightChange)
- observer.observe(ref.current)
- return () => {
- observer.disconnect()
- }
- }, [handleHeightChange, ref])
-
- return [ref]
-}
-
export const getDeploymentAppType = (
allowedDeploymentTypes: DeploymentAppTypes[],
selectedDeploymentAppType: string,
diff --git a/src/components/deploymentConfig/DeploymentConfig.tsx b/src/components/deploymentConfig/DeploymentConfig.tsx
index fc9a5fe484..20d22ef86b 100644
--- a/src/components/deploymentConfig/DeploymentConfig.tsx
+++ b/src/components/deploymentConfig/DeploymentConfig.tsx
@@ -518,9 +518,9 @@ export default function DeploymentConfig({
const deploymentTemplateResp = isProtected
? await checkForProtectedLockedChanges()
: await getIfLockedConfigNonProtected(requestBody)
- if (deploymentTemplateResp.result.isLockConfigError) {
- setDisableSaveEligibleChanges(deploymentTemplateResp.result?.disableSaveEligibleChanges)
- setLockedOverride(deploymentTemplateResp.result?.lockedOverride)
+ if (deploymentTemplateResp.result?.isLockConfigError) {
+ setDisableSaveEligibleChanges(deploymentTemplateResp.result.disableSaveEligibleChanges)
+ setLockedOverride(deploymentTemplateResp.result.lockedOverride)
handleLockedDiffDrawer(true)
return
}
@@ -566,9 +566,9 @@ export default function DeploymentConfig({
const requestBody = prepareDataToSave(true)
const api = state.chartConfig.id ? updateDeploymentTemplate : saveDeploymentTemplate
const deploymentTemplateResp = await api(requestBody, baseDeploymentAbortController.signal)
- if (deploymentTemplateResp.result.isLockConfigError) {
- setDisableSaveEligibleChanges(deploymentTemplateResp.result?.disableSaveEligibleChanges)
- setLockedOverride(deploymentTemplateResp.result?.lockedOverride)
+ if (deploymentTemplateResp.result?.isLockConfigError) {
+ setDisableSaveEligibleChanges(deploymentTemplateResp.result.disableSaveEligibleChanges)
+ setLockedOverride(deploymentTemplateResp.result.lockedOverride)
handleLockedDiffDrawer(true)
return
}
diff --git a/src/components/deploymentConfig/DeploymentTemplateView/DeploymentConfigFormCTA.tsx b/src/components/deploymentConfig/DeploymentTemplateView/DeploymentConfigFormCTA.tsx
index 69ce9b0638..40d992f873 100644
--- a/src/components/deploymentConfig/DeploymentTemplateView/DeploymentConfigFormCTA.tsx
+++ b/src/components/deploymentConfig/DeploymentTemplateView/DeploymentConfigFormCTA.tsx
@@ -72,7 +72,7 @@ export default function DeploymentConfigFormCTA({
payload: true,
})
const deploymentTemplateResp = await checkForProtectedLockedChanges()
- if (deploymentTemplateResp.result.isLockConfigError) {
+ if (deploymentTemplateResp.result?.isLockConfigError) {
setShowLockedDiffForApproval(true)
setLockedOverride(deploymentTemplateResp.result.lockedOverride)
handleLockedDiffDrawer(true)
diff --git a/src/components/login/Login.tsx b/src/components/login/Login.tsx
index 4d88cf692a..369d393020 100644
--- a/src/components/login/Login.tsx
+++ b/src/components/login/Login.tsx
@@ -61,6 +61,7 @@ export default class Login extends Component {
loginList: list,
})
})
+ .catch()
if (typeof Storage !== 'undefined') {
if (localStorage.isDashboardAccessed) {
return
diff --git a/src/components/v2/appDetails/AppDetails.component.tsx b/src/components/v2/appDetails/AppDetails.component.tsx
index ac3d29fdbb..6c9fe3b2a7 100644
--- a/src/components/v2/appDetails/AppDetails.component.tsx
+++ b/src/components/v2/appDetails/AppDetails.component.tsx
@@ -105,6 +105,7 @@ const AppDetailsComponent = ({
}
},
)
+ .catch()
}
const processDeploymentStatusData = (deploymentStatusDetailRes: DeploymentStatusDetailsType): void => {
diff --git a/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/Terminal.tsx b/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/Terminal.tsx
index 90f816ad40..22d3b8e577 100644
--- a/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/Terminal.tsx
+++ b/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/Terminal.tsx
@@ -5,7 +5,7 @@ import * as XtermWebfont from 'xterm-webfont'
import SockJS from 'sockjs-client'
import moment from 'moment'
import CopyToast, { handleSelectionChange } from '../CopyToast'
-import { elementDidMount, useHeightObserver } from '../../../../../../common/helpers/Helpers'
+import { elementDidMount } from '../../../../../../common/helpers/Helpers'
import { CLUSTER_STATUS, SocketConnectionType } from '../../../../../../ClusterNodes/constants'
import { TERMINAL_STATUS } from './constants'
import './terminal.scss'
@@ -27,6 +27,7 @@ export default function TerminalView({
dataTestId,
}: TerminalViewType) {
const socket = useRef(null)
+ const termDiv = useRef(null)
const [firstMessageReceived, setFirstMessageReceived] = useState(false)
const [isReconnection, setIsReconnection] = useState(false)
const [popupText, setPopupText] = useState(false)
@@ -42,7 +43,13 @@ export default function TerminalView({
}
}
- const [myDivRef] = useHeightObserver(resizeSocket)
+ useEffect(() => {
+ /* requestAnimationFrame: will defer the resizeSocket callback to the next repaint;
+ * sparing us from - ResizeObserver loop completed with undelivered notifications */
+ const observer = new ResizeObserver(() => window.requestAnimationFrame(resizeSocket))
+ observer.observe(termDiv.current)
+ return () => observer.disconnect()
+ }, [])
useEffect(() => {
if (!terminalRef.current) {
@@ -240,7 +247,7 @@ export default function TerminalView({
{renderConnectionStrip()}