Skip to content

Rename serverlessFunction to logicFunction#17494

Merged
charlesBochet merged 11 commits intomainfrom
logic-functions
Jan 28, 2026
Merged

Rename serverlessFunction to logicFunction#17494
charlesBochet merged 11 commits intomainfrom
logic-functions

Conversation

@charlesBochet
Copy link
Copy Markdown
Member

@charlesBochet charlesBochet commented Jan 27, 2026

Summary

Rename "Serverless Function" to "Logic Function" across the codebase for clearer naming.

Environment Variable Changes

Old New
SERVERLESS_TYPE LOGIC_FUNCTION_TYPE
SERVERLESS_LAMBDA_REGION LOGIC_FUNCTION_LAMBDA_REGION
SERVERLESS_LAMBDA_ROLE LOGIC_FUNCTION_LAMBDA_ROLE
SERVERLESS_LAMBDA_SUBHOSTING_URL LOGIC_FUNCTION_LAMBDA_SUBHOSTING_URL
SERVERLESS_LAMBDA_ACCESS_KEY_ID LOGIC_FUNCTION_LAMBDA_ACCESS_KEY_ID
SERVERLESS_LAMBDA_SECRET_ACCESS_KEY LOGIC_FUNCTION_LAMBDA_SECRET_ACCESS_KEY

Breaking Changes

  • Environment variables must be updated in production deployments
  • Database migration renames serverlessFunctionlogicFunction tables

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 11 files

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Jan 27, 2026

Greptile Overview

Greptile Summary

This PR completes the cleanup after PR #17488, which merged the separate trigger entities (CronTriggerEntity, DatabaseEventTriggerEntity, RouteTriggerEntity) into ServerlessFunctionEntity. The changes systematically remove all metadata references to the obsolete trigger types.

Key Changes

  • Removed cronTrigger, databaseEventTrigger, and routeTrigger from metadata name constants across the codebase
  • Cleaned up metadata configuration constants (entity mappings, property comparisons, relations, validation requirements)
  • Removed cache keys for obsolete trigger types (flatCronTriggerMaps, flatDatabaseEventTriggerMaps, flatRouteTriggerMaps)
  • Removed migration orchestrator action handling for trigger types
  • Updated test snapshots to reflect the removal

Note

The PR title "Rename serverlessFunction to logicFunction" does not accurately describe the changes. The actual work removes references to obsolete trigger types as a follow-up to the trigger consolidation in PR #17488. No renaming of serverlessFunction to logicFunction occurs in this PR.

Confidence Score: 5/5

  • This PR is safe to merge - it's a straightforward cleanup removing obsolete metadata references
  • All changes are deletions of obsolete code references following the trigger consolidation in PR Migrate cron, databaseEventTrigger, httpRoute triggers to serverless functions #17488. The changes are systematic, consistent across all metadata configuration files, and include corresponding test snapshot updates. No logic changes or new code introduced.
  • No files require special attention - all changes are consistent cleanup operations

Important Files Changed

