Pre-sync only pre-install-logic-function (#19534)

as title
This commit is contained in:
martmull
2026-04-10 07:47:18 +00:00
committed by GitHub
parent f8c35a95b5
commit 2ea62317d8
@@ -62,34 +62,16 @@ export class ApplicationManifestMigrationService {
);
}
const defaultRoleManifest = manifest.roles.find(
(role) =>
role.universalIdentifier ===
manifest.application.defaultRoleUniversalIdentifier,
);
// Pared-down manifest: only the pre-install logic function, every other
// entity array intentionally empty. Combined with
// inferDeletionFromMissingEntities: false below, this produces a purely
// Will be sync with inferDeletionFromMissingEntities: false to produces a purely
// additive migration that registers the pre-install logic function without
// touching any previously-synced metadata (important on upgrades).
const strippedDefaultRoleManifest = isDefined(defaultRoleManifest)
? {
...defaultRoleManifest,
objectPermissions: [],
fieldPermissions: [],
}
: undefined;
const preInstallOnlyManifest: Manifest = {
application: manifest.application,
objects: [],
fields: [],
logicFunctions: [preInstallLogicFunctionManifest],
frontComponents: [],
roles: isDefined(strippedDefaultRoleManifest)
? [strippedDefaultRoleManifest]
: [],
roles: [],
skills: [],
agents: [],
publicAssets: [],
@@ -165,12 +147,6 @@ export class ApplicationManifestMigrationService {
);
}
await this.syncDefaultRoleAndSettingsCustomTab({
manifest,
workspaceId,
ownerFlatApplication,
});
this.logger.log(
`Pre-install logic function synced for application ${ownerFlatApplication.universalIdentifier}`,
);