From 0c643e91a6c39a50219ed63310a30ba6fa5dddc7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 16:52:05 +0000 Subject: [PATCH 1/3] Initial plan From 1b183d32c0bd2875a7d17274a77a09e9c42e3589 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 16:54:58 +0000 Subject: [PATCH 2/3] Hide alerting features when disable_enterprise_features is set Agent-Logs-Url: https://github.com/fosrl/pangolin/sessions/4337e8e4-2110-45ae-bbf9-63f273d2a9a3 Co-authored-by: oschwartz10612 <4999704+oschwartz10612@users.noreply.github.com> --- .../[orgId]/settings/alerting/create/page.tsx | 16 +++++++++++++++- src/app/navigation.tsx | 14 +++++++++----- src/components/AlertingRulesTable.tsx | 16 ++++++++++++---- 3 files changed, 36 insertions(+), 10 deletions(-) diff --git a/src/app/[orgId]/settings/alerting/create/page.tsx b/src/app/[orgId]/settings/alerting/create/page.tsx index 9f3f20611..e6bd0ff13 100644 --- a/src/app/[orgId]/settings/alerting/create/page.tsx +++ b/src/app/[orgId]/settings/alerting/create/page.tsx @@ -3,10 +3,12 @@ import AlertRuleGraphEditor from "@app/components/alert-rule-editor/AlertRuleGraphEditor"; import HeaderTitle from "@app/components/SettingsSectionTitle"; import { defaultFormValues } from "@app/lib/alertRuleForm"; +import { useEnvContext } from "@app/hooks/useEnvContext"; import { usePaidStatus } from "@app/hooks/usePaidStatus"; import { tierMatrix } from "@server/lib/billing/tierMatrix"; -import { useParams } from "next/navigation"; +import { useParams, useRouter } from "next/navigation"; import { useTranslations } from "next-intl"; +import { useEffect } from "react"; export default function NewAlertRulePage() { const params = useParams(); @@ -14,6 +16,18 @@ export default function NewAlertRulePage() { const t = useTranslations(); const { isPaidUser } = usePaidStatus(); const isPaid = isPaidUser(tierMatrix.alertingRules); + const { env } = useEnvContext(); + const router = useRouter(); + + useEffect(() => { + if (env.flags.disableEnterpriseFeatures) { + router.replace(`/${orgId}/settings/alerting/rules`); + } + }, [env.flags.disableEnterpriseFeatures, orgId, router]); + + if (env.flags.disableEnterpriseFeatures) { + return null; + } return ( <> diff --git a/src/app/navigation.tsx b/src/app/navigation.tsx index 24dc02a19..1989161a9 100644 --- a/src/app/navigation.tsx +++ b/src/app/navigation.tsx @@ -212,11 +212,15 @@ export const orgNavSections = ( title: "sidebarManagement", icon: , items: [ - { - title: "sidebarAlerting", - href: "/{orgId}/settings/alerting", - icon: - }, + ...(!env?.flags.disableEnterpriseFeatures + ? [ + { + title: "sidebarAlerting", + href: "/{orgId}/settings/alerting", + icon: + } + ] + : []), { title: "sidebarProvisioning", href: "/{orgId}/settings/provisioning", diff --git a/src/components/AlertingRulesTable.tsx b/src/components/AlertingRulesTable.tsx index f8fcf468d..ae0d564e8 100644 --- a/src/components/AlertingRulesTable.tsx +++ b/src/components/AlertingRulesTable.tsx @@ -134,7 +134,9 @@ export default function AlertingRulesTable({ }: AlertingRulesTableProps) { const router = useRouter(); const t = useTranslations(); - const api = createApiClient(useEnvContext()); + const envContext = useEnvContext(); + const api = createApiClient(envContext); + const { env } = envContext; const [isRefreshing, startRefresh] = useTransition(); const { isPaidUser } = usePaidStatus(); const isPaid = isPaidUser(tierMatrix.alertingRules); @@ -426,9 +428,15 @@ export default function AlertingRulesTable({ searchQuery={query} manualFiltering manualSorting - onAdd={() => { - router.push(`/${orgId}/settings/alerting/create`); - }} + onAdd={ + !env.flags.disableEnterpriseFeatures + ? () => { + router.push( + `/${orgId}/settings/alerting/create` + ); + } + : undefined + } onRefresh={refreshList} isRefreshing={isRefreshing || isFiltering} addButtonText={t("alertingAddRule")} From 3ac315b52ed7ced3841c23095e21a46d5cfffb48 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 16:55:38 +0000 Subject: [PATCH 3/3] Fix useEffect dependency array in create alert page Agent-Logs-Url: https://github.com/fosrl/pangolin/sessions/4337e8e4-2110-45ae-bbf9-63f273d2a9a3 Co-authored-by: oschwartz10612 <4999704+oschwartz10612@users.noreply.github.com> --- src/app/[orgId]/settings/alerting/create/page.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/app/[orgId]/settings/alerting/create/page.tsx b/src/app/[orgId]/settings/alerting/create/page.tsx index e6bd0ff13..f431e9f68 100644 --- a/src/app/[orgId]/settings/alerting/create/page.tsx +++ b/src/app/[orgId]/settings/alerting/create/page.tsx @@ -18,14 +18,15 @@ export default function NewAlertRulePage() { const isPaid = isPaidUser(tierMatrix.alertingRules); const { env } = useEnvContext(); const router = useRouter(); + const disableEnterpriseFeatures = env.flags.disableEnterpriseFeatures; useEffect(() => { - if (env.flags.disableEnterpriseFeatures) { + if (disableEnterpriseFeatures) { router.replace(`/${orgId}/settings/alerting/rules`); } - }, [env.flags.disableEnterpriseFeatures, orgId, router]); + }, [disableEnterpriseFeatures, orgId, router]); - if (env.flags.disableEnterpriseFeatures) { + if (disableEnterpriseFeatures) { return null; }