Filename Overview
packages/twenty-server/src/engine/metadata-modules/flat-entity/constant/all-metadata-entity-by-metadata-name.constant.ts Removed entity mappings for obsolete trigger types (cronTrigger, databaseEventTrigger, routeTrigger)
packages/twenty-server/src/engine/workspace-cache/types/workspace-cache-key.type.ts Removed cache keys for obsolete trigger types (flatCronTriggerMaps, flatDatabaseEventTriggerMaps, flatRouteTriggerMaps)
packages/twenty-server/src/engine/workspace-manager/workspace-migration/services/workspace-migration-build-orchestrator.service.ts Removed orchestrator action handling for obsolete trigger types (create/update/delete operations)
packages/twenty-shared/src/metadata/all-metadata-name.constant.ts Removed cronTrigger, databaseEventTrigger, and routeTrigger from shared metadata names constant

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant PR as PR #17488
    participant Meta as Metadata System
    participant Cache as Workspace Cache
    participant Orch as Migration Orchestrator
    
    Note over Dev,Orch: Previous PR #17488: Merged triggers into ServerlessFunction
    PR->>Meta: Add trigger settings to ServerlessFunctionEntity
    PR->>Meta: Remove CronTriggerEntity, DatabaseEventTriggerEntity, RouteTriggerEntity
    
    Note over Dev,Orch: Current PR #17494: Cleanup metadata references
    Dev->>Meta: Remove cronTrigger from ALL_METADATA_NAME
    Dev->>Meta: Remove databaseEventTrigger from ALL_METADATA_NAME
    Dev->>Meta: Remove routeTrigger from ALL_METADATA_NAME
    
    Meta->>Meta: Remove trigger types from all-flat-entity-properties-to-compare-and-stringify.constant.ts
    Meta->>Meta: Remove trigger types from all-metadata-entity-by-metadata-name.constant.ts
    Meta->>Meta: Remove trigger types from all-metadata-relations.constant.ts
    Meta->>Meta: Remove trigger types from all-metadata-required-metadata-for-validation.constant.ts
    Meta->>Meta: Remove trigger types from all-flat-entity-types-by-metadata-name.ts
    
    Cache->>Cache: Remove flatCronTriggerMaps cache key
    Cache->>Cache: Remove flatDatabaseEventTriggerMaps cache key
    Cache->>Cache: Remove flatRouteTriggerMaps cache key
    
    Orch->>Orch: Remove cronTrigger actions (create/update/delete)
    Orch->>Orch: Remove databaseEventTrigger actions (create/update/delete)
    Orch->>Orch: Remove routeTrigger actions (create/update/delete)
    
    Note over Meta: Test snapshots updated to reflect removal
Loading

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jan 27, 2026

🚀 Preview Environment Ready!

Your preview environment is available at: http://bore.pub:4793

This environment will automatically shut down when the PR is closed or after 5 hours.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 78 files (changes from recent commits).

Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed.

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/twenty-server/src/engine/metadata-modules/logic-function/logic-function.resolver.ts">

<violation number="1" location="packages/twenty-server/src/engine/metadata-modules/logic-function/logic-function.resolver.ts:240">
P1: Subscription payload key mismatch: resolver expects logicFunctionLogs but publisher still sends serverlessFunctionLogs, so logic function log events will be filtered out and never delivered.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.


