From 68d686de18fbb2d788e7171dd0c8450c33fdcda4 Mon Sep 17 00:00:00 2001 From: James Ritchie Date: Thu, 19 Feb 2026 08:21:35 +0000 Subject: [PATCH 1/4] Show a v3 deprecation notice in the side bar --- .../app/components/navigation/SideMenu.tsx | 82 ++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/apps/webapp/app/components/navigation/SideMenu.tsx b/apps/webapp/app/components/navigation/SideMenu.tsx index adedf7b589..3f165f04e2 100644 --- a/apps/webapp/app/components/navigation/SideMenu.tsx +++ b/apps/webapp/app/components/navigation/SideMenu.tsx @@ -45,7 +45,8 @@ import { useHasAdminAccess } from "~/hooks/useUser"; import { type UserWithDashboardPreferences } from "~/models/user.server"; import { useCurrentPlan } from "~/routes/_app.orgs.$organizationSlug/route"; import { type FeedbackType } from "~/routes/resources.feedback"; -import { IncidentStatusPanel } from "~/routes/resources.incidents"; +import { ExclamationTriangleIcon } from "@heroicons/react/24/outline"; +import { IncidentStatusPanel, useIncidentStatus } from "~/routes/resources.incidents"; import { cn } from "~/utils/cn"; import { accountPath, @@ -599,6 +600,7 @@ export function SideMenu({
+ +
+ + + + + + + + + } + content="V3 deprecation warning" + side="right" + sideOffset={8} + disableHoverableContent + asChild + /> + +
+ + + + + ); +} + +function V3DeprecationContent() { + return ( +
+
+ + + V3 deprecation warning + +
+ + This is a v3 project. V3 deploys will stop working on 1 April 2026. Full shutdown is 1 July + 2026 where all v3 runs will stop executing. Migrate to v4 to avoid downtime. + + + Migrate to v4 now + +
+ ); +} + function ProjectSelector({ project, organization, From e47ad43732cbb1057cfbed6599ea3e416166ad40 Mon Sep 17 00:00:00 2001 From: James Ritchie Date: Thu, 19 Feb 2026 08:46:07 +0000 Subject: [PATCH 2/4] Small coderabbit nitpic improvements --- .../app/components/navigation/SideMenu.tsx | 29 +++++++++++++++---- .../webapp/app/routes/resources.incidents.tsx | 14 +++++++-- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/apps/webapp/app/components/navigation/SideMenu.tsx b/apps/webapp/app/components/navigation/SideMenu.tsx index 3f165f04e2..b75a5a854b 100644 --- a/apps/webapp/app/components/navigation/SideMenu.tsx +++ b/apps/webapp/app/components/navigation/SideMenu.tsx @@ -9,6 +9,7 @@ import { ClockIcon, Cog8ToothIcon, CogIcon, + ExclamationTriangleIcon, FolderIcon, FolderOpenIcon, GlobeAmericasIcon, @@ -45,7 +46,6 @@ import { useHasAdminAccess } from "~/hooks/useUser"; import { type UserWithDashboardPreferences } from "~/models/user.server"; import { useCurrentPlan } from "~/routes/_app.orgs.$organizationSlug/route"; import { type FeedbackType } from "~/routes/resources.feedback"; -import { ExclamationTriangleIcon } from "@heroicons/react/24/outline"; import { IncidentStatusPanel, useIncidentStatus } from "~/routes/resources.incidents"; import { cn } from "~/utils/cn"; import { @@ -165,6 +165,8 @@ export function SideMenu({ const isAdmin = useHasAdminAccess(); const { isManagedCloud } = useFeatures(); const featureFlags = useFeatureFlags(); + const incidentStatus = useIncidentStatus(); + const isV3Project = project.engine === "V1"; const persistSideMenuPreferences = useCallback( (data: { @@ -599,8 +601,17 @@ export function SideMenu({
- - + + Date: Thu, 19 Feb 2026 10:44:45 +0000 Subject: [PATCH 3/4] =?UTF-8?q?Changes=20the=20button=20copy=20to=20?= =?UTF-8?q?=E2=80=9CView=20migration=20guide=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/webapp/app/components/navigation/SideMenu.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/webapp/app/components/navigation/SideMenu.tsx b/apps/webapp/app/components/navigation/SideMenu.tsx index b75a5a854b..6bdb7c4a04 100644 --- a/apps/webapp/app/components/navigation/SideMenu.tsx +++ b/apps/webapp/app/components/navigation/SideMenu.tsx @@ -2,6 +2,7 @@ import { AdjustmentsHorizontalIcon, ArrowPathRoundedSquareIcon, ArrowRightOnRectangleIcon, + ArrowTopRightOnSquareIcon, BeakerIcon, BellAlertIcon, ChartBarIcon, @@ -712,9 +713,11 @@ function V3DeprecationContent() { to="https://trigger.dev/docs/migrating-from-v3" target="_blank" fullWidth + TrailingIcon={ArrowTopRightOnSquareIcon} + trailingIconClassName="text-amber-300" className="border-amber-500/30 bg-amber-500/15 hover:!border-amber-500/50 hover:!bg-amber-500/25" > - Migrate to v4 now + View migration guide
); From 462bce660d01066b805c598f4c88fd3c9bf9f2b5 Mon Sep 17 00:00:00 2001 From: James Ritchie Date: Thu, 19 Feb 2026 10:51:06 +0000 Subject: [PATCH 4/4] =?UTF-8?q?Don=E2=80=99t=20display=20v3=20deprecation?= =?UTF-8?q?=20message=20if=20you=E2=80=99re=20self-hosting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/webapp/app/components/navigation/SideMenu.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/webapp/app/components/navigation/SideMenu.tsx b/apps/webapp/app/components/navigation/SideMenu.tsx index 6bdb7c4a04..db86425b67 100644 --- a/apps/webapp/app/components/navigation/SideMenu.tsx +++ b/apps/webapp/app/components/navigation/SideMenu.tsx @@ -612,6 +612,7 @@ export function SideMenu({ isCollapsed={isCollapsed} isV3={isV3Project} hasIncident={incidentStatus.hasIncident} + isManagedCloud={incidentStatus.isManagedCloud} />