Skip to content

feat(apps): Migrate app management code from @rocket.chat/apps-engine to @rocket.chat/apps internal package#40343

Merged
ggazzo merged 70 commits intodevelopfrom
feat/apps-engine-split--pr2d-remove-apps-engine-files
May 7, 2026
Merged

feat(apps): Migrate app management code from @rocket.chat/apps-engine to @rocket.chat/apps internal package#40343
ggazzo merged 70 commits intodevelopfrom
feat/apps-engine-split--pr2d-remove-apps-engine-files

Conversation

@d-gubert
Copy link
Copy Markdown
Member

@d-gubert d-gubert commented Apr 30, 2026

Proposed changes (including videos or screenshots)

  • refactor(apps-engine): remove server, client, deno-runtime and scripts
  • refactor(apps-engine): remove stale src/client files
  • refactor(apps-engine): remove stale src/server files
  • remove apps-engine exports from package.json
  • update yarn.lock
  • refactor: re add uuid as a dependency of apps-engine
  • refactor(apps-engine): package json
  • fix: ci failing when trying to delete previous apps-engine files
  • remove apps-engine tests
  • fix: remove apps-engine copying from Dockerfiles
  • refactor: remove remaining apps-engine deno-runtime files
  • fix(apps-engine): prevent manual version bump

More details available here

Issue(s)

ARCH-2129

Steps to test or reproduce

Further comments

Related to the "Apps-Engine split" stack:

Deprecated

@dionisio-bot
Copy link
Copy Markdown
Contributor

dionisio-bot Bot commented Apr 30, 2026

Looks like this PR is ready to merge! 🎉
If you have any trouble, please check the PR guidelines

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 30, 2026

🦋 Changeset detected

Latest commit: 673d4f7

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 43 packages
Name Type
@rocket.chat/meteor Minor
@rocket.chat/apps-engine Minor
@rocket.chat/apps Minor
@rocket.chat/core-typings Minor
@rocket.chat/fuselage-ui-kit Major
@rocket.chat/rest-typings Minor
@rocket.chat/ddp-streamer Patch
@rocket.chat/presence Patch
rocketchat-services Patch
@rocket.chat/core-services Patch
@rocket.chat/uikit-playground Patch
@rocket.chat/ui-voip Major
@rocket.chat/api-client Patch
@rocket.chat/cron Patch
@rocket.chat/ddp-client Patch
@rocket.chat/gazzodown Major
@rocket.chat/http-router Patch
@rocket.chat/livechat Patch
@rocket.chat/model-typings Patch
@rocket.chat/models Patch
@rocket.chat/ui-avatar Major
@rocket.chat/ui-client Major
@rocket.chat/ui-contexts Major
@rocket.chat/web-ui-registration Major
@rocket.chat/account-service Patch
@rocket.chat/authorization-service Patch
@rocket.chat/omnichannel-transcript Patch
@rocket.chat/presence-service Patch
@rocket.chat/queue-worker Patch
@rocket.chat/abac Patch
@rocket.chat/federation-matrix Patch
@rocket.chat/license Patch
@rocket.chat/media-calls Patch
@rocket.chat/omnichannel-services Patch
@rocket.chat/pdf-worker Patch
@rocket.chat/network-broker Patch
@rocket.chat/omni-core-ee Patch
@rocket.chat/mock-providers Patch
@rocket.chat/instance-status Patch
@rocket.chat/omni-core Patch
@rocket.chat/server-fetch Patch
@rocket.chat/ui-video-conf Major
@rocket.chat/ui-composer Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 30, 2026

Important

Review skipped

Too many files!

This PR contains 299 files, which is 149 over the limit of 150.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5a7d9eaa-dd33-41f0-8287-4474fd74efb8

📥 Commits

Reviewing files that changed from the base of the PR and between b077bac and 673d4f7.

