From 6b2b3bad29072ac28234b679bbd26c1cf86a1c75 Mon Sep 17 00:00:00 2001 From: Matt Aitken Date: Fri, 16 Jan 2026 12:19:34 +0000 Subject: [PATCH 1/3] Fix schedule counting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The TaskSchedule is inactive but instance is still active. I’ve verified the query performance on prod. --- apps/webapp/app/v3/services/checkSchedule.server.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/webapp/app/v3/services/checkSchedule.server.ts b/apps/webapp/app/v3/services/checkSchedule.server.ts index 570e6e3bf1..c4bcb710f1 100644 --- a/apps/webapp/app/v3/services/checkSchedule.server.ts +++ b/apps/webapp/app/v3/services/checkSchedule.server.ts @@ -113,12 +113,15 @@ export class CheckScheduleService extends BaseService { return await prisma.taskScheduleInstance.count({ where: { projectId, + active: true, environment: { type: { not: "DEVELOPMENT", }, }, - active: true, + taskSchedule: { + active: true, + }, }, }); } From 73e3d582420b0697925fe0b0ac358c5a2a156716 Mon Sep 17 00:00:00 2001 From: Matt Aitken Date: Fri, 16 Jan 2026 12:19:45 +0000 Subject: [PATCH 2/3] Clarified per project limits --- .../webapp/app/presenters/v3/LimitsPresenter.server.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/webapp/app/presenters/v3/LimitsPresenter.server.ts b/apps/webapp/app/presenters/v3/LimitsPresenter.server.ts index 62f3395b7a..a5ffa3b6ee 100644 --- a/apps/webapp/app/presenters/v3/LimitsPresenter.server.ts +++ b/apps/webapp/app/presenters/v3/LimitsPresenter.server.ts @@ -205,7 +205,7 @@ export class LimitsPresenter extends BasePresenter { schedulesLimit !== null ? { name: "Schedules", - description: "Maximum number of schedules across all projects", + description: "Maximum number of schedules per project", limit: schedulesLimit, currentUsage: scheduleCount, source: "plan", @@ -229,7 +229,7 @@ export class LimitsPresenter extends BasePresenter { alertsLimit !== null ? { name: "Alert channels", - description: "Maximum number of alert channels across all projects", + description: "Maximum number of alert channels per project", limit: alertsLimit, currentUsage: alertChannelCount, source: "plan", @@ -241,7 +241,7 @@ export class LimitsPresenter extends BasePresenter { branchesLimit !== null ? { name: "Preview branches", - description: "Maximum number of active preview branches", + description: "Maximum number of active preview branches per project", limit: branchesLimit, currentUsage: activeBranchCount, source: "plan", @@ -297,8 +297,8 @@ export class LimitsPresenter extends BasePresenter { }, features: { hasStagingEnvironment: { - name: "Staging environment", - description: "Access to staging environment for testing before production", + name: "Staging/Preview environments", + description: "Access to staging/preview environments for testing before production", enabled: hasStagingEnvironment, }, support: { From aea534751819b597f99fba5866ad5182f4eff5f8 Mon Sep 17 00:00:00 2001 From: Matt Aitken Date: Fri, 16 Jan 2026 12:58:47 +0000 Subject: [PATCH 3/3] =?UTF-8?q?We=20shouldn't=20count=20archived=20envs=20?= =?UTF-8?q?(branches)=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/webapp/app/v3/services/checkSchedule.server.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/webapp/app/v3/services/checkSchedule.server.ts b/apps/webapp/app/v3/services/checkSchedule.server.ts index c4bcb710f1..7c85641c40 100644 --- a/apps/webapp/app/v3/services/checkSchedule.server.ts +++ b/apps/webapp/app/v3/services/checkSchedule.server.ts @@ -118,6 +118,7 @@ export class CheckScheduleService extends BaseService { type: { not: "DEVELOPMENT", }, + archivedAt: null, }, taskSchedule: { active: true,