Remove workflow feature flag (#12732)

Removing workflows from the lab
This commit is contained in:
Thomas Trompette
2025-06-19 15:26:00 +02:00
committed by GitHub
parent cbc0d06a2f
commit f9da3735de
25 changed files with 28 additions and 186 deletions

View File

@ -7,19 +7,11 @@ type FeatureFlagMetadata = {
};
export type PublicFeatureFlag = {
key: Extract<FeatureFlagKey, FeatureFlagKey.IS_WORKFLOW_ENABLED>;
key: FeatureFlagKey;
metadata: FeatureFlagMetadata;
};
export const PUBLIC_FEATURE_FLAGS: PublicFeatureFlag[] = [
{
key: FeatureFlagKey.IS_WORKFLOW_ENABLED,
metadata: {
label: 'Workflows',
description: 'Create custom workflows to automate your work.',
imagePath: 'https://twenty.com/images/lab/is-workflow-enabled.png',
},
},
...(process.env.CLOUDFLARE_API_KEY
? [
// {

View File

@ -2,7 +2,6 @@ export enum FeatureFlagKey {
IS_AIRTABLE_INTEGRATION_ENABLED = 'IS_AIRTABLE_INTEGRATION_ENABLED',
IS_POSTGRESQL_INTEGRATION_ENABLED = 'IS_POSTGRESQL_INTEGRATION_ENABLED',
IS_STRIPE_INTEGRATION_ENABLED = 'IS_STRIPE_INTEGRATION_ENABLED',
IS_WORKFLOW_ENABLED = 'IS_WORKFLOW_ENABLED',
IS_UNIQUE_INDEXES_ENABLED = 'IS_UNIQUE_INDEXES_ENABLED',
IS_JSON_FILTER_ENABLED = 'IS_JSON_FILTER_ENABLED',
IS_PERMISSIONS_V2_ENABLED = 'IS_PERMISSIONS_V2_ENABLED',

View File

@ -41,7 +41,7 @@ describe('FeatureFlagService', () => {
};
const workspaceId = 'workspace-id';
const featureFlag = FeatureFlagKey.IS_WORKFLOW_ENABLED;
const featureFlag = FeatureFlagKey.IS_AI_ENABLED;
beforeEach(async () => {
jest.clearAllMocks();
@ -130,12 +130,10 @@ describe('FeatureFlagService', () => {
// Prepare
mockWorkspaceFeatureFlagsMapCacheService.getWorkspaceFeatureFlagsMap.mockResolvedValue(
{
[FeatureFlagKey.IS_WORKFLOW_ENABLED]: true,
[FeatureFlagKey.IS_AI_ENABLED]: false,
},
);
const mockFeatureFlags = [
{ key: FeatureFlagKey.IS_WORKFLOW_ENABLED, value: true },
{ key: FeatureFlagKey.IS_AI_ENABLED, value: false },
];
@ -154,7 +152,6 @@ describe('FeatureFlagService', () => {
it('should return a map of feature flags for a workspace', async () => {
// Prepare
const mockFeatureFlags = [
{ key: FeatureFlagKey.IS_WORKFLOW_ENABLED, value: true, workspaceId },
{ key: FeatureFlagKey.IS_AI_ENABLED, value: false, workspaceId },
];
@ -165,7 +162,6 @@ describe('FeatureFlagService', () => {
// Assert
expect(result).toEqual({
[FeatureFlagKey.IS_WORKFLOW_ENABLED]: true,
[FeatureFlagKey.IS_AI_ENABLED]: false,
});
});
@ -174,10 +170,7 @@ describe('FeatureFlagService', () => {
describe('enableFeatureFlags', () => {
it('should enable multiple feature flags for a workspace', async () => {
// Prepare
const keys = [
FeatureFlagKey.IS_WORKFLOW_ENABLED,
FeatureFlagKey.IS_AI_ENABLED,
];
const keys = [FeatureFlagKey.IS_AI_ENABLED];
mockFeatureFlagRepository.upsert.mockResolvedValue({});

View File

@ -6,7 +6,7 @@ describe('featureFlagValidator', () => {
it('should not throw error if featureFlagKey is valid', () => {
expect(() =>
featureFlagValidator.assertIsFeatureFlagKey(
'IS_WORKFLOW_ENABLED',
'IS_AI_ENABLED',
new CustomException('Error', 'Error'),
),
).not.toThrow();

View File

@ -1,8 +1,8 @@
import { OnModuleDestroy } from '@nestjs/common';
import { JobsOptions, MetricsTime, Queue, QueueOptions, Worker } from 'bullmq';
import { v4 } from 'uuid';
import { isDefined } from 'twenty-shared/utils';
import { v4 } from 'uuid';
import {
QueueCronJobOptions,

View File

@ -1042,7 +1042,7 @@ export class ConfigVariables {
type: ConfigVariableType.NUMBER,
})
@CastToPositiveNumber()
WORKFLOW_EXEC_THROTTLE_LIMIT = 100;
WORKFLOW_EXEC_THROTTLE_LIMIT = 10;
@ConfigVariablesMetadata({
group: ConfigVariablesGroup.RateLimiting,