From 34627ea2de0d173d9fa4de2d854afedafdadcceb Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Tue, 7 Apr 2026 13:26:29 +0530 Subject: [PATCH] fix: improve error handling and logging in resource creation and SSE worker --- .../ResourceList/CreateResource.tsx | 14 +++++++++++++- src/components/app/grepSSEworker.ts | 2 +- .../NodeDetailTabs/Manifest.component.tsx | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/components/ResourceBrowser/ResourceList/CreateResource.tsx b/src/components/ResourceBrowser/ResourceList/CreateResource.tsx index 7f4d286968..5ba3a1489a 100644 --- a/src/components/ResourceBrowser/ResourceList/CreateResource.tsx +++ b/src/components/ResourceBrowser/ResourceList/CreateResource.tsx @@ -17,6 +17,7 @@ import React, { useEffect, useState } from 'react' import { + API_STATUS_CODES, Button, ButtonStyleType, ButtonVariantType, @@ -27,7 +28,11 @@ import { GenericEmptyState, handleAnalyticsEvent, InfoBlock, + ServerErrors, showError, + TOAST_ACCESS_DENIED, + ToastManager, + ToastVariantType, useRegisterShortcut, } from '@devtron-labs/devtron-fe-common-lib' @@ -89,7 +94,14 @@ export const CreateResource: React.FC = ({ closePopup, clust setNeedsUpdate(true) } } catch (err) { - showError(err) + if ((err as ServerErrors).code === API_STATUS_CODES.PERMISSION_DENIED) { + ToastManager.showToast({ + variant: ToastVariantType.notAuthorized, + description: (err as ServerErrors).errors?.[0]?.userMessage || TOAST_ACCESS_DENIED.SUBTITLE, + }) + } else { + showError(err) + } } finally { setLoader(false) } diff --git a/src/components/app/grepSSEworker.ts b/src/components/app/grepSSEworker.ts index 7fac9c9434..811e651b91 100644 --- a/src/components/app/grepSSEworker.ts +++ b/src/components/app/grepSSEworker.ts @@ -34,7 +34,7 @@ export default () => { eventListener(ev) { let log try { - log = JSON.parse(ev.data).result.content + log = JSON.parse(ev.data).result.content ?? ev.data } catch (e) { log = ev.data } diff --git a/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/Manifest.component.tsx b/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/Manifest.component.tsx index a5016682be..9067309ffc 100644 --- a/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/Manifest.component.tsx +++ b/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/Manifest.component.tsx @@ -462,7 +462,7 @@ const ManifestComponent = ({ if (err.code === 403) { ToastManager.showToast({ variant: ToastVariantType.notAuthorized, - description: TOAST_ACCESS_DENIED.SUBTITLE, + description: (err as ServerErrors).errors?.[0]?.userMessage || TOAST_ACCESS_DENIED.SUBTITLE, }) } else if (err.code === 400 || err.code === 409 || err.code === 422) { const er = err.errors && err.errors[0]