@Subscription(() => LogicFunctionLogsDTO, {
filter: (
payload: { logicFunctionLogs: LogicFunctionLogsDTO },
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Jan 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Subscription payload key mismatch: resolver expects logicFunctionLogs but publisher still sends serverlessFunctionLogs, so logic function log events will be filtered out and never delivered.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-server/src/engine/metadata-modules/logic-function/logic-function.resolver.ts, line 240:

<comment>Subscription payload key mismatch: resolver expects logicFunctionLogs but publisher still sends serverlessFunctionLogs, so logic function log events will be filtered out and never delivered.</comment>

<file context>
@@ -237,17 +237,17 @@ export class LogicFunctionResolver {
   @Subscription(() => LogicFunctionLogsDTO, {
     filter: (
-      payload: { serverlessFunctionLogs: LogicFunctionLogsDTO },
+      payload: { logicFunctionLogs: LogicFunctionLogsDTO },
       variables: { input: LogicFunctionLogsInput },
     ) => {
</file context>
Fix with Cubic

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 23 files (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/twenty-front/src/modules/settings/serverless-functions/components/tabs/SettingsServerlessFunctionTestTab.tsx">

<violation number="1" location="packages/twenty-front/src/modules/settings/serverless-functions/components/tabs/SettingsServerlessFunctionTestTab.tsx:42">
P2: Parsing editor input with `JSON.parse` on every change can throw on partial/invalid JSON and crash the test tab. Guard the parse and keep the previous input when parsing fails.</violation>
</file>

<file name="packages/twenty-front/src/modules/settings/serverless-functions/hooks/useGetOneServerlessFunction.ts">

<violation number="1" location="packages/twenty-front/src/modules/settings/serverless-functions/hooks/useGetOneServerlessFunction.ts:10">
P2: Renaming the hook export to `useGetOneLogicFunction` without updating existing mocks/imports (e.g., useServerlessFunctionUpdateFormState.test.ts still mocks `useGetOneServerlessFunction`) will cause module export/mocking failures. Update the consumers to the new export name or provide a backward-compatible export alias.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment on lines +42 to 45
setLogicFunctionTestData((prev) => ({
...prev,
input: JSON.parse(newInput),
}));
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Jan 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Parsing editor input with JSON.parse on every change can throw on partial/invalid JSON and crash the test tab. Guard the parse and keep the previous input when parsing fails.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/modules/settings/serverless-functions/components/tabs/SettingsServerlessFunctionTestTab.tsx, line 42:

<comment>Parsing editor input with `JSON.parse` on every change can throw on partial/invalid JSON and crash the test tab. Guard the parse and keep the previous input when parsing fails.</comment>

<file context>
@@ -20,27 +23,29 @@ const StyledCodeEditorContainer = styled.div`
 
   const onChange = (newInput: string) => {
-    setServerlessFunctionTestData((prev) => ({
+    setLogicFunctionTestData((prev) => ({
       ...prev,
       input: JSON.parse(newInput),
</file context>
Suggested change
setLogicFunctionTestData((prev) => ({
...prev,
input: JSON.parse(newInput),
}));
setLogicFunctionTestData((prev) => {
try {
return {
...prev,
input: JSON.parse(newInput),
};
} catch {
return prev;
}
});
Fix with Cubic

} from '~/generated-metadata/graphql';

export const useGetOneServerlessFunction = ({
export const useGetOneLogicFunction = ({
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Jan 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Renaming the hook export to useGetOneLogicFunction without updating existing mocks/imports (e.g., useServerlessFunctionUpdateFormState.test.ts still mocks useGetOneServerlessFunction) will cause module export/mocking failures. Update the consumers to the new export name or provide a backward-compatible export alias.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/modules/settings/serverless-functions/hooks/useGetOneServerlessFunction.ts, line 10:

<comment>Renaming the hook export to `useGetOneLogicFunction` without updating existing mocks/imports (e.g., useServerlessFunctionUpdateFormState.test.ts still mocks `useGetOneServerlessFunction`) will cause module export/mocking failures. Update the consumers to the new export name or provide a backward-compatible export alias.</comment>

<file context>
@@ -7,7 +7,7 @@ import {
 } from '~/generated-metadata/graphql';
 
-export const useGetOneServerlessFunction = ({
+export const useGetOneLogicFunction = ({
   id,
   onCompleted,
</file context>
Fix with Cubic

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 87 files (changes from recent commits).

Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed.

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts">

<violation number="1" location="packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts:467">
P2: `LOGIC_FUNCTION_LOGS_ENABLED` is only typed as `false` and never initialized, so it defaults to `undefined` at runtime instead of `false`. Set a default value the same way other boolean config fields do.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

})
@IsOptional()
SERVERLESS_LOGS_ENABLED: false;
LOGIC_FUNCTION_LOGS_ENABLED: false;
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Jan 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: LOGIC_FUNCTION_LOGS_ENABLED is only typed as false and never initialized, so it defaults to undefined at runtime instead of false. Set a default value the same way other boolean config fields do.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts, line 467:

<comment>`LOGIC_FUNCTION_LOGS_ENABLED` is only typed as `false` and never initialized, so it defaults to `undefined` at runtime instead of `false`. Set a default value the same way other boolean config fields do.</comment>

<file context>
@@ -446,27 +446,28 @@ export class ConfigVariables {
   })
   @IsOptional()
-  SERVERLESS_LOGS_ENABLED: false;
+  LOGIC_FUNCTION_LOGS_ENABLED: false;
 
   @ConfigVariablesMetadata({
</file context>
Suggested change
LOGIC_FUNCTION_LOGS_ENABLED: false;
LOGIC_FUNCTION_LOGS_ENABLED = false;
Fix with Cubic

…ogic-function-executor

- Rename serverless-functions module to logic-functions across frontend
- Rename function-executor core module to logic-function-executor in server
- Update all related types, services, and imports
- Update documentation references
# Conflicts:
#	packages/twenty-docs/developers/extend/capabilities/apps.mdx
#	packages/twenty-sdk/README.md
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/af-ZA.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/ar-SA.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/ca-ES.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/cs-CZ.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/da-DK.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/de-DE.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/el-GR.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/en.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/es-ES.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/fi-FI.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/fr-FR.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/he-IL.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/hu-HU.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/it-IT.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/ja-JP.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/ko-KR.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/nl-NL.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/no-NO.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/pl-PL.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/pt-BR.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/pt-PT.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/ro-RO.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/ru-RU.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/sr-Cyrl.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/sv-SE.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/tr-TR.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/uk-UA.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/vi-VN.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/zh-CN.ts
#	packages/twenty-server/src/engine/core-modules/i18n/locales/generated/zh-TW.ts
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 16 files (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/twenty-sdk/src/cli/__tests__/e2e/constants/testConfig.ts">

<violation number="1" location="packages/twenty-sdk/src/cli/__tests__/e2e/constants/testConfig.ts:6">
P2: Avoid committing API keys/tokens in source. Even in test configs, hardcoded credentials can leak; load from an environment variable or test secret fixture instead.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

apiUrl: 'http://localhost:3000',
apiKey:
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC1lNmI1LTQ2ODAtOGEzMi1iODIwOTczNzE1NmIiLCJ1c2VySWQiOiIyMDIwMjAyMC1lNmI1LTQ2ODAtOGEzMi1iODIwOTczNzE1NmIiLCJ3b3Jrc3BhY2VJZCI6IjIwMjAyMDIwLTFjMjUtNGQwMi1iZjI1LTZhZWNjZjdlYTQxOSIsIndvcmtzcGFjZU1lbWJlcklkIjoiMjAyMDIwMjAtNDYzZi00MzViLTgyOGMtMTA3ZTAwN2EyNzExIiwidXNlcldvcmtzcGFjZUlkIjoiMjAyMDIwMjAtMWU3Yy00M2Q5LWE1ZGItNjg1YjUwNjlkODE2IiwidHlwZSI6IkFDQ0VTUyIsImF1dGhQcm92aWRlciI6InBhc3N3b3JkIiwiaWF0IjoxNzUxMjgxNzA0LCJleHAiOjIwNjY4NTc3MDR9.HMGqCsVlOAPVUBhKSGlD1X86VoHKt4LIUtET3CGIdik',
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC0xYzI1LTRkMDItYmYyNS02YWVjY2Y3ZWE0MTkiLCJ0eXBlIjoiQVBJX0tFWSIsIndvcmtzcGFjZUlkIjoiMjAyMDIwMjAtMWMyNS00ZDAyLWJmMjUtNmFlY2NmN2VhNDE5IiwiaWF0IjoxNzY5NTU4MjgyLCJleHAiOjQ5MjMxNTgyODEsImp0aSI6ImE4YWE4MjMwLWI3ZjYtNDM0OC1hM2VhLWVkNjBlN2VhNTgwOCJ9.5cjOZIHI67rJUACRap75qDWdx02OEo3xUXIn-I_46bk',
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Avoid committing API keys/tokens in source. Even in test configs, hardcoded credentials can leak; load from an environment variable or test secret fixture instead.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-sdk/src/cli/__tests__/e2e/constants/testConfig.ts, line 6:

<comment>Avoid committing API keys/tokens in source. Even in test configs, hardcoded credentials can leak; load from an environment variable or test secret fixture instead.</comment>

<file context>
@@ -3,5 +3,5 @@ import { type TwentyConfig } from '@/cli/utilities/config/config-service';
   apiUrl: 'http://localhost:3000',
   apiKey:
-    'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC1lNmI1LTQ2ODAtOGEzMi1iODIwOTczNzE1NmIiLCJ1c2VySWQiOiIyMDIwMjAyMC1lNmI1LTQ2ODAtOGEzMi1iODIwOTczNzE1NmIiLCJ3b3Jrc3BhY2VJZCI6IjIwMjAyMDIwLTFjMjUtNGQwMi1iZjI1LTZhZWNjZjdlYTQxOSIsIndvcmtzcGFjZU1lbWJlcklkIjoiMjAyMDIwMjAtNDYzZi00MzViLTgyOGMtMTA3ZTAwN2EyNzExIiwidXNlcldvcmtzcGFjZUlkIjoiMjAyMDIwMjAtMWU3Yy00M2Q5LWE1ZGItNjg1YjUwNjlkODE2IiwidHlwZSI6IkFDQ0VTUyIsImF1dGhQcm92aWRlciI6InBhc3N3b3JkIiwiaWF0IjoxNzUxMjgxNzA0LCJleHAiOjIwNjY4NTc3MDR9.HMGqCsVlOAPVUBhKSGlD1X86VoHKt4LIUtET3CGIdik',
+    'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC0xYzI1LTRkMDItYmYyNS02YWVjY2Y3ZWE0MTkiLCJ0eXBlIjoiQVBJX0tFWSIsIndvcmtzcGFjZUlkIjoiMjAyMDIwMjAtMWMyNS00ZDAyLWJmMjUtNmFlY2NmN2VhNDE5IiwiaWF0IjoxNzY5NTU4MjgyLCJleHAiOjQ5MjMxNTgyODEsImp0aSI6ImE4YWE4MjMwLWI3ZjYtNDM0OC1hM2VhLWVkNjBlN2VhNTgwOCJ9.5cjOZIHI67rJUACRap75qDWdx02OEo3xUXIn-I_46bk',
 };
</file context>
Suggested change
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC0xYzI1LTRkMDItYmYyNS02YWVjY2Y3ZWE0MTkiLCJ0eXBlIjoiQVBJX0tFWSIsIndvcmtzcGFjZUlkIjoiMjAyMDIwMjAtMWMyNS00ZDAyLWJmMjUtNmFlY2NmN2VhNDE5IiwiaWF0IjoxNzY5NTU4MjgyLCJleHAiOjQ5MjMxNTgyODEsImp0aSI6ImE4YWE4MjMwLWI3ZjYtNDM0OC1hM2VhLWVkNjBlN2VhNTgwOCJ9.5cjOZIHI67rJUACRap75qDWdx02OEo3xUXIn-I_46bk',
process.env.TWENTY_TEST_API_KEY ?? '',
Fix with Cubic

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 5 files (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/twenty-sdk/vitest.e2e.config.ts">

<violation number="1" location="packages/twenty-sdk/vitest.e2e.config.ts:15">
P2: Setting `include: []` disables all e2e tests, so the suite will no longer run. If the intent is to temporarily skip flaky tests, consider keeping the include pattern and using `test.skip` or a conditional filter in CI instead, so coverage isn’t silently lost.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@charlesBochet charlesBochet merged commit da6f1bb into main Jan 28, 2026
26 checks passed
@charlesBochet charlesBochet deleted the logic-functions branch January 28, 2026 00:42
@twenty-eng-sync
Copy link
Copy Markdown

Hey @charlesBochet! After you've done the QA of your Pull Request, you can mark it as done here. Thank you!

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 2 files (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="packages/twenty-sdk/src/cli/__tests__/apps/rich-app/__e2e__/applications-install-delete-reinstall.e2e-spec.ts">

<violation number="1" location="packages/twenty-sdk/src/cli/__tests__/apps/rich-app/__e2e__/applications-install-delete-reinstall.e2e-spec.ts:11">
P2: Switching the suite to xdescribe skips all tests in this file, so the install/delete/reinstall coverage won’t execute. Use describe so the re-enabled tests actually run.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

inspect.defaultOptions.depth = 10;

describe('Application: install delete and reinstall rich-app', () => {
xdescribe('Application: install delete and reinstall rich-app', () => {
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Switching the suite to xdescribe skips all tests in this file, so the install/delete/reinstall coverage won’t execute. Use describe so the re-enabled tests actually run.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-sdk/src/cli/__tests__/apps/rich-app/__e2e__/applications-install-delete-reinstall.e2e-spec.ts, line 11:

<comment>Switching the suite to xdescribe skips all tests in this file, so the install/delete/reinstall coverage won’t execute. Use describe so the re-enabled tests actually run.</comment>

<file context>
@@ -8,7 +8,7 @@ import { inspect } from 'util';
 inspect.defaultOptions.depth = 10;
 
-describe('Application: install delete and reinstall rich-app', () => {
+xdescribe('Application: install delete and reinstall rich-app', () => {
   const applicationName = 'rich-app';
   const deleteCommand = new AppUninstallCommand();
</file context>
Suggested change
xdescribe('Application: install delete and reinstall rich-app', () => {
describe('Application: install delete and reinstall rich-app', () => {
Fix with Cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants