From 4a21ccb14965bbdebbdab64ad3c16d24bfa535dd Mon Sep 17 00:00:00 2001 From: Eric Allam Date: Thu, 26 Mar 2026 07:37:28 +0000 Subject: [PATCH] fix: filter dev environments by userId in OrganizationsPresenter fix: filter dev environments by userId in OrganizationsPresenter --- .server-changes/fix-dev-env-scope-wrong-member.md | 6 ++++++ apps/webapp/app/presenters/OrganizationsPresenter.server.ts | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .server-changes/fix-dev-env-scope-wrong-member.md diff --git a/.server-changes/fix-dev-env-scope-wrong-member.md b/.server-changes/fix-dev-env-scope-wrong-member.md new file mode 100644 index 00000000000..2bd3c92825c --- /dev/null +++ b/.server-changes/fix-dev-env-scope-wrong-member.md @@ -0,0 +1,6 @@ +--- +area: webapp +type: fix +--- + +Fix `OrganizationsPresenter.#getEnvironment` matching the wrong development environment on teams with multiple members. All dev environments share the slug `"dev"`, so the previous `find` by slug alone could return another member's environment. Now filters DEVELOPMENT environments by `orgMember.userId` to ensure the logged-in user's dev environment is selected. diff --git a/apps/webapp/app/presenters/OrganizationsPresenter.server.ts b/apps/webapp/app/presenters/OrganizationsPresenter.server.ts index 52e629ffedb..f99164be5ae 100644 --- a/apps/webapp/app/presenters/OrganizationsPresenter.server.ts +++ b/apps/webapp/app/presenters/OrganizationsPresenter.server.ts @@ -210,7 +210,11 @@ export class OrganizationsPresenter { })[]; }) { if (environmentSlug) { - const env = environments.find((e) => e.slug === environmentSlug); + const env = environments.find( + (e) => + e.slug === environmentSlug && + (e.type !== "DEVELOPMENT" || e.orgMember?.userId === user.id) + ); if (env) { return env; }