diff --git a/package.json b/package.json index 81b6033b44..792d00efaf 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.20.6-pre-2", + "@devtron-labs/devtron-fe-common-lib": "1.20.6-pre-3", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/src/components/AppSelector/AppSelector.tsx b/src/components/AppSelector/AppSelector.tsx index 1ad3cf5535..360ae99dcb 100644 --- a/src/components/AppSelector/AppSelector.tsx +++ b/src/components/AppSelector/AppSelector.tsx @@ -89,6 +89,7 @@ const AppSelector = ({ onChange, appId, appName, isJobView }: AppSelectorType) = placeholder={appName} optionListError={error} reloadOptionList={reload} + resource={isJobView ? 'Job' : 'Application'} /> ) } diff --git a/src/components/AppSelector/ChartSelector.tsx b/src/components/AppSelector/ChartSelector.tsx index b5e77889ab..a0d2754573 100644 --- a/src/components/AppSelector/ChartSelector.tsx +++ b/src/components/AppSelector/ChartSelector.tsx @@ -88,6 +88,7 @@ export default function ChartSelector({ {...(filterOption ? { filterOption } : {})} optionListError={error} reloadOptionList={reload} + resource="Chart Store" /> ) } diff --git a/src/components/ApplicationGroup/EnvSelector.tsx b/src/components/ApplicationGroup/EnvSelector.tsx index 3a4360b39a..78c4ff96aa 100644 --- a/src/components/ApplicationGroup/EnvSelector.tsx +++ b/src/components/ApplicationGroup/EnvSelector.tsx @@ -79,6 +79,7 @@ export const EnvSelector = ({ onChange, envId, envName }: EnvSelectorType) => { onInputChange={onInputChange} optionListError={error} reloadOptionList={reload} + resource="Application Group" /> ) } diff --git a/src/components/CIPipelineN/CIPipeline.tsx b/src/components/CIPipelineN/CIPipeline.tsx index 0ca4961410..a9a2a7b6da 100644 --- a/src/components/CIPipelineN/CIPipeline.tsx +++ b/src/components/CIPipelineN/CIPipeline.tsx @@ -913,7 +913,6 @@ export default function CIPipeline({ return ( <> - {renderFloatingVariablesWidget()} {(ciPipelineId || isAdvanced) && (
@@ -939,6 +938,7 @@ export default function CIPipeline({
)} + {renderFloatingVariablesWidget()}
)} ( ) -function ClusterOverview({ selectedCluster, addTab }: ClusterOverviewProps) { +function ClusterOverview({ selectedCluster }: ClusterOverviewProps) { const { clusterId } = useParams() const { isSuperAdmin } = useMainContext() @@ -339,24 +334,11 @@ function ClusterOverview({ selectedCluster, addTab }: ClusterOverviewProps) { ) const handleOpenScanClusterTab = (selectedVersion: string) => { - const upgradeClusterLowerCaseKind = SIDEBAR_KEYS.upgradeClusterGVK.Kind.toLowerCase() - const URL = getUrlWithSearchParams(generatePath(RESOURCE_BROWSER_ROUTES.CLUSTER_UPGRADE, { clusterId }), { [TARGET_K8S_VERSION_SEARCH_KEY]: selectedVersion, }) - addTab({ - idPrefix: UPGRADE_CLUSTER_CONSTANTS.ID_PREFIX, - kind: upgradeClusterLowerCaseKind, - name: UPGRADE_CLUSTER_CONSTANTS.NAME, - url: URL, - dynamicTitle: `${UPGRADE_CLUSTER_CONSTANTS.DYNAMIC_TITLE} to v${selectedVersion}`, - tippyConfig: getUpgradeCompatibilityTippyConfig({ - targetK8sVersion: selectedVersion, - }), - }) - .then(() => history.push(URL)) - .catch(noop) + history.push(URL) } const creationPrefix = clusterConfig ? 'Created' : 'Added' diff --git a/src/components/ClusterNodes/constants.ts b/src/components/ClusterNodes/constants.ts index e643867143..d9f5e12ec6 100644 --- a/src/components/ClusterNodes/constants.ts +++ b/src/components/ClusterNodes/constants.ts @@ -302,6 +302,7 @@ export const manifestCommentsRegex = /^(.*?apiVersion:)/s export const ClusterStatusByFilter: Record = { [ClusterFiltersType.HEALTHY]: ClusterStatusType.HEALTHY, [ClusterFiltersType.UNHEALTHY]: ClusterStatusType.UNHEALTHY, + [ClusterFiltersType.CONNECTION_FAILED]: ClusterStatusType.CONNECTION_FAILED, [ClusterFiltersType.ALL_CLUSTERS]: null, } diff --git a/src/components/ClusterNodes/types.ts b/src/components/ClusterNodes/types.ts index 297c15a030..15bd5237d8 100644 --- a/src/components/ClusterNodes/types.ts +++ b/src/components/ClusterNodes/types.ts @@ -277,7 +277,6 @@ export interface ClusterErrorType { } export interface ClusterOverviewProps { selectedCluster: ClusterOptionType - addTab: UseTabsReturnType['addTab'] } export enum TaintsTableHeaderKeys { diff --git a/src/components/Navigation/constants.ts b/src/components/Navigation/constants.ts index 019c0c7bbe..9afe529e7b 100644 --- a/src/components/Navigation/constants.ts +++ b/src/components/Navigation/constants.ts @@ -264,8 +264,7 @@ export const NAVIGATION_LIST: NavigationGroupType[] = [ dataTestId: 'infrastructure-management-overview', id: 'infrastructure-management-overview', icon: 'ic-speedometer', - href: '/dummy-url', - disabled: true, + href: COMMON_URLS.INFRASTRUCTURE_MANAGEMENT_OVERVIEW, }, { title: 'Resource Browser', diff --git a/src/components/ResourceBrowser/Constants.ts b/src/components/ResourceBrowser/Constants.ts index d3f863bc4c..d0ba845df4 100644 --- a/src/components/ResourceBrowser/Constants.ts +++ b/src/components/ResourceBrowser/Constants.ts @@ -276,8 +276,6 @@ export const CONNECTION_TIMEOUT_TIME = 10000 export const DEFAULT_K8SLIST_PAGE_SIZE = 100 -export const TARGET_K8S_VERSION_SEARCH_KEY = 'targetK8sVersion' - export const NODE_LIST_HEADERS = [ 'name', 'status', diff --git a/src/components/ResourceBrowser/ResourceList/ClusterSelector.tsx b/src/components/ResourceBrowser/ResourceList/ClusterSelector.tsx index 35581eaaee..fef022031d 100644 --- a/src/components/ResourceBrowser/ResourceList/ClusterSelector.tsx +++ b/src/components/ResourceBrowser/ResourceList/ClusterSelector.tsx @@ -164,6 +164,7 @@ const ClusterSelector: React.FC = ({ )} inputValue={inputValue} onInputChange={onInputChange} + resource="Cluster" /> {defaultOption?.isProd && } diff --git a/src/components/ResourceBrowser/ResourceList/ClusterUpgradeCompatibilityInfo.tsx b/src/components/ResourceBrowser/ResourceList/ClusterUpgradeCompatibilityInfo.tsx index 56ed70c697..4c44d83b5e 100644 --- a/src/components/ResourceBrowser/ResourceList/ClusterUpgradeCompatibilityInfo.tsx +++ b/src/components/ResourceBrowser/ResourceList/ClusterUpgradeCompatibilityInfo.tsx @@ -28,6 +28,7 @@ import { PaginationEnum, Progressing, Table, + TARGET_K8S_VERSION_SEARCH_KEY, URL_FILTER_KEYS, URLS, useSearchString, @@ -37,7 +38,6 @@ import emptyCustomChart from '@Images/empty-noresult@2x.png' import { ReactComponent as NoOffendingPipeline } from '@Images/no-offending-pipeline.svg' import { importComponentFromFELibrary } from '@Components/common' -import { TARGET_K8S_VERSION_SEARCH_KEY } from '../Constants' import { ClusterDetailBaseParams } from '../Types' import ClusterUpgradeCompatibilityInfoTableCellComponent from './ClusterUpgradeCompatibilityInfoTableCellComponent' import ClusterUpgradeCompatibilityInfoTableWrapper from './ClusterUpgradeCompatibilityInfoTableWrapper' diff --git a/src/components/ResourceBrowser/ResourceList/DynamicTabComponentWrapper.tsx b/src/components/ResourceBrowser/ResourceList/DynamicTabComponentWrapper.tsx index 8bf438bd61..40e2891297 100644 --- a/src/components/ResourceBrowser/ResourceList/DynamicTabComponentWrapper.tsx +++ b/src/components/ResourceBrowser/ResourceList/DynamicTabComponentWrapper.tsx @@ -17,7 +17,12 @@ import { cloneElement, ReactElement, useEffect } from 'react' import { useLocation, useParams, useRouteMatch } from 'react-router-dom' -import { logExceptionToSentry, noop, RESOURCE_BROWSER_ROUTES } from '@devtron-labs/devtron-fe-common-lib' +import { + logExceptionToSentry, + noop, + RESOURCE_BROWSER_ROUTES, + TARGET_K8S_VERSION_SEARCH_KEY, +} from '@devtron-labs/devtron-fe-common-lib' import { UPGRADE_CLUSTER_CONSTANTS } from '../Constants' import { DynamicTabComponentWrapperProps } from './types' @@ -34,6 +39,7 @@ export const DynamicTabComponentWrapper = ({ const { pathname, search } = useLocation() const { path } = useRouteMatch() const params = useParams>() + const searchParams = new URLSearchParams(search) const tabId = getTabIdForTab(path, getTabId, params) @@ -47,7 +53,8 @@ export const DynamicTabComponentWrapper = ({ .then((found) => { if (!found && addTab) { const [idPrefix, name, kind] = getTabIdParamsForPath(path, params) || [] - const { targetK8sVersion = '' } = params + const targetK8sVersion = searchParams.get(TARGET_K8S_VERSION_SEARCH_KEY) || '' + addTab({ idPrefix, name, diff --git a/src/components/ResourceBrowser/ResourceList/ResourceList.tsx b/src/components/ResourceBrowser/ResourceList/ResourceList.tsx index 1e309cb30f..62cccf6244 100644 --- a/src/components/ResourceBrowser/ResourceList/ResourceList.tsx +++ b/src/components/ResourceBrowser/ResourceList/ResourceList.tsx @@ -221,7 +221,7 @@ const ResourceList = ({ selectedCluster, k8SObjectMapRaw }: ResourceListProps) = /> - + {MonitoringDashboard && ( diff --git a/src/components/ResourceBrowser/ResourceList/utils.tsx b/src/components/ResourceBrowser/ResourceList/utils.tsx index 7e6261014b..516c72f39f 100644 --- a/src/components/ResourceBrowser/ResourceList/utils.tsx +++ b/src/components/ResourceBrowser/ResourceList/utils.tsx @@ -26,6 +26,7 @@ import { RecentlyVisitedOptions, RESOURCE_BROWSER_ROUTES, stringComparatorBySortOrder, + TARGET_K8S_VERSION_SEARCH_KEY, TreeHeading, TreeItem, TreeNode, @@ -46,7 +47,6 @@ import { NODE_SEARCH_KEYS_TO_OBJECT_KEYS, ResourceBrowserRouteToTabIdMap, SIDEBAR_KEYS, - TARGET_K8S_VERSION_SEARCH_KEY, UPGRADE_CLUSTER_CONSTANTS, } from '../Constants' import { diff --git a/src/components/app/details/appDetails/DeployedCommitCard.tsx b/src/components/app/details/appDetails/DeployedCommitCard.tsx index ee1e36e7a1..d535258cfe 100644 --- a/src/components/app/details/appDetails/DeployedCommitCard.tsx +++ b/src/components/app/details/appDetails/DeployedCommitCard.tsx @@ -40,7 +40,7 @@ const DeployedCommitCard = ({ cardLoading, showCommitInfoDrawer, envId, ciArtifa return } - if (materials.length === 0 || !materials[0].history[0]?.commit?.slice(0, 7)) { + if (!materials?.length || !materials[0].history[0]?.commit?.slice(0, 7)) { return null } diff --git a/src/components/cdPipeline/CDPipeline.tsx b/src/components/cdPipeline/CDPipeline.tsx index f87eff8c11..f3e4dd036a 100644 --- a/src/components/cdPipeline/CDPipeline.tsx +++ b/src/components/cdPipeline/CDPipeline.tsx @@ -730,7 +730,10 @@ export default function CDPipeline({ environmentId: formData.environmentId, namespace: formData.namespace, id: +cdPipelineId, - strategies: formData.releaseMode === ReleaseMode.MIGRATE_EXTERNAL_APPS && formData.isCustomChart ? [] : formData.savedStrategies, + strategies: + formData.releaseMode === ReleaseMode.MIGRATE_EXTERNAL_APPS && formData.isCustomChart + ? [] + : formData.savedStrategies, parentPipelineType, parentPipelineId: +parentPipelineId, isClusterCdActive: formData.isClusterCdActive, @@ -1504,6 +1507,7 @@ export default function CDPipeline({ envId={formData.environmentId} /> )} + {(cdPipelineId || isAdvanced) && renderFloatingVariablesWidget()} ) } @@ -1533,13 +1537,9 @@ export default function CDPipeline({ } return cdPipelineId || isAdvanced ? ( - <> - {renderFloatingVariablesWidget()} - - - {renderCDPipelineModal()} - - + + {renderCDPipelineModal()} + ) : ( {renderCDPipelineModal()} ) diff --git a/src/components/common/navigation/NavigationRoutes.tsx b/src/components/common/navigation/NavigationRoutes.tsx index 96cc03780b..1699fadbb3 100644 --- a/src/components/common/navigation/NavigationRoutes.tsx +++ b/src/components/common/navigation/NavigationRoutes.tsx @@ -682,6 +682,7 @@ const NavigationRoutes = ({ reloadVersionConfig }: Readonly diff --git a/src/components/v2/appDetails/k8Resource/nodeType/Node.component.tsx b/src/components/v2/appDetails/k8Resource/nodeType/Node.component.tsx index 693ec2b699..55e7a902c0 100644 --- a/src/components/v2/appDetails/k8Resource/nodeType/Node.component.tsx +++ b/src/components/v2/appDetails/k8Resource/nodeType/Node.component.tsx @@ -159,7 +159,7 @@ const NodeComponent = ({ let _healthyNodeCount = 0 _selectedNodes.forEach((node: Node) => { - if (node.health?.status.toLowerCase() === 'healthy') { + if (node.health?.status?.toLowerCase() === 'healthy') { _healthyNodeCount += 1 } }) diff --git a/yarn.lock b/yarn.lock index c33948422d..63057796bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1722,9 +1722,9 @@ __metadata: languageName: node linkType: hard -"@devtron-labs/devtron-fe-common-lib@npm:1.20.6-pre-2": - version: 1.20.6-pre-2 - resolution: "@devtron-labs/devtron-fe-common-lib@npm:1.20.6-pre-2" +"@devtron-labs/devtron-fe-common-lib@npm:1.20.6-pre-3": + version: 1.20.6-pre-3 + resolution: "@devtron-labs/devtron-fe-common-lib@npm:1.20.6-pre-3" dependencies: "@codemirror/autocomplete": "npm:6.18.6" "@codemirror/lang-json": "npm:6.0.1" @@ -1776,7 +1776,7 @@ __metadata: react-select: 5.8.0 rxjs: ^7.8.1 yaml: ^2.4.1 - checksum: 10c0/da4d670d335bbb3f818b7b59ea4ae13dad3ac992b77319f728e7b54b29976556ff754cd8bfdd35916b2e1e2c7b62745b3f730d5338e26317e3078f01d2a7c180 + checksum: 10c0/941a704a582adc63f39c3093b1adfbab8768e4bc1594a0320cdca016f6dd58e850f683f65438980770cd267e7eae93a0b030ccee76ba5e0bcfc4c1c35b77d815 languageName: node linkType: hard @@ -5581,7 +5581,7 @@ __metadata: version: 0.0.0-use.local resolution: "dashboard@workspace:." dependencies: - "@devtron-labs/devtron-fe-common-lib": "npm:1.20.6-pre-2" + "@devtron-labs/devtron-fe-common-lib": "npm:1.20.6-pre-3" "@esbuild-plugins/node-globals-polyfill": "npm:0.2.3" "@playwright/test": "npm:^1.32.1" "@rjsf/core": "npm:^5.13.3"