From 6485f37bf29bdd860a1bb52f435ce1755f87b9f9 Mon Sep 17 00:00:00 2001 From: Matt Aitken Date: Thu, 13 Aug 2026 14:53:34 +0100 Subject: [PATCH] fix(webapp): show the dev environment's actual limit in the concurrency page Total column (#4596) ## Summary On the Concurrency page, the dev environment row's Total always showed the plan's included dev concurrency, even when the environment's limit had been raised. The row's own "Extra concurrency" value was already derived from the real limit, so the two columns could disagree with each other. ## Root cause The Total cell renders `planConcurrencyLimit + allocation`, where `allocation` is the state behind the editable prod/staging inputs. Dev environments are deliberately excluded from that allocation map (dev concurrency is not purchasable), so the dev row's allocation always resolved to 0 and the Total fell back to the plan value. The dev row now renders the environment's actual `maximumConcurrencyLimit` instead. --- .server-changes/dev-concurrency-total-display.md | 6 ++++++ .../route.tsx | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .server-changes/dev-concurrency-total-display.md diff --git a/.server-changes/dev-concurrency-total-display.md b/.server-changes/dev-concurrency-total-display.md new file mode 100644 index 000000000..b367dd347 --- /dev/null +++ b/.server-changes/dev-concurrency-total-display.md @@ -0,0 +1,6 @@ +--- +area: webapp +type: fix +--- + +Fix the Concurrency page showing the plan's default concurrency for the dev environment instead of the environment's actual limit. diff --git a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.concurrency/route.tsx b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.concurrency/route.tsx index a5c26c33e..715cb76d3 100644 --- a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.concurrency/route.tsx +++ b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.concurrency/route.tsx @@ -541,7 +541,9 @@ function Upgradable({ - {environment.planConcurrencyLimit + (allocation.get(environment.id) ?? 0)} + {environment.type === "DEVELOPMENT" + ? environment.maximumConcurrencyLimit + : environment.planConcurrencyLimit + (allocation.get(environment.id) ?? 0)} ))}