From 8eee350c92c70902479eeb4d537fbb72cff5f197 Mon Sep 17 00:00:00 2001 From: Chris Arderne Date: Wed, 19 Aug 2026 17:44:49 +0100 Subject: [PATCH] chore(webapp): scope intentional draft synchronization --- apps/webapp/app/components/billing/BillingLimitRecoveryPanel.tsx | 1 + apps/webapp/app/components/code/TSQLResultsTable.tsx | 1 + apps/webapp/app/components/primitives/DateTime.tsx | 1 + .../route.tsx | 1 + .../route.tsx | 1 + .../route.tsx | 1 + .../routes/_app.orgs.$organizationSlug.settings.team/route.tsx | 1 + 7 files changed, 7 insertions(+) diff --git a/apps/webapp/app/components/billing/BillingLimitRecoveryPanel.tsx b/apps/webapp/app/components/billing/BillingLimitRecoveryPanel.tsx index 1dfcdd73707..f5a83ba7a77 100644 --- a/apps/webapp/app/components/billing/BillingLimitRecoveryPanel.tsx +++ b/apps/webapp/app/components/billing/BillingLimitRecoveryPanel.tsx @@ -63,6 +63,7 @@ export function BillingLimitRecoveryPanel({ const formRef = useRef(null); useEffect(() => { + // oxlint-disable-next-line react/react-compiler -- A refreshed server recommendation intentionally resets this editable amount draft. setNewAmount(String(suggestedNewLimitDollars)); }, [suggestedNewLimitDollars]); diff --git a/apps/webapp/app/components/code/TSQLResultsTable.tsx b/apps/webapp/app/components/code/TSQLResultsTable.tsx index 9ada12b1cbe..e99874d8663 100644 --- a/apps/webapp/app/components/code/TSQLResultsTable.tsx +++ b/apps/webapp/app/components/code/TSQLResultsTable.tsx @@ -224,6 +224,7 @@ const DebouncedInput = forwardRef< const [value, setValue] = useState(initialValue); useEffect(() => { + // oxlint-disable-next-line react/react-compiler -- Programmatic filter changes intentionally reset the debounced input draft. setValue(initialValue); }, [initialValue]); diff --git a/apps/webapp/app/components/primitives/DateTime.tsx b/apps/webapp/app/components/primitives/DateTime.tsx index deac7a96e0c..9eb3c4af8ee 100644 --- a/apps/webapp/app/components/primitives/DateTime.tsx +++ b/apps/webapp/app/components/primitives/DateTime.tsx @@ -372,6 +372,7 @@ export const RelativeDateTime = ({ date, timeZone, capitalize = true }: Relative // On first render useEffect(() => { + // oxlint-disable-next-line react/react-compiler -- A changed date intentionally resets the timer-backed relative text. setRelativeText(getRelativeText(realDate, capitalize)); }, [realDate, capitalize]); diff --git a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.branches/route.tsx b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.branches/route.tsx index fe63e572692..3642e336f7b 100644 --- a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.branches/route.tsx +++ b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.branches/route.tsx @@ -652,6 +652,7 @@ function PurchaseBranchesModal({ const [amountValue, setAmountValue] = useState(extraBranches); useEffect(() => { + // oxlint-disable-next-line react/react-compiler -- The authoritative branch count intentionally resets this modal draft. setAmountValue(extraBranches); }, [extraBranches]); const isLoading = fetcher.state !== "idle"; diff --git a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.dashboards.custom.$dashboardId/route.tsx b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.dashboards.custom.$dashboardId/route.tsx index a4c7c3bee7a..ec248521b5f 100644 --- a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.dashboards.custom.$dashboardId/route.tsx +++ b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.dashboards.custom.$dashboardId/route.tsx @@ -683,6 +683,7 @@ function RenameDashboardDialog({ title }: { title: string }) { // Sync newTitle state when title changes (after successful rename) useEffect(() => { + // oxlint-disable-next-line react/react-compiler -- A completed rename intentionally resets this editable title draft. setNewTitle(title); }, [title]); diff --git a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.deployments.$deploymentParam/route.tsx b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.deployments.$deploymentParam/route.tsx index 163a25deac6..94be5f3b739 100644 --- a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.deployments.$deploymentParam/route.tsx +++ b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.deployments.$deploymentParam/route.tsx @@ -610,6 +610,7 @@ function LogsDisplay({ const logsContainerRef = useRef(null); useEffect(() => { + // oxlint-disable-next-line react/react-compiler -- Deployment status changes intentionally reset the user-controlled collapse state. setCollapsed(initialCollapsed); }, [initialCollapsed]); diff --git a/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.team/route.tsx b/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.team/route.tsx index 7e37e9817c3..893eacec7a0 100644 --- a/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.team/route.tsx +++ b/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.team/route.tsx @@ -970,6 +970,7 @@ export function PurchaseSeatsModal({ const [amountValue, setAmountValue] = useState(extraSeats); useEffect(() => { + // oxlint-disable-next-line react/react-compiler -- The authoritative seat count intentionally resets this modal draft. setAmountValue(extraSeats); }, [extraSeats]); const isLoading = fetcher.state !== "idle";