From 2d26c76ef236cdca364ebf8aa5f933eade847a01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Fri, 18 Apr 2025 15:58:28 +0200 Subject: [PATCH] feat(limits): better limits messages and some more fixes --- .../viewer/resources/UpgradeLimitAlert.vue | 4 ++-- .../modules/core/services/taskScheduler.ts | 6 +++--- packages/server/modules/gatekeeper/index.ts | 2 +- .../shared/src/authz/fragments/workspaces.ts | 18 ++++++++++++++++-- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/packages/frontend-2/components/viewer/resources/UpgradeLimitAlert.vue b/packages/frontend-2/components/viewer/resources/UpgradeLimitAlert.vue index 92bd5bbcb..9914e4ca9 100644 --- a/packages/frontend-2/components/viewer/resources/UpgradeLimitAlert.vue +++ b/packages/frontend-2/components/viewer/resources/UpgradeLimitAlert.vue @@ -23,9 +23,9 @@ const { commentLimitFormatted, versionLimitFormatted } = useWorkspaceLimits( const text = computed(() => { if (props.limitType === 'comment') { - return `Upgrade to view comments older than ${commentLimitFormatted.value}.` + return `Upgrade your plan to view comments older than ${commentLimitFormatted.value}.` } - return `Upgrade to view versions older than ${versionLimitFormatted.value}.` + return `Upgrade your plan to view versions older than ${versionLimitFormatted.value}.` }) const actions = computed((): AlertAction[] => [ diff --git a/packages/server/modules/core/services/taskScheduler.ts b/packages/server/modules/core/services/taskScheduler.ts index 33640cc25..f5010e1a8 100644 --- a/packages/server/modules/core/services/taskScheduler.ts +++ b/packages/server/modules/core/services/taskScheduler.ts @@ -24,19 +24,19 @@ export const scheduledCallbackWrapper = async ( // if couldn't acquire it, stop execution if (!lock) { - boundLogger.warn('Could not acquire task lock for {taskName}, stopping execution.') + boundLogger.info('Could not acquire task lock for {taskName}, stopping execution.') return } try { // else continue executing the callback... - boundLogger.info( + boundLogger.debug( { scheduledTime }, 'Executing scheduled function {taskName} at {scheduledTime}' ) await callback(scheduledTime, { logger: boundLogger }) // update lock as succeeded const finishDate = new Date() - boundLogger.info( + boundLogger.debug( { durationSeconds: (finishDate.getTime() - scheduledTime.getTime()) / 1000 }, 'Finished scheduled function {taskName} execution succeeded in {durationSeconds} seconds' ) diff --git a/packages/server/modules/gatekeeper/index.ts b/packages/server/modules/gatekeeper/index.ts index f7b6e763d..4465d4a43 100644 --- a/packages/server/modules/gatekeeper/index.ts +++ b/packages/server/modules/gatekeeper/index.ts @@ -114,7 +114,7 @@ const scheduleWorkspaceSubscriptionDownscale = ({ const scheduleWorkspacePlanMigrations = (scheduleExecution: ScheduleExecution) => { let isMigrationComplete = false let isMigrationRunning = false - const cronExpression = '*/5 * * * * *' // every 5 seconds + const cronExpression = '*/1 * * * *' // every minute return scheduleExecution( cronExpression, 'WorkspaceNewPlanMigration', diff --git a/packages/shared/src/authz/fragments/workspaces.ts b/packages/shared/src/authz/fragments/workspaces.ts index 9b3cc9b6f..7afcc187d 100644 --- a/packages/shared/src/authz/fragments/workspaces.ts +++ b/packages/shared/src/authz/fragments/workspaces.ts @@ -204,7 +204,13 @@ export const ensureWorkspaceProjectCanBeCreatedFragment: AuthPolicyEnsureFragmen return currentProjectCount < workspaceLimits.projectCount ? ok() - : err(new WorkspaceLimitsReachedError({ payload: { limit: 'projectCount' } })) + : err( + new WorkspaceLimitsReachedError({ + message: + 'You have reached the maximum number of projects for your plan. Upgrade to increase it.', + payload: { limit: 'projectCount' } + }) + ) } /** @@ -263,5 +269,13 @@ export const ensureModelCanBeCreatedFragment: AuthPolicyEnsureFragment< return currentModelCount < workspaceLimits.modelCount ? ok() - : err(new WorkspaceLimitsReachedError({ payload: { limit: 'modelCount' } })) + : err( + new WorkspaceLimitsReachedError({ + message: + 'You have reached the maximum number of models for your plan. Upgrade to increase it.', + payload: { + limit: 'modelCount' + } + }) + ) }