diff --git a/packages/twenty-apps/internal/twenty-partners/package.json b/packages/twenty-apps/internal/twenty-partners/package.json index 1b303577c6..6b2cffcbce 100644 --- a/packages/twenty-apps/internal/twenty-partners/package.json +++ b/packages/twenty-apps/internal/twenty-partners/package.json @@ -1,12 +1,12 @@ { "name": "twenty-partners", - "version": "1.3.0", + "version": "1.3.1", "license": "MIT", "engines": { "node": "^24.5.0", "npm": "please-use-yarn", "yarn": ">=4.0.2", - "twenty": ">=2.19.0" + "twenty": ">=2.23.0" }, "keywords": [], "packageManager": "yarn@4.13.0", @@ -26,8 +26,8 @@ }, "dependencies": { "react-markdown": "^10.1.0", - "twenty-client-sdk": "2.21.0", - "twenty-sdk": "2.21.0", + "twenty-client-sdk": "2.23.0-alpha.1", + "twenty-sdk": "2.23.0-alpha.1", "zod": "^4.1.11" }, "devDependencies": { diff --git a/packages/twenty-apps/internal/twenty-partners/yarn.lock b/packages/twenty-apps/internal/twenty-partners/yarn.lock index ce544af4dc..b0c9d4c18a 100644 --- a/packages/twenty-apps/internal/twenty-partners/yarn.lock +++ b/packages/twenty-apps/internal/twenty-partners/yarn.lock @@ -3500,16 +3500,16 @@ __metadata: languageName: node linkType: hard -"twenty-client-sdk@npm:2.21.0": - version: 2.21.0 - resolution: "twenty-client-sdk@npm:2.21.0" +"twenty-client-sdk@npm:2.23.0-alpha.1": + version: 2.23.0-alpha.1 + resolution: "twenty-client-sdk@npm:2.23.0-alpha.1" dependencies: "@genql/runtime": "npm:^2.10.0" esbuild: "npm:^0.28.1" graphql: "npm:^16.8.1" lodash: "npm:^4.17.21" prettier: "npm:^3.8.3" - checksum: 10c0/b411ce14c606830f63df27e7fa8efff6bc82968baabfbb0d6d5725cd6f6b023862102a22ce8baed4ae5c99ac5a50c10915e4f983c97e0fb138db9837c76be80a + checksum: 10c0/b55c1e4eee7cdf24d68b9318924f428ad2d26a96052b5ed7d2a6da21a88bb216326fb979e8f7e99765e6495b9f98c0334ed6fb0452beb49a135f88bfb09c70cc languageName: node linkType: hard @@ -3526,8 +3526,8 @@ __metadata: react-dom: "npm:^19.0.0" react-markdown: "npm:^10.1.0" tsx: "npm:^4.0.0" - twenty-client-sdk: "npm:2.21.0" - twenty-sdk: "npm:2.21.0" + twenty-client-sdk: "npm:2.23.0-alpha.1" + twenty-sdk: "npm:2.23.0-alpha.1" typescript: "npm:^5.9.3" vite-tsconfig-paths: "npm:^4.2.1" vitest: "npm:^4.0.0" @@ -3535,9 +3535,9 @@ __metadata: languageName: unknown linkType: soft -"twenty-sdk@npm:2.21.0": - version: 2.21.0 - resolution: "twenty-sdk@npm:2.21.0" +"twenty-sdk@npm:2.23.0-alpha.1": + version: 2.23.0-alpha.1 + resolution: "twenty-sdk@npm:2.23.0-alpha.1" dependencies: "@sniptt/guards": "npm:^0.2.0" axios: "npm:^1.16.0" @@ -3556,12 +3556,12 @@ __metadata: semver: "npm:7.6.3" sharp: "npm:^0.34.5" tinyglobby: "npm:^0.2.15" - twenty-client-sdk: "npm:2.21.0" + twenty-client-sdk: "npm:2.23.0-alpha.1" typescript: "npm:^5.9.3" uuid: "npm:^13.0.2" bin: twenty: dist/cli.cjs - checksum: 10c0/ea03d59ca549054b1c065feb0800a103eb707c1755cb250356bbe5c59e7af576ce9f8480c1f658637ded8d3930b110bac7b57305255ff9ce02f8a587963e140c + checksum: 10c0/c11830007c6bbf3bc0447c9e7ba2df9d3d3eac9593cb9b0236757e92fbf94cb9f24eecc150b663e435e65dc0bee48baf1833ff2d06333e84845c8b47464bcdce languageName: node linkType: hard diff --git a/packages/twenty-apps/public/people-data-labs/package.json b/packages/twenty-apps/public/people-data-labs/package.json index fef674672a..b0741979a8 100644 --- a/packages/twenty-apps/public/people-data-labs/package.json +++ b/packages/twenty-apps/public/people-data-labs/package.json @@ -29,8 +29,8 @@ "oxlint": "^0.16.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "twenty-client-sdk": "2.20.0", - "twenty-sdk": "2.20.0", + "twenty-client-sdk": "2.23.0-alpha.1", + "twenty-sdk": "2.23.0-alpha.1", "typescript": "^5.9.3", "vite-tsconfig-paths": "^4.2.1", "vitest": "^4.0.0" diff --git a/packages/twenty-apps/public/people-data-labs/src/views/enriched-companies.view.ts b/packages/twenty-apps/public/people-data-labs/src/views/enriched-companies.view.ts index 27553d027e..38cc086255 100644 --- a/packages/twenty-apps/public/people-data-labs/src/views/enriched-companies.view.ts +++ b/packages/twenty-apps/public/people-data-labs/src/views/enriched-companies.view.ts @@ -52,14 +52,10 @@ export default defineView({ { universalIdentifier: '0c027ae2-7e63-4354-8962-6922923929c0', fieldMetadataUniversalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlAlternativeDomains, position: 32, isVisible: true }, { universalIdentifier: '0814427e-6699-44fd-9d57-7af6f2389f7d', fieldMetadataUniversalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlTags, position: 33, isVisible: true }, { universalIdentifier: '65ca68c9-589f-44dc-bf57-d0a2152cb09c', fieldMetadataUniversalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlAffiliatedProfiles, position: 34, isVisible: true }, - // TODO: derive these with getSystemRelationFieldUniversalIdentifier once - // the next twenty-sdk is released. The system relation field universal - // identifiers were re-derived name-free in twenty v2.23 and the pinned - // twenty-sdk still embeds the old values. - { universalIdentifier: '3f0e5a60-3f49-4872-8451-5344a3715374', fieldMetadataUniversalIdentifier: '0b28db77-8099-5ce3-a11f-86a5778d7740', position: 35, isVisible: true }, // company.noteTargets - { universalIdentifier: '70ab74e1-d2ff-4f15-81ef-196e223a783e', fieldMetadataUniversalIdentifier: '9d7b0087-7037-55dc-bb59-456064455694', position: 36, isVisible: true }, // company.taskTargets - { universalIdentifier: '035b3904-59b9-4fce-a366-ee0139770346', fieldMetadataUniversalIdentifier: 'a4399ae3-fe89-59fe-a282-aec77d4e63a8', position: 37, isVisible: true }, // company.attachments - { universalIdentifier: '617b7343-1ae5-4813-b4f5-6e99d0a833bb', fieldMetadataUniversalIdentifier: '28ec0f8f-ad23-5317-b2d9-1a487bcefee2', position: 38, isVisible: true }, // company.timelineActivities + { universalIdentifier: '3f0e5a60-3f49-4872-8451-5344a3715374', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.fields.noteTargets.universalIdentifier, position: 35, isVisible: true }, + { universalIdentifier: '70ab74e1-d2ff-4f15-81ef-196e223a783e', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.fields.taskTargets.universalIdentifier, position: 36, isVisible: true }, + { universalIdentifier: '035b3904-59b9-4fce-a366-ee0139770346', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.fields.attachments.universalIdentifier, position: 37, isVisible: true }, + { universalIdentifier: '617b7343-1ae5-4813-b4f5-6e99d0a833bb', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.fields.timelineActivities.universalIdentifier, position: 38, isVisible: true }, { universalIdentifier: '24d0411e-23d2-4cf8-9781-6efc8443efdc', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.fields.createdBy.universalIdentifier, position: 39, isVisible: true }, { universalIdentifier: '4036071d-e527-46c8-940c-401f33803aa9', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.fields.updatedBy.universalIdentifier, position: 40, isVisible: true }, { universalIdentifier: 'ab123fcd-ec53-4d33-b43c-c7319db72be4', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.fields.createdAt.universalIdentifier, position: 41, isVisible: true }, diff --git a/packages/twenty-apps/public/people-data-labs/src/views/enriched-people.view.ts b/packages/twenty-apps/public/people-data-labs/src/views/enriched-people.view.ts index 4f00bc693b..53a2052c61 100644 --- a/packages/twenty-apps/public/people-data-labs/src/views/enriched-people.view.ts +++ b/packages/twenty-apps/public/people-data-labs/src/views/enriched-people.view.ts @@ -56,14 +56,10 @@ export default defineView({ { universalIdentifier: '730dfb73-0ff7-429a-a70b-fefc6080b537', fieldMetadataUniversalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlSex, position: 36, isVisible: true }, { universalIdentifier: '1620bf1d-0b12-4f69-ad0e-ba7dd1d8aa44', fieldMetadataUniversalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlBirthDate, position: 37, isVisible: true }, { universalIdentifier: '029770cb-9353-4b5f-8395-b217cc95402e', fieldMetadataUniversalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlBirthYear, position: 38, isVisible: true }, - // TODO: derive these with getSystemRelationFieldUniversalIdentifier once - // the next twenty-sdk is released. The system relation field universal - // identifiers were re-derived name-free in twenty v2.23 and the pinned - // twenty-sdk still embeds the old values. - { universalIdentifier: 'ef6e496c-de6c-47ed-bd44-886736f942ec', fieldMetadataUniversalIdentifier: '1c0e0dfe-a01f-58d6-8948-08b93164d03c', position: 39, isVisible: true }, // person.noteTargets - { universalIdentifier: '3758ed96-f76d-49a0-b37b-7c5c9aa4c1c1', fieldMetadataUniversalIdentifier: 'ddea86e6-5766-5798-ac32-14fbab6089f6', position: 40, isVisible: true }, // person.taskTargets - { universalIdentifier: 'a5bf7046-8fc9-4704-91a5-ba6c1b0f4b58', fieldMetadataUniversalIdentifier: '54dd92e1-67bf-5381-86f3-c747976dcdaf', position: 41, isVisible: true }, // person.attachments - { universalIdentifier: 'f6ed39c3-aff2-4ccf-b4e8-57de72b64cdd', fieldMetadataUniversalIdentifier: '32d7483f-6227-528b-bc65-62d9cf858cd8', position: 42, isVisible: true }, // person.timelineActivities + { universalIdentifier: 'ef6e496c-de6c-47ed-bd44-886736f942ec', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.fields.noteTargets.universalIdentifier, position: 39, isVisible: true }, + { universalIdentifier: '3758ed96-f76d-49a0-b37b-7c5c9aa4c1c1', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.fields.taskTargets.universalIdentifier, position: 40, isVisible: true }, + { universalIdentifier: 'a5bf7046-8fc9-4704-91a5-ba6c1b0f4b58', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.fields.attachments.universalIdentifier, position: 41, isVisible: true }, + { universalIdentifier: 'f6ed39c3-aff2-4ccf-b4e8-57de72b64cdd', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.fields.timelineActivities.universalIdentifier, position: 42, isVisible: true }, { universalIdentifier: '45159f0c-bac0-439c-ad8d-c7e4fce4b457', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.fields.createdBy.universalIdentifier, position: 43, isVisible: true }, { universalIdentifier: '8a5f1742-317f-4b01-b0c1-5d0866f78fa9', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.fields.updatedBy.universalIdentifier, position: 44, isVisible: true }, { universalIdentifier: '1614c9fb-3566-481f-9dfb-bbba37b1c8aa', fieldMetadataUniversalIdentifier: STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.fields.createdAt.universalIdentifier, position: 45, isVisible: true }, diff --git a/packages/twenty-apps/public/people-data-labs/yarn.lock b/packages/twenty-apps/public/people-data-labs/yarn.lock index 1fc84a6e32..681cd34b9d 100644 --- a/packages/twenty-apps/public/people-data-labs/yarn.lock +++ b/packages/twenty-apps/public/people-data-labs/yarn.lock @@ -953,8 +953,8 @@ __metadata: oxlint: "npm:^0.16.0" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" - twenty-client-sdk: "npm:2.20.0" - twenty-sdk: "npm:2.20.0" + twenty-client-sdk: "npm:2.23.0-alpha.1" + twenty-sdk: "npm:2.23.0-alpha.1" typescript: "npm:^5.9.3" vite-tsconfig-paths: "npm:^4.2.1" vitest: "npm:^4.0.0" @@ -2871,22 +2871,22 @@ __metadata: languageName: node linkType: hard -"twenty-client-sdk@npm:2.20.0": - version: 2.20.0 - resolution: "twenty-client-sdk@npm:2.20.0" +"twenty-client-sdk@npm:2.23.0-alpha.1": + version: 2.23.0-alpha.1 + resolution: "twenty-client-sdk@npm:2.23.0-alpha.1" dependencies: "@genql/runtime": "npm:^2.10.0" esbuild: "npm:^0.28.1" graphql: "npm:^16.8.1" lodash: "npm:^4.17.21" prettier: "npm:^3.8.3" - checksum: 10c0/925a5ad99bbccb7290365536b6d7ded6a8d02a064b175a195b6439732db6848a0a3aaa762f5c30ad0b79f48921a6cbd203fe442a0b9f93d1d902812c0d83aa17 + checksum: 10c0/b55c1e4eee7cdf24d68b9318924f428ad2d26a96052b5ed7d2a6da21a88bb216326fb979e8f7e99765e6495b9f98c0334ed6fb0452beb49a135f88bfb09c70cc languageName: node linkType: hard -"twenty-sdk@npm:2.20.0": - version: 2.20.0 - resolution: "twenty-sdk@npm:2.20.0" +"twenty-sdk@npm:2.23.0-alpha.1": + version: 2.23.0-alpha.1 + resolution: "twenty-sdk@npm:2.23.0-alpha.1" dependencies: "@sniptt/guards": "npm:^0.2.0" axios: "npm:^1.16.0" @@ -2905,12 +2905,12 @@ __metadata: semver: "npm:7.6.3" sharp: "npm:^0.34.5" tinyglobby: "npm:^0.2.15" - twenty-client-sdk: "npm:2.20.0" + twenty-client-sdk: "npm:2.23.0-alpha.1" typescript: "npm:^5.9.3" uuid: "npm:^13.0.2" bin: twenty: dist/cli.cjs - checksum: 10c0/7fe50f229470e370473e7555f0eb284b59424cb51369ce0fa88723681bd6a662879268f953599b0e3c5fc97b73f1e756352df80605185ed6b4e9c85fa186feef + checksum: 10c0/c11830007c6bbf3bc0447c9e7ba2df9d3d3eac9593cb9b0236757e92fbf94cb9f24eecc150b663e435e65dc0bee48baf1833ff2d06333e84845c8b47464bcdce languageName: node linkType: hard diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/2-23/2-23-workspace-command-1784565137000-upgrade-people-data-labs-application.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/2-23/2-23-workspace-command-1784565137000-upgrade-people-data-labs-application.command.ts index daf25e6d0c..e740a72739 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/2-23/2-23-workspace-command-1784565137000-upgrade-people-data-labs-application.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/2-23/2-23-workspace-command-1784565137000-upgrade-people-data-labs-application.command.ts @@ -95,6 +95,11 @@ export class UpgradePeopleDataLabsApplicationCommand extends ProvisionedWorkspac appRegistrationId: applicationRegistration.id, targetVersion: PEOPLE_DATA_LABS_TARGET_VERSION, workspaceId, + // 1.0.7 pins engines.twenty >=2.23.0, but this command runs as part of + // the 2.23 workspace upgrade itself, so the workspace has not yet been + // marked as completing 2.23 and the compatibility check would reject + // the install. The server is already on 2.23, so skip the check here. + skipWorkspaceCompatibilityCheck: true, }); this.logger.log( diff --git a/packages/twenty-server/src/engine/core-modules/application/application-install/application-install.service.ts b/packages/twenty-server/src/engine/core-modules/application/application-install/application-install.service.ts index 441dc797a7..51e3a442f9 100644 --- a/packages/twenty-server/src/engine/core-modules/application/application-install/application-install.service.ts +++ b/packages/twenty-server/src/engine/core-modules/application/application-install/application-install.service.ts @@ -9,27 +9,27 @@ import { FileFolder } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { Repository } from 'typeorm'; +import { buildApplicationFileList } from 'src/engine/core-modules/application/application-install/utils/build-application-file-list.util'; +import { ApplicationManifestApplyService } from 'src/engine/core-modules/application/application-manifest/application-manifest-apply.service'; +import { ApplicationSyncService } from 'src/engine/core-modules/application/application-manifest/application-sync.service'; import { - ApplicationException, - ApplicationExceptionCode, -} from 'src/engine/core-modules/application/application.exception'; -import { isImageFilePath } from 'src/engine/core-modules/application/application-registration/utils/is-image-file-path.util'; -import { ApplicationRegistrationEntity } from 'src/engine/core-modules/application/application-registration/application-registration.entity'; -import { ApplicationRegistrationSourceType } from 'src/engine/core-modules/application/application-registration/enums/application-registration-source-type.enum'; -import { ApplicationEntity } from 'src/engine/core-modules/application/application.entity'; -import { ApplicationService } from 'src/engine/core-modules/application/application.service'; -import { - type ResolvedPackage, ApplicationPackageFetcherService, + type ResolvedPackage, } from 'src/engine/core-modules/application/application-package/application-package-fetcher.service'; import { ApplicationVersionValidationService } from 'src/engine/core-modules/application/application-package/application-version-validation.service'; import { VERSION_PROGRESSION_REASON_TO_INSTALL_EXCEPTION_CODE, VERSION_REASON_TO_APPLICATION_EXCEPTION_CODE, } from 'src/engine/core-modules/application/application-package/constants/version-reason-to-exception-code.constant'; -import { buildApplicationFileList } from 'src/engine/core-modules/application/application-install/utils/build-application-file-list.util'; -import { ApplicationManifestApplyService } from 'src/engine/core-modules/application/application-manifest/application-manifest-apply.service'; -import { ApplicationSyncService } from 'src/engine/core-modules/application/application-manifest/application-sync.service'; +import { ApplicationRegistrationEntity } from 'src/engine/core-modules/application/application-registration/application-registration.entity'; +import { ApplicationRegistrationSourceType } from 'src/engine/core-modules/application/application-registration/enums/application-registration-source-type.enum'; +import { isImageFilePath } from 'src/engine/core-modules/application/application-registration/utils/is-image-file-path.util'; +import { ApplicationEntity } from 'src/engine/core-modules/application/application.entity'; +import { + ApplicationException, + ApplicationExceptionCode, +} from 'src/engine/core-modules/application/application.exception'; +import { ApplicationService } from 'src/engine/core-modules/application/application.service'; import { CacheLockService } from 'src/engine/core-modules/cache-lock/cache-lock.service'; import { FileStorageService } from 'src/engine/core-modules/file-storage/services/file-storage.service'; import { LogicFunctionExecutorService } from 'src/engine/core-modules/logic-function/logic-function-executor/logic-function-executor.service'; @@ -69,6 +69,7 @@ export class ApplicationInstallService { appRegistrationId: string; version?: string; workspaceId: string; + skipWorkspaceCompatibilityCheck?: boolean; }): Promise { const appRegistration = await this.appRegistrationRepository.findOne({ where: { id: params.appRegistrationId }, @@ -109,6 +110,8 @@ export class ApplicationInstallService { this.doInstallApplication(appRegistration, { version: params.version, workspaceId: params.workspaceId, + skipWorkspaceCompatibilityCheck: + params.skipWorkspaceCompatibilityCheck, }), lockKey, { ttl: 60_000, ms: 500, maxRetries: 120 }, @@ -117,7 +120,11 @@ export class ApplicationInstallService { private async doInstallApplication( preLockAppRegistration: ApplicationRegistrationEntity, - params: { version?: string; workspaceId: string }, + params: { + version?: string; + workspaceId: string; + skipWorkspaceCompatibilityCheck?: boolean; + }, ): Promise { // Re-read inside the lock so the authorization below cannot act on stale // listing or ownership state. @@ -184,7 +191,11 @@ export class ApplicationInstallService { existingApplication, }: { appRegistration: ApplicationRegistrationEntity; - params: { version?: string; workspaceId: string }; + params: { + version?: string; + workspaceId: string; + skipWorkspaceCompatibilityCheck?: boolean; + }; resolvedPackage: ResolvedPackage; existingApplication: ApplicationEntity | null; }): Promise { @@ -238,28 +249,36 @@ export class ApplicationInstallService { existingApplication, }: { appRegistration: ApplicationRegistrationEntity; - params: { version?: string; workspaceId: string }; + params: { + version?: string; + workspaceId: string; + skipWorkspaceCompatibilityCheck?: boolean; + }; resolvedPackage: ResolvedPackage; existingApplication: ApplicationEntity | null; }): Promise { const universalIdentifier = appRegistration.universalIdentifier; - const requiredServerVersion = - resolvedPackage.packageJson.engines?.['twenty']; + if (params.skipWorkspaceCompatibilityCheck !== true) { + const requiredServerVersion = + resolvedPackage.packageJson.engines?.['twenty']; - const versionValidation = - await this.applicationVersionValidationService.validateWorkspaceCompatibility( - { - requiredServerVersion, - workspaceId: params.workspaceId, - }, - ); + const versionValidation = + await this.applicationVersionValidationService.validateWorkspaceCompatibility( + { + requiredServerVersion, + workspaceId: params.workspaceId, + }, + ); - if (!versionValidation.compatible) { - throw new ApplicationException( - versionValidation.message, - VERSION_REASON_TO_APPLICATION_EXCEPTION_CODE[versionValidation.reason], - ); + if (!versionValidation.compatible) { + throw new ApplicationException( + versionValidation.message, + VERSION_REASON_TO_APPLICATION_EXCEPTION_CODE[ + versionValidation.reason + ], + ); + } } const isVersionUpgrade = isDefined(existingApplication); diff --git a/packages/twenty-server/src/engine/core-modules/application/application-upgrade/application-upgrade.service.ts b/packages/twenty-server/src/engine/core-modules/application/application-upgrade/application-upgrade.service.ts index d009709dbf..75f5397860 100644 --- a/packages/twenty-server/src/engine/core-modules/application/application-upgrade/application-upgrade.service.ts +++ b/packages/twenty-server/src/engine/core-modules/application/application-upgrade/application-upgrade.service.ts @@ -172,6 +172,7 @@ export class ApplicationUpgradeService { appRegistrationId: string; targetVersion: string; workspaceId: string; + skipWorkspaceCompatibilityCheck?: boolean; }): Promise { const appRegistration = await this.appRegistrationRepository.findOneOrFail({ where: { id: params.appRegistrationId }, @@ -181,6 +182,7 @@ export class ApplicationUpgradeService { appRegistration, targetVersion: params.targetVersion, workspaceId: params.workspaceId, + skipWorkspaceCompatibilityCheck: params.skipWorkspaceCompatibilityCheck, }); } @@ -188,6 +190,7 @@ export class ApplicationUpgradeService { appRegistration: ApplicationRegistrationEntity; targetVersion: string; workspaceId: string; + skipWorkspaceCompatibilityCheck?: boolean; }): Promise { const { appRegistration } = params; @@ -209,6 +212,7 @@ export class ApplicationUpgradeService { appRegistrationId: appRegistration.id, version: params.targetVersion, workspaceId: params.workspaceId, + skipWorkspaceCompatibilityCheck: params.skipWorkspaceCompatibilityCheck, }); } catch (error) { const appName =