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;
}