From 772fde40d1aefe62598c8b915c537d44cde3d970 Mon Sep 17 00:00:00 2001 From: Muhsin Shah C P Date: Wed, 9 Jul 2025 13:05:33 +0530 Subject: [PATCH 01/22] chore: update subproject commits for frontend and server --- frontend/ee | 2 +- server/ee | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/ee b/frontend/ee index aed7af0149..62d9eaf7a7 160000 --- a/frontend/ee +++ b/frontend/ee @@ -1 +1 @@ -Subproject commit aed7af0149525ff745650c21ee40bf9caf2892dc +Subproject commit 62d9eaf7a7917f1a5635fa40b86888e0bfdd62f6 diff --git a/server/ee b/server/ee index 8c0e6dec37..3d3f77c026 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit 8c0e6dec37f1b0bb7fb5552d8eef4db3ddc18b31 +Subproject commit 3d3f77c0266c56a57e9aac301ce7c98600d72000 From c3753e87252f01a9ad6218fd8315e3f59f19864c Mon Sep 17 00:00:00 2001 From: Muhsin Shah C P Date: Wed, 9 Jul 2025 14:06:29 +0530 Subject: [PATCH 02/22] Added optional chaining for renderCopilot function call as its not passed as prop in few cases hence getting resolbed to undefined (#13282) Co-authored-by: Nishidh Jain Co-authored-by: Johnson Cherian --- frontend/src/AppBuilder/CodeEditor/MultiLineCodeEditor.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/AppBuilder/CodeEditor/MultiLineCodeEditor.jsx b/frontend/src/AppBuilder/CodeEditor/MultiLineCodeEditor.jsx index 869ab065f2..c6a024eaf7 100644 --- a/frontend/src/AppBuilder/CodeEditor/MultiLineCodeEditor.jsx +++ b/frontend/src/AppBuilder/CodeEditor/MultiLineCodeEditor.jsx @@ -348,7 +348,7 @@ const MultiLineCodeEditor = (props) => { view={editorView} isPanelOpen={isSearchPanelOpen} renderCopilot={() => - renderCopilot({ + renderCopilot?.({ darkMode, language: lang, editorRef, From 3b5bbc0955cdae59e084497a02be02ae8f1fd21e Mon Sep 17 00:00:00 2001 From: Muhsin Shah C P Date: Wed, 9 Jul 2025 15:05:40 +0530 Subject: [PATCH 03/22] chore: update subproject commit reference in server/ee --- server/ee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/ee b/server/ee index 3d3f77c026..f13e8ed92d 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit 3d3f77c0266c56a57e9aac301ce7c98600d72000 +Subproject commit f13e8ed92d642526009395842388ddd0325aec32 From 3ab3471b89208f103328f13d139492fee2d6b644 Mon Sep 17 00:00:00 2001 From: Muhsin Shah C P Date: Wed, 9 Jul 2025 16:45:45 +0530 Subject: [PATCH 04/22] chore: update subproject commits for frontend and server; add UPDATE_ICON feature key to workflow abilities (#13287) --- frontend/ee | 2 +- server/ee | 2 +- server/src/modules/apps/ability/workflow.ability.ts | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/ee b/frontend/ee index 62d9eaf7a7..aed7af0149 160000 --- a/frontend/ee +++ b/frontend/ee @@ -1 +1 @@ -Subproject commit 62d9eaf7a7917f1a5635fa40b86888e0bfdd62f6 +Subproject commit aed7af0149525ff745650c21ee40bf9caf2892dc diff --git a/server/ee b/server/ee index f13e8ed92d..1754d14f2f 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit f13e8ed92d642526009395842388ddd0325aec32 +Subproject commit 1754d14f2fc5dee8616f09f13e63b3569e42f3ee diff --git a/server/src/modules/apps/ability/workflow.ability.ts b/server/src/modules/apps/ability/workflow.ability.ts index d02443c5a4..c9630c4875 100644 --- a/server/src/modules/apps/ability/workflow.ability.ts +++ b/server/src/modules/apps/ability/workflow.ability.ts @@ -32,6 +32,7 @@ export function defineWorkflowAbility( FEATURE_KEY.RELEASE, FEATURE_KEY.VALIDATE_PRIVATE_APP_ACCESS, FEATURE_KEY.VALIDATE_RELEASED_APP_ACCESS, + FEATURE_KEY.UPDATE_ICON, ], App ); @@ -56,6 +57,7 @@ export function defineWorkflowAbility( FEATURE_KEY.RELEASE, FEATURE_KEY.VALIDATE_PRIVATE_APP_ACCESS, FEATURE_KEY.VALIDATE_RELEASED_APP_ACCESS, + FEATURE_KEY.UPDATE_ICON, ], App ); From 16d931c1c229bfc75a8d33453f4ef1291a41720d Mon Sep 17 00:00:00 2001 From: Devanshu Rastogi Date: Wed, 9 Jul 2025 17:10:05 +0530 Subject: [PATCH 05/22] Fix: Scroll issue for large set of logs in response (#13288) * Added optional chaining for renderCopilot function call as its not passed as prop in few cases hence getting resolbed to undefined * Update ee-server submodule reference * Fix: Scroll issue for large set of logs in response --------- Co-authored-by: Nishidh Jain Co-authored-by: Johnson Cherian --- frontend/ee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/ee b/frontend/ee index aed7af0149..c955741e5a 160000 --- a/frontend/ee +++ b/frontend/ee @@ -1 +1 @@ -Subproject commit aed7af0149525ff745650c21ee40bf9caf2892dc +Subproject commit c955741e5a120cd61651eaf14aef0d5c67059cb0 From eecfdccdd8b2ecfb537c7d9f830f75603c850114 Mon Sep 17 00:00:00 2001 From: Devanshu Rastogi Date: Wed, 9 Jul 2025 18:03:25 +0530 Subject: [PATCH 06/22] Fix: Remove 'Choose from Template' option from import menu (#13290) --- .../common/components/BaseImportAppMenu/BaseImportAppMenu.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/modules/common/components/BaseImportAppMenu/BaseImportAppMenu.jsx b/frontend/src/modules/common/components/BaseImportAppMenu/BaseImportAppMenu.jsx index 85a6c25b8d..4808ca46b5 100644 --- a/frontend/src/modules/common/components/BaseImportAppMenu/BaseImportAppMenu.jsx +++ b/frontend/src/modules/common/components/BaseImportAppMenu/BaseImportAppMenu.jsx @@ -17,7 +17,7 @@ const BaseImportAppMenu = ({ const { t } = useTranslation(); return ( - {appType !== 'wzorkflow' && appType !== 'module' && ( + {appType !== 'workflow' && appType !== 'module' && ( Date: Wed, 9 Jul 2025 18:36:25 +0530 Subject: [PATCH 07/22] Fixed loop icon issue in logs and Import workflow modal text issues (#13292) --- frontend/src/HomePage/HomePage.jsx | 38 +++++++++++++++++------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/frontend/src/HomePage/HomePage.jsx b/frontend/src/HomePage/HomePage.jsx index 31aa2dfee0..d6b2edcebb 100644 --- a/frontend/src/HomePage/HomePage.jsx +++ b/frontend/src/HomePage/HomePage.jsx @@ -478,7 +478,7 @@ class HomePageComponent extends React.Component { let installedPluginsInfo = []; try { if (this.state.dependentPlugins.length) { - ({ installedPluginsInfo =[] } = await pluginsService.installDependentPlugins( + ({ installedPluginsInfo = [] } = await pluginsService.installDependentPlugins( this.state.dependentPlugins, true )); @@ -486,7 +486,8 @@ class HomePageComponent extends React.Component { if (importJSON.app[0].definition.appV2.type !== this.props.appType) { toast.error( - `${this.props.appType === 'module' ? 'App' : 'Module'} could not be imported in ${this.props.appType === 'module' ? 'modules' : 'apps' + `${this.props.appType === 'module' ? 'App' : 'Module'} could not be imported in ${ + this.props.appType === 'module' ? 'modules' : 'apps' } section. Switch to ${this.props.appType === 'module' ? 'apps' : 'modules'} section and try again.`, { style: { maxWidth: '425px' } } ); @@ -495,7 +496,7 @@ class HomePageComponent extends React.Component { } const data = await appsService.importResource(requestBody, this.props.appType); - toast.success(`${this.props.appType === 'module' ? 'Module' : 'App'} imported successfully.`); + toast.success(`${this.getAppType()} imported successfully.`); this.setState({ isImportingApp: false }); if (!isEmpty(data.imports.app)) { @@ -1154,13 +1155,14 @@ class HomePageComponent extends React.Component { closeModal: () => this.setState({ showImportAppModal: false }), processApp: this.importFile, show: this.openImportAppModal, - title: 'Import app', - actionButton: 'Import app', + title: `Import ${this.getAppType().toLocaleLowerCase()}`, + actionButton: `Import ${this.getAppType().toLocaleLowerCase()}`, actionLoadingButton: 'Importing', fileContent: fileContent, selectedAppName: fileName, dependentPluginsDetail: dependentPluginsDetail, dependentPlugins: dependentPlugins, + appType: this.props.appType, }, template: { modalType: 'template', @@ -1224,8 +1226,9 @@ class HomePageComponent extends React.Component {
User groups @@ -1301,8 +1304,8 @@ class HomePageComponent extends React.Component { this.props.appType === 'workflow' ? 'homePage.deleteWorkflowAndData' : this.props.appType === 'front-end' - ? 'homePage.deleteAppAndData' - : deleteModuleText, + ? 'homePage.deleteAppAndData' + : deleteModuleText, { appName: appToBeDeleted?.name, } @@ -1567,10 +1570,11 @@ class HomePageComponent extends React.Component { {this.props.appType === 'module' ? 'Create new module' : this.props.t( - `${this.props.appType === 'workflow' ? 'workflowsDashboard' : 'homePage' - }.header.createNewApplication`, - 'Create new app' - )} + `${ + this.props.appType === 'workflow' ? 'workflowsDashboard' : 'homePage' + }.header.createNewApplication`, + 'Create new app' + )} = workflowInstanceLevelLimit.total || - 100 > workflowInstanceLevelLimit.percentage >= 90 || - workflowInstanceLevelLimit.current === workflowInstanceLevelLimit.total - 1 + 100 > workflowInstanceLevelLimit.percentage >= 90 || + workflowInstanceLevelLimit.current === workflowInstanceLevelLimit.total - 1 ? workflowInstanceLevelLimit : workflowWorkspaceLevelLimit } @@ -1731,8 +1735,8 @@ class HomePageComponent extends React.Component { appType={this.props.appType} workflowsLimit={ workflowInstanceLevelLimit.current >= workflowInstanceLevelLimit.total || - 100 > workflowInstanceLevelLimit.percentage >= 90 || - workflowInstanceLevelLimit.current === workflowInstanceLevelLimit.total - 1 + 100 > workflowInstanceLevelLimit.percentage >= 90 || + workflowInstanceLevelLimit.current === workflowInstanceLevelLimit.total - 1 ? workflowInstanceLevelLimit : workflowWorkspaceLevelLimit } From 11d04391f94c9c24b8a1e38d8ab4cd4ec363733f Mon Sep 17 00:00:00 2001 From: Devanshu Rastogi Date: Thu, 10 Jul 2025 10:32:21 +0530 Subject: [PATCH 08/22] Fix: Initialize asyncQueryRuns in the state to avoid accessing undefined entity (#13300) --- frontend/src/AppBuilder/_stores/slices/queryPanelSlice.js | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/AppBuilder/_stores/slices/queryPanelSlice.js b/frontend/src/AppBuilder/_stores/slices/queryPanelSlice.js index 47d425a0c0..27052d3603 100644 --- a/frontend/src/AppBuilder/_stores/slices/queryPanelSlice.js +++ b/frontend/src/AppBuilder/_stores/slices/queryPanelSlice.js @@ -34,6 +34,7 @@ const initialState = { showDeleteConfirmation: false, renamingQueryId: null, deletingQueryId: null, + asyncQueryRuns: [], }; export const createQueryPanelSlice = (set, get) => ({ From 680040d52019167b155feb24875f8ec193c19f32 Mon Sep 17 00:00:00 2001 From: Akshay Date: Thu, 10 Jul 2025 12:31:16 +0530 Subject: [PATCH 09/22] fix: workflow schedule cleanup (#13295) --- frontend/ee | 2 +- server/ee | 2 +- server/src/modules/apps/module.ts | 7 ++++ server/src/modules/apps/service.ts | 34 ++++++++++++++----- ...on.listener.ts => app-actions.listener.ts} | 4 +-- 5 files changed, 37 insertions(+), 12 deletions(-) rename server/src/modules/workflows/listeners/{app-deletion.listener.ts => app-actions.listener.ts} (71%) diff --git a/frontend/ee b/frontend/ee index c955741e5a..aed7af0149 160000 --- a/frontend/ee +++ b/frontend/ee @@ -1 +1 @@ -Subproject commit c955741e5a120cd61651eaf14aef0d5c67059cb0 +Subproject commit aed7af0149525ff745650c21ee40bf9caf2892dc diff --git a/server/ee b/server/ee index 1754d14f2f..8c0e6dec37 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit 1754d14f2fc5dee8616f09f13e63b3569e42f3ee +Subproject commit 8c0e6dec37f1b0bb7fb5552d8eef4db3ddc18b31 diff --git a/server/src/modules/apps/module.ts b/server/src/modules/apps/module.ts index f30e91cd11..71351a825c 100644 --- a/server/src/modules/apps/module.ts +++ b/server/src/modules/apps/module.ts @@ -52,6 +52,11 @@ export class AppsModule extends SubModule { 'services/page.util.service', ]); + const { AppsActionsListener, TemporalService } = await this.getProviders(configs, 'workflows', [ + 'listeners/app-actions.listener', + 'services/temporal.service', + ]); + return { module: AppsModule, imports: [ @@ -74,6 +79,8 @@ export class AppsModule extends SubModule { VersionRepository, AppsRepository, AppGitRepository, + AppsActionsListener, + TemporalService, PageService, EventsService, AppsUtilService, diff --git a/server/src/modules/apps/service.ts b/server/src/modules/apps/service.ts index 2f57c6d737..182c29da46 100644 --- a/server/src/modules/apps/service.ts +++ b/server/src/modules/apps/service.ts @@ -42,6 +42,7 @@ import { AUDIT_LOGS_REQUEST_CONTEXT_KEY } from '@modules/app/constants'; import { MODULES } from '@modules/app/constants/modules'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { AppGitRepository } from '@modules/app-git/repository'; +import { WorkflowSchedule } from '@entities/workflow_schedule.entity'; @Injectable() export class AppsService implements IAppsService { @@ -60,7 +61,7 @@ export class AppsService implements IAppsService { protected readonly componentsService: ComponentsService, protected readonly eventEmitter: EventEmitter2, protected readonly appGitRepository: AppGitRepository - ) { } + ) {} async create(user: User, appCreateDto: AppCreateDto) { const { name, icon, type, prompt } = appCreateDto; return await dbTransactionWrap(async (manager: EntityManager) => { @@ -107,12 +108,12 @@ export class AppsService implements IAppsService { : versionName ? await this.versionRepository.findByName(versionName, app.id) : // Handle version retrieval based on env - await this.versionRepository.findLatestVersionForEnvironment( - app.id, - envId, - environmentName, - app.organizationId - ); + await this.versionRepository.findLatestVersionForEnvironment( + app.id, + envId, + environmentName, + app.organizationId + ); if (!version) { throw new NotFoundException("Couldn't found app version. Please check the version name"); @@ -181,7 +182,24 @@ export class AppsService implements IAppsService { const { organizationId } = user; const { id } = app; - await this.appRepository.delete({ id, organizationId }); + await dbTransactionWrap(async (manager: EntityManager) => { + const schedules = await manager + .createQueryBuilder(WorkflowSchedule, 'workflowSchedule') + .innerJoinAndSelect('workflowSchedule.workflow', 'appVersion') + .where('appVersion.appId = :appId', { appId: id }) + .getMany(); + + // Emit event with schedule IDs for temporal schedule cleanup + if (schedules.length > 0) { + const scheduleIds = schedules.map((schedule) => schedule.id); + this.eventEmitter.emit('app.deleted', { + appId: id, + scheduleIds: scheduleIds, + }); + } + + await manager.delete(App, { id, organizationId }); + }); //APP_DELETE audit RequestContext.setLocals(AUDIT_LOGS_REQUEST_CONTEXT_KEY, { diff --git a/server/src/modules/workflows/listeners/app-deletion.listener.ts b/server/src/modules/workflows/listeners/app-actions.listener.ts similarity index 71% rename from server/src/modules/workflows/listeners/app-deletion.listener.ts rename to server/src/modules/workflows/listeners/app-actions.listener.ts index 302bd36b86..72d28d991e 100644 --- a/server/src/modules/workflows/listeners/app-deletion.listener.ts +++ b/server/src/modules/workflows/listeners/app-actions.listener.ts @@ -4,8 +4,8 @@ import { OnEvent } from '@nestjs/event-emitter'; @Injectable() export class AppsActionsListener { constructor() {} - @OnEvent('beforeAppDelete') + @OnEvent('app.deleted') async handleAppDeletion(args: { appId: string }) { - throw new Error('Method not implemented'); + console.log(`App with ID ${args.appId} has been deleted.`); } } From ccbc37d0b6142c6c7d7a304b2467b716ec6cd339 Mon Sep 17 00:00:00 2001 From: Muhsin Shah C P Date: Thu, 10 Jul 2025 13:11:52 +0530 Subject: [PATCH 10/22] fix: update subproject commit reference (#13308) --- frontend/ee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/ee b/frontend/ee index 01af83abcd..8b17822c15 160000 --- a/frontend/ee +++ b/frontend/ee @@ -1 +1 @@ -Subproject commit 01af83abcdb663c04088e215ff84f90d2bd33a62 +Subproject commit 8b17822c155f18f3f56a6c15a607cc9f9738cb9f From 27ba370d7263cc6bbc1bdb3d711323f7cfc84edf Mon Sep 17 00:00:00 2001 From: Muhsin Shah C P Date: Thu, 10 Jul 2025 13:30:34 +0530 Subject: [PATCH 11/22] feat: add export option for workflows in AppMenu (#13309) --- frontend/src/HomePage/AppMenu.jsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/src/HomePage/AppMenu.jsx b/frontend/src/HomePage/AppMenu.jsx index 6c2a521c57..0bfa96583e 100644 --- a/frontend/src/HomePage/AppMenu.jsx +++ b/frontend/src/HomePage/AppMenu.jsx @@ -94,6 +94,11 @@ export const AppMenu = function AppMenu({ )} + {canUpdateApp && canCreateApp && appType === 'workflow' && ( + <> + + + )} {canDeleteApp && ( Date: Thu, 10 Jul 2025 15:05:39 +0530 Subject: [PATCH 12/22] update subproject reference to latest commit --- server/ee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/ee b/server/ee index 8cb87023e8..79cef2a69c 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit 8cb87023e84d7b72d710338649de9005b74b52ba +Subproject commit 79cef2a69cc2f525955ed17609ecba968851ff87 From cd75df277bdc670ffe7b2ceadc1fb6476c1e0af4 Mon Sep 17 00:00:00 2001 From: Manish Kushare <37823141+manishkushare@users.noreply.github.com> Date: Thu, 10 Jul 2025 15:45:39 +0530 Subject: [PATCH 13/22] update base repo for this submodule commit (#13315) --- frontend/ee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/ee b/frontend/ee index 8b17822c15..3124bbc0be 160000 --- a/frontend/ee +++ b/frontend/ee @@ -1 +1 @@ -Subproject commit 8b17822c155f18f3f56a6c15a607cc9f9738cb9f +Subproject commit 3124bbc0beb8c14d051804336ebe29e59a7ac3c9 From b5aec9a2db28c7d0d81412828d2601921d00f82f Mon Sep 17 00:00:00 2001 From: Adish M <44204658+adishM98@users.noreply.github.com> Date: Thu, 10 Jul 2025 16:22:55 +0530 Subject: [PATCH 14/22] =?UTF-8?q?=F0=9F=9A=80=20chore:=20update=20submodul?= =?UTF-8?q?es=20to=20latest=20main=20after=20auto-merge=20(#13317)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/ee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/ee b/server/ee index 79cef2a69c..80886c9d5e 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit 79cef2a69cc2f525955ed17609ecba968851ff87 +Subproject commit 80886c9d5e30e738e9b7bb2e9acd42d20fcbf810 From a2864ae2b3fedfec4d3a268e0fdc74d7af70bf52 Mon Sep 17 00:00:00 2001 From: Adish M <44204658+adishM98@users.noreply.github.com> Date: Thu, 10 Jul 2025 16:28:39 +0530 Subject: [PATCH 15/22] Fix the tag name in the release workflow (#13316) --- .github/workflows/docker-release.yml | 14 +++++++------- .github/workflows/packer-build.yml | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index 7afca64ea7..6702780e88 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -21,7 +21,7 @@ jobs: if: "contains(github.event.release.tag_name, '-ce-lts')" uses: actions/checkout@v2 with: - ref: refs/heads/lts-3.6 + ref: refs/heads/lts-3.16 # Create Docker Buildx builder with platform configuration - name: Set up Docker Buildx @@ -108,7 +108,7 @@ jobs: if: "contains(github.event.release.tag_name, '-ee-lts')" uses: actions/checkout@v2 with: - ref: refs/heads/lts-3.6 + ref: refs/heads/lts-3.16 # Create Docker Buildx builder with platform configuration - name: Set up Docker Buildx @@ -155,7 +155,7 @@ jobs: context: . build-args: | CUSTOM_GITHUB_TOKEN=${{ secrets.CUSTOM_GITHUB_TOKEN }} - BRANCH_NAME=lts-3.6 + BRANCH_NAME=lts-3.16 file: docker/ee/ee-production.Dockerfile push: true tags: tooljet/tooljet-ee:${{ github.event.release.tag_name }},tooljet/tooljet-ee:ee-lts-latest,tooljet/tooljet:ee-lts-latest,tooljet/tooljet:${{ github.event.release.tag_name }} @@ -185,7 +185,7 @@ jobs: if: "contains(github.event.release.tag_name, '-cloud-lts')" uses: actions/checkout@v2 with: - ref: refs/heads/lts-3.6 + ref: refs/heads/lts-3.16 # Create Docker Buildx builder with platform configuration - name: Set up Docker Buildx @@ -215,7 +215,7 @@ jobs: context: . build-args: | CUSTOM_GITHUB_TOKEN=${{ secrets.CUSTOM_GITHUB_TOKEN }} - BRANCH_NAME=lts-3.6 + BRANCH_NAME=lts-3.16 file: docker/cloud/cloud-server.Dockerfile push: true tags: tooljet/saas:${{ github.event.release.tag_name }} @@ -247,11 +247,11 @@ jobs: with: ref: refs/heads/main - - name: Checkout code to lts-3.0 + - name: Checkout code to lts-3.16 if: contains(github.event.release.tag_name, '-ee-lts') uses: actions/checkout@v2 with: - ref: refs/heads/lts-3.0 + ref: refs/heads/lts-3.16 # Create Docker Buildx builder with platform configuration - name: Set up Docker Buildx diff --git a/.github/workflows/packer-build.yml b/.github/workflows/packer-build.yml index 7c1dfbb583..2397df3c52 100644 --- a/.github/workflows/packer-build.yml +++ b/.github/workflows/packer-build.yml @@ -16,11 +16,11 @@ jobs: name: packer-ee steps: - - name: Checkout code to lts-3.6 branch + - name: Checkout code to lts-3.16 branch if: contains(github.event.release.tag_name, '-ee-lts') uses: actions/checkout@v2 with: - ref: refs/heads/lts-3.6 + ref: refs/heads/lts-3.16 - name: Setting tag if: "${{ github.event.inputs.version != '' }}" From 02bced206108a7a3f54ee003632c777724020d5d Mon Sep 17 00:00:00 2001 From: Akshay Sasidharan Date: Thu, 10 Jul 2025 18:54:13 +0530 Subject: [PATCH 16/22] chore: update submodule to latest commit --- frontend/ee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/ee b/frontend/ee index 01af83abcd..5ebcf5ccda 160000 --- a/frontend/ee +++ b/frontend/ee @@ -1 +1 @@ -Subproject commit 01af83abcdb663c04088e215ff84f90d2bd33a62 +Subproject commit 5ebcf5ccda1d11cb73e77b9a9bf71c16e1404c7b From 009e1b895c1ba9527bde703e21cd90f8228fe480 Mon Sep 17 00:00:00 2001 From: Adish M <44204658+adishM98@users.noreply.github.com> Date: Thu, 10 Jul 2025 18:57:38 +0530 Subject: [PATCH 17/22] =?UTF-8?q?=F0=9F=9A=80=20chore:=20update=20submodul?= =?UTF-8?q?es=20to=20latest=20main=20after=20auto-merge=20(#13324)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: akshaysasidrn <11629675+akshaysasidrn@users.noreply.github.com> --- frontend/ee | 2 +- server/ee | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/ee b/frontend/ee index 5ebcf5ccda..3a27891f78 160000 --- a/frontend/ee +++ b/frontend/ee @@ -1 +1 @@ -Subproject commit 5ebcf5ccda1d11cb73e77b9a9bf71c16e1404c7b +Subproject commit 3a27891f786104d45aa1a0c9c8745c93d7f106ca diff --git a/server/ee b/server/ee index 2f0948893f..d173deb2a2 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit 2f0948893fdea517479ba3cc2da421a06dff6a64 +Subproject commit d173deb2a2166741a3fec84680b99a74ea52330c From a290c9bfb6248629c1b4b5985411a3d3ce52d720 Mon Sep 17 00:00:00 2001 From: Adish M <44204658+adishM98@users.noreply.github.com> Date: Thu, 10 Jul 2025 22:42:57 +0530 Subject: [PATCH 18/22] fix for migrations (#13326) * fix for migrations * added the migration back * removed the migration --- ...1748331051836-AddAiGenerationFlagsInApp.ts | 60 ------------------- 1 file changed, 60 deletions(-) delete mode 100644 server/data-migrations/1748331051836-AddAiGenerationFlagsInApp.ts diff --git a/server/data-migrations/1748331051836-AddAiGenerationFlagsInApp.ts b/server/data-migrations/1748331051836-AddAiGenerationFlagsInApp.ts deleted file mode 100644 index 2f55d6fbbe..0000000000 --- a/server/data-migrations/1748331051836-AddAiGenerationFlagsInApp.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { MigrationInterface, QueryRunner, TableColumn } from 'typeorm'; - -export class AddAiGenerationFlagsInApp1748331051836 implements MigrationInterface { - public async up(queryRunner: QueryRunner): Promise { - // Add is_initialised_from_prompt column - await queryRunner.addColumn( - 'apps', - new TableColumn({ - name: 'is_initialised_from_prompt', - type: 'boolean', - default: false, - isNullable: false, - }) - ); - - // Add app_generated_from_prompt column - await queryRunner.addColumn( - 'apps', - new TableColumn({ - name: 'app_generated_from_prompt', - type: 'boolean', - default: false, - isNullable: false, - }) - ); - - // Add ai_generation_metadata column - await queryRunner.addColumn( - 'apps', - new TableColumn({ - name: 'ai_generation_metadata', - type: 'jsonb', - isNullable: true, - }) - ); - - // Create app_builder_mode enum type - await queryRunner.query(`CREATE TYPE "app_builder_mode" AS ENUM ('ai', 'visual')`); - - // Add app_builder_mode column - await queryRunner.addColumn( - 'apps', - new TableColumn({ - name: 'app_builder_mode', - type: 'app_builder_mode', - default: "'visual'", - isNullable: false, - }) - ); - } - - public async down(queryRunner: QueryRunner): Promise { - // Remove columns in reverse order - await queryRunner.dropColumn('apps', 'app_builder_mode'); - await queryRunner.query('DROP TYPE "app_builder_mode"'); - await queryRunner.dropColumn('apps', 'ai_generation_metadata'); - await queryRunner.dropColumn('apps', 'app_generated_from_prompt'); - await queryRunner.dropColumn('apps', 'is_initialised_from_prompt'); - } -} From dab1a948cf86566a3ce7a5c78e537649ab7a1048 Mon Sep 17 00:00:00 2001 From: Adish M <44204658+adishM98@users.noreply.github.com> Date: Thu, 10 Jul 2025 22:46:53 +0530 Subject: [PATCH 19/22] Fix migration by add old file (#13327) * Fix migration by add old file * add 36 migration --- ...1748331051836-AddAiGenerationFlagsInApp.ts | 60 +++++++++++++++++++ ...1750927057649-AddAiGenerationFlagsInApp.ts | 0 2 files changed, 60 insertions(+) create mode 100644 server/data-migrations/1748331051836-AddAiGenerationFlagsInApp.ts create mode 100644 server/data-migrations/1750927057649-AddAiGenerationFlagsInApp.ts diff --git a/server/data-migrations/1748331051836-AddAiGenerationFlagsInApp.ts b/server/data-migrations/1748331051836-AddAiGenerationFlagsInApp.ts new file mode 100644 index 0000000000..2f55d6fbbe --- /dev/null +++ b/server/data-migrations/1748331051836-AddAiGenerationFlagsInApp.ts @@ -0,0 +1,60 @@ +import { MigrationInterface, QueryRunner, TableColumn } from 'typeorm'; + +export class AddAiGenerationFlagsInApp1748331051836 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + // Add is_initialised_from_prompt column + await queryRunner.addColumn( + 'apps', + new TableColumn({ + name: 'is_initialised_from_prompt', + type: 'boolean', + default: false, + isNullable: false, + }) + ); + + // Add app_generated_from_prompt column + await queryRunner.addColumn( + 'apps', + new TableColumn({ + name: 'app_generated_from_prompt', + type: 'boolean', + default: false, + isNullable: false, + }) + ); + + // Add ai_generation_metadata column + await queryRunner.addColumn( + 'apps', + new TableColumn({ + name: 'ai_generation_metadata', + type: 'jsonb', + isNullable: true, + }) + ); + + // Create app_builder_mode enum type + await queryRunner.query(`CREATE TYPE "app_builder_mode" AS ENUM ('ai', 'visual')`); + + // Add app_builder_mode column + await queryRunner.addColumn( + 'apps', + new TableColumn({ + name: 'app_builder_mode', + type: 'app_builder_mode', + default: "'visual'", + isNullable: false, + }) + ); + } + + public async down(queryRunner: QueryRunner): Promise { + // Remove columns in reverse order + await queryRunner.dropColumn('apps', 'app_builder_mode'); + await queryRunner.query('DROP TYPE "app_builder_mode"'); + await queryRunner.dropColumn('apps', 'ai_generation_metadata'); + await queryRunner.dropColumn('apps', 'app_generated_from_prompt'); + await queryRunner.dropColumn('apps', 'is_initialised_from_prompt'); + } +} diff --git a/server/data-migrations/1750927057649-AddAiGenerationFlagsInApp.ts b/server/data-migrations/1750927057649-AddAiGenerationFlagsInApp.ts new file mode 100644 index 0000000000..e69de29bb2 From b1d6c5365eae338287017d2481891fa7303105c8 Mon Sep 17 00:00:00 2001 From: Adish M <44204658+adishM98@users.noreply.github.com> Date: Thu, 10 Jul 2025 22:48:40 +0530 Subject: [PATCH 20/22] Removing the 49 migration which caused the issue (#13328) --- server/data-migrations/1750927057649-AddAiGenerationFlagsInApp.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 server/data-migrations/1750927057649-AddAiGenerationFlagsInApp.ts diff --git a/server/data-migrations/1750927057649-AddAiGenerationFlagsInApp.ts b/server/data-migrations/1750927057649-AddAiGenerationFlagsInApp.ts deleted file mode 100644 index e69de29bb2..0000000000 From 9d3f04e014620a877f79f82d6d4f01ec5f2370b1 Mon Sep 17 00:00:00 2001 From: gsmithun4 Date: Thu, 10 Jul 2025 23:09:29 +0530 Subject: [PATCH 21/22] fix --- .vscode/settings.json | 4 ++-- server/src/modules/auth/util.service.ts | 4 ++-- server/src/modules/users/repositories/repository.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index ac6e6079cc..904ccaed80 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,8 +8,8 @@ "typescript", "typescriptreact" ], - "eslint.format.enable": true, - "editor.formatOnSave": true, + "eslint.format.enable": false, + "editor.formatOnSave": false, "json.schemas": [ { "fileMatch": [ diff --git a/server/src/modules/auth/util.service.ts b/server/src/modules/auth/util.service.ts index db01ee4c0e..ef708cbc6e 100644 --- a/server/src/modules/auth/util.service.ts +++ b/server/src/modules/auth/util.service.ts @@ -7,7 +7,7 @@ import { LicenseUserService } from '@modules/licensing/services/user.service'; import { RolesUtilService } from '@modules/roles/util.service'; import { OrganizationUser } from '../../entities/organization_user.entity'; import { generateNextNameAndSlug } from 'src/helpers/utils.helper'; -const uuid = require('uuid'); +import * as uuid from 'uuid'; import { Organization } from '../../entities/organization.entity'; import { EntityManager } from 'typeorm'; import { @@ -121,7 +121,7 @@ export class AuthUtilService implements IAuthUtilService { try { const signedJwt = this.sessionUtilService.verifyToken(token); return signedJwt; - } catch (err) { + } catch { return null; } } diff --git a/server/src/modules/users/repositories/repository.ts b/server/src/modules/users/repositories/repository.ts index bbc4acaefd..0feacea3d5 100644 --- a/server/src/modules/users/repositories/repository.ts +++ b/server/src/modules/users/repositories/repository.ts @@ -98,8 +98,8 @@ export class UserRepository extends Repository { const existingUser = await manager.findOne(User, { where: { email: user.email } }); if (existingUser) { - Object.assign(existingUser, user); - return manager.update(User, { id: existingUser.id }, user); + await manager.update(User, { id: existingUser.id }, user); + return manager.findOne(User, { where: { id: existingUser.id } }); } else { const newUser = manager.create(User, user); return manager.save(User, newUser); From a2cbf79fb95488320d5c4636e54a2bc5b78e8be5 Mon Sep 17 00:00:00 2001 From: Adish M <44204658+adishM98@users.noreply.github.com> Date: Thu, 10 Jul 2025 23:12:23 +0530 Subject: [PATCH 22/22] =?UTF-8?q?=F0=9F=9A=80=20chore:=20update=20submodul?= =?UTF-8?q?es=20to=20latest=20main=20after=20auto-merge=20(#13330)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: gsmithun4 <3417097+gsmithun4@users.noreply.github.com> --- server/ee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/ee b/server/ee index d173deb2a2..e5d7d079b2 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit d173deb2a2166741a3fec84680b99a74ea52330c +Subproject commit e5d7d079b231512c68fa0a1f139835499798e868