⛔ Files ignored due to path filters (1)
  • packages/apps/deno-runtime/deno.lock is excluded by !**/*.lock
📒 Files selected for processing (299)
  • .changeset/beige-parrots-lead.md
  • .changeset/brown-files-work.md
  • .changeset/stale-needles-care.md
  • .github/actions/build-docker/action.yml
  • apps/meteor/app/apps/server/bridges/activation.ts
  • apps/meteor/app/apps/server/bridges/api.ts
  • apps/meteor/app/apps/server/bridges/bridges.js
  • apps/meteor/app/apps/server/bridges/cloud.ts
  • apps/meteor/app/apps/server/bridges/commands.ts
  • apps/meteor/app/apps/server/bridges/contact.ts
  • apps/meteor/app/apps/server/bridges/details.ts
  • apps/meteor/app/apps/server/bridges/email.ts
  • apps/meteor/app/apps/server/bridges/environmental.ts
  • apps/meteor/app/apps/server/bridges/experimental.ts
  • apps/meteor/app/apps/server/bridges/http.ts
  • apps/meteor/app/apps/server/bridges/index.ts
  • apps/meteor/app/apps/server/bridges/internal.ts
  • apps/meteor/app/apps/server/bridges/internalFederation.ts
  • apps/meteor/app/apps/server/bridges/livechat.ts
  • apps/meteor/app/apps/server/bridges/messages.ts
  • apps/meteor/app/apps/server/bridges/moderation.ts
  • apps/meteor/app/apps/server/bridges/oauthApps.ts
  • apps/meteor/app/apps/server/bridges/outboundCommunication.ts
  • apps/meteor/app/apps/server/bridges/persistence.ts
  • apps/meteor/app/apps/server/bridges/roles.ts
  • apps/meteor/app/apps/server/bridges/rooms.ts
  • apps/meteor/app/apps/server/bridges/scheduler.ts
  • apps/meteor/app/apps/server/bridges/settings.ts
  • apps/meteor/app/apps/server/bridges/thread.ts
  • apps/meteor/app/apps/server/bridges/uiInteraction.ts
  • apps/meteor/app/apps/server/bridges/uploads.ts
  • apps/meteor/app/apps/server/bridges/users.ts
  • apps/meteor/app/apps/server/bridges/videoConferences.ts
  • apps/meteor/app/statistics/server/lib/getAppsStatistics.ts
  • apps/meteor/client/apps/RealAppsEngineUIHost.ts
  • apps/meteor/client/apps/orchestrator.ts
  • apps/meteor/client/contexts/AppsContext.tsx
  • apps/meteor/ee/app/license/server/canEnableApp.ts
  • apps/meteor/ee/lib/misc/formatAppInstanceForRest.ts
  • apps/meteor/ee/server/apps/communication/endpoints/appsCountHandler.ts
  • apps/meteor/ee/server/apps/communication/rest.ts
  • apps/meteor/ee/server/apps/cron.ts
  • apps/meteor/ee/server/apps/orchestrator.js
  • apps/meteor/ee/server/apps/storage/AppFileSystemSourceStorage.ts
  • apps/meteor/ee/server/apps/storage/AppGridFSSourceStorage.ts
  • apps/meteor/ee/server/apps/storage/AppRealLogStorage.ts
  • apps/meteor/ee/server/apps/storage/AppRealStorage.ts
  • apps/meteor/ee/server/apps/storage/ConfigurableAppSourceStorage.ts
  • apps/meteor/ee/tests/unit/server/apps/AppRealStorage.spec.ts
  • apps/meteor/lib/apps/getInstallationSourceFromAppStorageItem.ts
  • apps/meteor/server/services/apps-engine/service.ts
  • apps/meteor/server/services/video-conference/service.ts
  • apps/meteor/server/startup/migrations/v294.ts
  • apps/meteor/server/startup/migrations/v307.ts
  • apps/meteor/tests/end-to-end/apps/app-logs-export.ts
  • apps/meteor/tests/end-to-end/apps/app-logs-general.ts
  • apps/meteor/tests/end-to-end/apps/app-logs-nested-requests.ts
  • apps/meteor/tests/end-to-end/apps/app-logs.ts
  • apps/meteor/tests/mocks/client/marketplace.tsx
  • apps/meteor/tests/mocks/data.ts
  • apps/meteor/tests/unit/app/license/server/canEnableApp.spec.ts
  • docs/apps-engine-migration.md
  • ee/apps/account-service/Dockerfile
  • ee/apps/authorization-service/Dockerfile
  • ee/apps/ddp-streamer/Dockerfile
  • ee/apps/omnichannel-transcript/Dockerfile
  • ee/apps/presence-service/Dockerfile
  • ee/apps/queue-worker/Dockerfile
  • eslint.config.mjs
  • packages/apps-engine/package.json
  • packages/apps-engine/src/definition/accessors/IRoomRead.ts
  • packages/apps-engine/src/definition/accessors/IUIController.ts
  • packages/apps-engine/src/definition/externalComponent/IExternalComponentRoomInfo.ts
  • packages/apps-engine/src/definition/externalComponent/IExternalComponentState.ts
  • packages/apps-engine/src/definition/externalComponent/IExternalComponentUserInfo.ts
  • packages/apps-engine/src/definition/externalComponent/index.ts
  • packages/apps-engine/src/definition/oauth2/OAuth2.ts
  • packages/apps-engine/src/definition/oauth2/OAuth2Client.ts
  • packages/apps-engine/src/definition/rooms/IGetMessagesOptions.ts
  • packages/apps-engine/src/definition/rooms/index.ts
  • packages/apps-engine/src/definition/uikit/UIKitInteractionResponder.ts
  • packages/apps-engine/src/definition/uikit/blocks/BlockBuilder.ts
  • packages/apps-engine/src/definition/version.ts
  • packages/apps-engine/src/lib/utils.ts
  • packages/apps-engine/src/server/bridges/IListenerBridge.ts
  • packages/apps-engine/tsconfig.json
  • packages/apps-engine/turbo.json
  • packages/apps/.gitignore
  • packages/apps/deno-runtime/.gitignore
  • packages/apps/deno-runtime/AppObjectRegistry.ts
  • packages/apps/deno-runtime/acorn-walk.d.ts
  • packages/apps/deno-runtime/acorn.d.ts
  • packages/apps/deno-runtime/deno.jsonc
  • packages/apps/deno-runtime/error-handlers.ts
  • packages/apps/deno-runtime/handlers/api-handler.ts
  • packages/apps/deno-runtime/handlers/app/construct.ts
  • packages/apps/deno-runtime/handlers/app/handleGetStatus.ts
  • packages/apps/deno-runtime/handlers/app/handleInitialize.ts
  • packages/apps/deno-runtime/handlers/app/handleOnDisable.ts
  • packages/apps/deno-runtime/handlers/app/handleOnEnable.ts
  • packages/apps/deno-runtime/handlers/app/handleOnInstall.ts
  • packages/apps/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts
  • packages/apps/deno-runtime/handlers/app/handleOnSettingUpdated.ts
  • packages/apps/deno-runtime/handlers/app/handleOnUninstall.ts
  • packages/apps/deno-runtime/handlers/app/handleOnUpdate.ts
  • packages/apps/deno-runtime/handlers/app/handleSetStatus.ts
  • packages/apps/deno-runtime/handlers/app/handleUploadEvents.ts
  • packages/apps/deno-runtime/handlers/app/handler.ts
  • packages/apps/deno-runtime/handlers/lib/assertions.ts
  • packages/apps/deno-runtime/handlers/listener/handler.ts
  • packages/apps/deno-runtime/handlers/outboundcomms-handler.ts
  • packages/apps/deno-runtime/handlers/scheduler-handler.ts
  • packages/apps/deno-runtime/handlers/slashcommand-handler.ts
  • packages/apps/deno-runtime/handlers/tests/api-handler.test.ts
  • packages/apps/deno-runtime/handlers/tests/helpers/mod.ts
  • packages/apps/deno-runtime/handlers/tests/listener-handler.test.ts
  • packages/apps/deno-runtime/handlers/tests/scheduler-handler.test.ts
  • packages/apps/deno-runtime/handlers/tests/slashcommand-handler.test.ts
  • packages/apps/deno-runtime/handlers/tests/uikit-handler.test.ts
  • packages/apps/deno-runtime/handlers/tests/upload-event-handler.test.ts
  • packages/apps/deno-runtime/handlers/tests/videoconference-handler.test.ts
  • packages/apps/deno-runtime/handlers/uikit/handler.ts
  • packages/apps/deno-runtime/handlers/videoconference-handler.ts
  • packages/apps/deno-runtime/lib/accessors/builders/BlockBuilder.ts
  • packages/apps/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts
  • packages/apps/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts
  • packages/apps/deno-runtime/lib/accessors/builders/MessageBuilder.ts
  • packages/apps/deno-runtime/lib/accessors/builders/RoomBuilder.ts
  • packages/apps/deno-runtime/lib/accessors/builders/UserBuilder.ts
  • packages/apps/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts
  • packages/apps/deno-runtime/lib/accessors/extenders/HttpExtender.ts
  • packages/apps/deno-runtime/lib/accessors/extenders/MessageExtender.ts
  • packages/apps/deno-runtime/lib/accessors/extenders/RoomExtender.ts
  • packages/apps/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts
  • packages/apps/deno-runtime/lib/accessors/formatResponseErrorHandler.ts
  • packages/apps/deno-runtime/lib/accessors/http.ts
  • packages/apps/deno-runtime/lib/accessors/mod.ts
  • packages/apps/deno-runtime/lib/accessors/modify/ModifyCreator.ts
  • packages/apps/deno-runtime/lib/accessors/modify/ModifyExtender.ts
  • packages/apps/deno-runtime/lib/accessors/modify/ModifyUpdater.ts
  • packages/apps/deno-runtime/lib/accessors/notifier.ts
  • packages/apps/deno-runtime/lib/accessors/tests/AppAccessors.test.ts
  • packages/apps/deno-runtime/lib/accessors/tests/ModifyCreator.test.ts
  • packages/apps/deno-runtime/lib/accessors/tests/ModifyExtender.test.ts
  • packages/apps/deno-runtime/lib/accessors/tests/ModifyUpdater.test.ts
  • packages/apps/deno-runtime/lib/accessors/tests/formatResponseErrorHandler.test.ts
  • packages/apps/deno-runtime/lib/accessors/tests/http.test.ts
  • packages/apps/deno-runtime/lib/ast/mod.ts
  • packages/apps/deno-runtime/lib/ast/operations.ts
  • packages/apps/deno-runtime/lib/ast/tests/data/ast_blocks.ts
  • packages/apps/deno-runtime/lib/ast/tests/operations.test.ts
  • packages/apps/deno-runtime/lib/codec.ts
  • packages/apps/deno-runtime/lib/logger.ts
  • packages/apps/deno-runtime/lib/messenger.ts
  • packages/apps/deno-runtime/lib/metricsCollector.ts
  • packages/apps/deno-runtime/lib/parseArgs.ts
  • packages/apps/deno-runtime/lib/requestContext.ts
  • packages/apps/deno-runtime/lib/require.ts
  • packages/apps/deno-runtime/lib/room.ts
  • packages/apps/deno-runtime/lib/roomFactory.ts
  • packages/apps/deno-runtime/lib/sanitizeDeprecatedUsage.ts
  • packages/apps/deno-runtime/lib/tests/logger.test.ts
  • packages/apps/deno-runtime/lib/tests/messenger.test.ts
  • packages/apps/deno-runtime/lib/wrapAppForRequest.ts
  • packages/apps/deno-runtime/main.ts
  • packages/apps/package.json
  • packages/apps/scripts/deno-cache.js
  • packages/apps/src/AppsEngine.ts
  • packages/apps/src/IAppServerOrchestrator.ts
  • packages/apps/src/bridges/IListenerBridge.ts
  • packages/apps/src/client/AppClientManager.ts
  • packages/apps/src/client/AppServerCommunicator.ts
  • packages/apps/src/client/AppsEngineUIClient.ts
  • packages/apps/src/client/AppsEngineUIHost.ts
  • packages/apps/src/client/constants/index.ts
  • packages/apps/src/client/definition/AppsEngineUIMethods.ts
  • packages/apps/src/client/definition/IAppsEngineUIResponse.ts
  • packages/apps/src/client/definition/IExternalComponentRoomInfo.ts
  • packages/apps/src/client/definition/IExternalComponentUserInfo.ts
  • packages/apps/src/client/definition/index.ts
  • packages/apps/src/client/index.ts
  • packages/apps/src/client/utils/index.ts
  • packages/apps/src/converters/IAppMessagesConverter.ts
  • packages/apps/src/index.ts
  • packages/apps/src/server/AppManager.ts
  • packages/apps/src/server/IGetAppsFilter.ts
  • packages/apps/src/server/ProxiedApp.ts
  • packages/apps/src/server/accessors/ApiExtend.ts
  • packages/apps/src/server/accessors/AppAccessors.ts
  • packages/apps/src/server/accessors/CloudWorkspaceRead.ts
  • packages/apps/src/server/accessors/ConfigurationExtend.ts
  • packages/apps/src/server/accessors/ConfigurationModify.ts
  • packages/apps/src/server/accessors/ContactCreator.ts
  • packages/apps/src/server/accessors/ContactRead.ts
  • packages/apps/src/server/accessors/DiscussionBuilder.ts
  • packages/apps/src/server/accessors/EmailCreator.ts
  • packages/apps/src/server/accessors/EnvironmentRead.ts
  • packages/apps/src/server/accessors/EnvironmentWrite.ts
  • packages/apps/src/server/accessors/EnvironmentalVariableRead.ts
  • packages/apps/src/server/accessors/ExperimentalRead.ts
  • packages/apps/src/server/accessors/ExternalComponentsExtend.ts
  • packages/apps/src/server/accessors/Http.ts
  • packages/apps/src/server/accessors/HttpExtend.ts
  • packages/apps/src/server/accessors/LivechatCreator.ts
  • packages/apps/src/server/accessors/LivechatMessageBuilder.ts
  • packages/apps/src/server/accessors/LivechatRead.ts
  • packages/apps/src/server/accessors/LivechatUpdater.ts
  • packages/apps/src/server/accessors/MessageBuilder.ts
  • packages/apps/src/server/accessors/MessageExtender.ts
  • packages/apps/src/server/accessors/MessageRead.ts
  • packages/apps/src/server/accessors/MessageUpdater.ts
  • packages/apps/src/server/accessors/ModerationModify.ts
  • packages/apps/src/server/accessors/Modify.ts
  • packages/apps/src/server/accessors/ModifyCreator.ts
  • packages/apps/src/server/accessors/ModifyDeleter.ts
  • packages/apps/src/server/accessors/ModifyExtender.ts
  • packages/apps/src/server/accessors/ModifyUpdater.ts
  • packages/apps/src/server/accessors/Notifier.ts
  • packages/apps/src/server/accessors/OAuthAppsModify.ts
  • packages/apps/src/server/accessors/OAuthAppsReader.ts
  • packages/apps/src/server/accessors/OutboundCommunicationProviderExtend.ts
  • packages/apps/src/server/accessors/Persistence.ts
  • packages/apps/src/server/accessors/PersistenceRead.ts
  • packages/apps/src/server/accessors/Reader.ts
  • packages/apps/src/server/accessors/RoleRead.ts
  • packages/apps/src/server/accessors/RoomBuilder.ts
  • packages/apps/src/server/accessors/RoomExtender.ts
  • packages/apps/src/server/accessors/RoomRead.ts
  • packages/apps/src/server/accessors/SchedulerExtend.ts
  • packages/apps/src/server/accessors/SchedulerModify.ts
  • packages/apps/src/server/accessors/ServerSettingRead.ts
  • packages/apps/src/server/accessors/ServerSettingUpdater.ts
  • packages/apps/src/server/accessors/ServerSettingsModify.ts
  • packages/apps/src/server/accessors/SettingRead.ts
  • packages/apps/src/server/accessors/SettingUpdater.ts
  • packages/apps/src/server/accessors/SettingsExtend.ts
  • packages/apps/src/server/accessors/SlashCommandsExtend.ts
  • packages/apps/src/server/accessors/SlashCommandsModify.ts
  • packages/apps/src/server/accessors/ThreadRead.ts
  • packages/apps/src/server/accessors/UIController.ts
  • packages/apps/src/server/accessors/UIExtend.ts
  • packages/apps/src/server/accessors/UploadCreator.ts
  • packages/apps/src/server/accessors/UploadRead.ts
  • packages/apps/src/server/accessors/UserBuilder.ts
  • packages/apps/src/server/accessors/UserRead.ts
  • packages/apps/src/server/accessors/UserUpdater.ts
  • packages/apps/src/server/accessors/VideoConfProviderExtend.ts
  • packages/apps/src/server/accessors/VideoConferenceBuilder.ts
  • packages/apps/src/server/accessors/VideoConferenceExtend.ts
  • packages/apps/src/server/accessors/VideoConferenceRead.ts
  • packages/apps/src/server/accessors/index.ts
  • packages/apps/src/server/bridges/ApiBridge.ts
  • packages/apps/src/server/bridges/AppActivationBridge.ts
  • packages/apps/src/server/bridges/AppBridges.ts
  • packages/apps/src/server/bridges/AppDetailChangesBridge.ts
  • packages/apps/src/server/bridges/BaseBridge.ts
  • packages/apps/src/server/bridges/CloudWorkspaceBridge.ts
  • packages/apps/src/server/bridges/CommandBridge.ts
  • packages/apps/src/server/bridges/ContactBridge.ts
  • packages/apps/src/server/bridges/EmailBridge.ts
  • packages/apps/src/server/bridges/EnvironmentalVariableBridge.ts
  • packages/apps/src/server/bridges/ExperimentalBridge.ts
  • packages/apps/src/server/bridges/HttpBridge.ts
  • packages/apps/src/server/bridges/IInternalBridge.ts
  • packages/apps/src/server/bridges/IInternalFederationBridge.ts
  • packages/apps/src/server/bridges/IInternalPersistenceBridge.ts
  • packages/apps/src/server/bridges/IInternalSchedulerBridge.ts
  • packages/apps/src/server/bridges/IInternalUserBridge.ts
  • packages/apps/src/server/bridges/IListenerBridge.ts
  • packages/apps/src/server/bridges/InternalBridge.ts
  • packages/apps/src/server/bridges/ListenerBridge.ts
  • packages/apps/src/server/bridges/LivechatBridge.ts
  • packages/apps/src/server/bridges/MessageBridge.ts
  • packages/apps/src/server/bridges/ModerationBridge.ts
  • packages/apps/src/server/bridges/OAuthAppsBridge.ts
  • packages/apps/src/server/bridges/OutboundMessagesBridge.ts
  • packages/apps/src/server/bridges/PersistenceBridge.ts
  • packages/apps/src/server/bridges/RoleBridge.ts
  • packages/apps/src/server/bridges/RoomBridge.ts
  • packages/apps/src/server/bridges/SchedulerBridge.ts
  • packages/apps/src/server/bridges/ServerSettingBridge.ts
  • packages/apps/src/server/bridges/ThreadBridge.ts
  • packages/apps/src/server/bridges/UiInteractionBridge.ts
  • packages/apps/src/server/bridges/UploadBridge.ts
  • packages/apps/src/server/bridges/UserBridge.ts
  • packages/apps/src/server/bridges/VideoConferenceBridge.ts
  • packages/apps/src/server/bridges/index.ts
  • packages/apps/src/server/compiler/AppCompiler.ts
  • packages/apps/src/server/compiler/AppFabricationFulfillment.ts
  • packages/apps/src/server/compiler/AppImplements.ts
  • packages/apps/src/server/compiler/AppPackageParser.ts
  • packages/apps/src/server/compiler/IParseAppPackageResult.ts
  • packages/apps/src/server/compiler/index.ts
  • packages/apps/src/server/compiler/modules/index.ts
  • packages/apps/src/server/compiler/modules/networking.ts
  • packages/apps/src/server/errors/AppOutboundProcessError.ts
  • packages/apps/src/server/errors/CommandAlreadyExistsError.ts
  • packages/apps/src/server/errors/CommandHasAlreadyBeenTouchedError.ts
  • packages/apps/src/server/errors/CompilerError.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@d-gubert d-gubert force-pushed the feat/apps-engine-split--pr2d-remove-apps-engine-files branch from a81d286 to a908c44 Compare April 30, 2026 16:16
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 30, 2026

Codecov Report

❌ Patch coverage is 57.14286% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 69.60%. Comparing base (b077bac) to head (673d4f7).

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop   #40343      +/-   ##
===========================================
- Coverage    69.67%   69.60%   -0.07%     
===========================================
  Files         3317     3317              
  Lines       121867   121868       +1     
  Branches     21781    21761      -20     
===========================================
- Hits         84907    84831      -76     
- Misses       33652    33713      +61     
- Partials      3308     3324      +16     
Flag Coverage Δ
e2e 58.98% <ø> (-0.04%) ⬇️
e2e-api 46.32% <0.00%> (-0.09%) ⬇️
unit 70.41% <100.00%> (-0.09%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@d-gubert d-gubert force-pushed the feat/apps-engine-split--pr2c-flip-the-switch branch from 6bc4e83 to b8cb7a9 Compare May 4, 2026 19:22
@d-gubert d-gubert force-pushed the feat/apps-engine-split--pr2d-remove-apps-engine-files branch from aff63fd to a161706 Compare May 4, 2026 19:31
@d-gubert d-gubert force-pushed the feat/apps-engine-split--pr2c-flip-the-switch branch from b8cb7a9 to a7dcbfc Compare May 4, 2026 20:09
@d-gubert d-gubert force-pushed the feat/apps-engine-split--pr2d-remove-apps-engine-files branch from a161706 to c16e991 Compare May 4, 2026 20:15
@d-gubert d-gubert marked this pull request as ready for review May 6, 2026 20:21
@d-gubert d-gubert requested review from a team as code owners May 6, 2026 20:21
@d-gubert d-gubert changed the title feat(apps): apps-engine split, remove old files feat(apps): Migrate app management code from @rocket.chat/apps-engine to @rocket.chat/apps internal package May 6, 2026
@ggazzo ggazzo changed the base branch from feat/apps-engine-split--pr2c-flip-the-switch to develop May 7, 2026 16:53
@ggazzo ggazzo requested review from a team as code owners May 7, 2026 16:53
Comment thread packages/apps-engine/package.json Outdated
d-gubert and others added 8 commits May 7, 2026 14:00
Adds `src/definition/version.ts` which reads the package version via
`resolveJsonModule` and exports it as `ENGINE_VERSION`.

Replaces `AppPackageParser.getEngineVersion()` — which resolved the
version by traversing the filesystem relative to `__dirname` — with a
direct import of `ENGINE_VERSION`. This removes the assumption that
`package.json` lives at a predictable relative path, which will break
when `AppPackageParser` moves to a different package during the
apps-engine split.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

fix(apps-engine): fix ENGINE_VERSION runtime path in compiled output

Static `import { version } from '../../package.json'` resolves correctly
during TypeScript compilation (source lives at src/definition/) but the
emitted require('../../package.json') exits the package root at runtime
once compiled to definition/version.js (outDir='.', rootDir='./src').

Switching to require('../package.json') — which is the correct path
relative to the compiled output — and bypassing TypeScript's compile-time
module resolution avoids the path mismatch entirely.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copies src/server/ from @rocket.chat/apps-engine verbatim, then
rewrites all relative definition/ imports to package imports
(`@rocket.chat/apps-engine/definition/...`).

apps-engine still contains its server code at this point — this is an
additive copy only. The deletion happens in a later PR once @packages/apps
is confirmed working independently.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copies src/client/ (AppClientManager, AppsEngineUIHost, AppsEngineUIClient)
from @rocket.chat/apps-engine, rewriting relative definition/ imports to
package imports.

This code is a known rough edge: browser-side UI host logic does not
semantically belong in a server orchestration package. It is consolidated
here for pragmatic simplicity during the apps-engine split. A future
@rocket.chat/apps-client package is tracked in the TODO comment added to
src/client/index.ts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copies deno-runtime/ verbatim from @rocket.chat/apps-engine.

The import map in deno.jsonc still points to ./../src/ which is only
valid in the current location (apps-engine). Making the import map
location-independent (using a runtime-generated map) is handled in a
dedicated follow-up PR to keep the diff focused.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… directly

The old src/bridges/IListenerBridge.ts used module augmentation
(`declare module '@rocket.chat/apps-engine/server/bridges'`) to extend
IListenerBridge with core-typings-specific overloads. Now that
IListenerBridge lives in this package, the augmentation workaround is no
longer needed. The extra overload signatures are merged directly into
src/server/bridges/IListenerBridge.ts and the augmentation file is deleted.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
d-gubert and others added 20 commits May 7, 2026 14:00
Strip @rocket.chat/apps-engine down to the definition layer only.
All runtime code (AppManager, bridges, compiler, deno-runtime, etc.)
has already been moved to @rocket.chat/apps in previous commits.

Updates package.json, tsconfig.json, and turbo.json to reflect the
narrower scope (definition/**  and lib/** outputs only).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
These files were already moved to @rocket.chat/apps/src/client but were
not deleted from apps-engine in the previous cleanup commit. They caused
TypeScript build errors because their dependencies (constants, utils,
definition sub-files) had been removed.

Co-authored-by: d-gubert <1810309+d-gubert@users.noreply.github.com>
These files were already moved to @rocket.chat/apps/src/server but were
not deleted from apps-engine in the previous cleanup commit. They caused
TypeScript build errors because many of their dependencies (bridges,
managers, errors, storage types, etc.) had been removed from apps-engine.

Co-authored-by: d-gubert <1810309+d-gubert@users.noreply.github.com>
@d-gubert d-gubert force-pushed the feat/apps-engine-split--pr2d-remove-apps-engine-files branch from 6d138b7 to 673d4f7 Compare May 7, 2026 17:06
@d-gubert d-gubert added this to the 8.5.0 milestone May 7, 2026
@ggazzo ggazzo added the stat: QA assured Means it has been tested and approved by a company insider label May 7, 2026
@dionisio-bot dionisio-bot Bot added the stat: ready to merge PR tested and approved waiting for merge label May 7, 2026
@rc-layne
Copy link
Copy Markdown

rc-layne Bot commented May 7, 2026

🔴 Layne — 3 finding(s)

Found 3 issue(s): 3 high.

@d-gubert
Copy link
Copy Markdown
Member Author

d-gubert commented May 7, 2026

/layne exception-approve LAYNE-c62cb997f4757617 LAYNE-b7a114d497e516af LAYNE-8fde114514b41f27 reason: executed command is always Deno, as it has always been

@ggazzo ggazzo merged commit 2a927fa into develop May 7, 2026
45 of 46 checks passed
@ggazzo ggazzo deleted the feat/apps-engine-split--pr2d-remove-apps-engine-files branch May 7, 2026 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-security-review stat: QA assured Means it has been tested and approved by a company insider stat: ready to merge PR tested and approved waiting for merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants