Description:
After upgrading Rocket.Chat from 8.4.3 to 8.5.0, the Jitsi app cannot be
enabled. The root cause is a broken symlink at /tmp/apps-engine-temp/deno-runtime.
In 8.5.0, the deno-runtime/ directory was moved from the
@rocket.chat/apps-engine package to the @rocket.chat/apps package.
However, the symlink at /tmp/apps-engine-temp/deno-runtime still points
to the old path (@rocket.chat/apps-engine/deno-runtime), which no longer
exists, causing Deno to fail to load main.ts.
Old (broken) symlink target:
/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine/deno-runtime
Correct path (where main.ts actually exists in 8.5.0):
/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps/deno-runtime/main.ts
Workaround:
Manually re-create the symlink to point to the correct path:
systemctl stop rocketchat
rm /tmp/apps-engine-temp/deno-runtime
ln -s /opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps/deno-runtime \
/tmp/apps-engine-temp/deno-runtime
chown -h rocketchat:rocketchat /tmp/apps-engine-temp/deno-runtime
systemctl start rocketchat
After applying this workaround, Jitsi can be enabled successfully.
The symlink persists across service restarts (Apps-Engine does not
regenerate it on startup), so the workaround remains effective until
a fix is released.
Steps to reproduce:
- Install Rocket.Chat 8.4.3 via tar under
/opt/Rocket.Chat and confirm
Jitsi works correctly.
- Upgrade to 8.5.0 by replacing the installation directory with the new
tar archive and running npm install.
- Start the Rocket.Chat service.
- Go to Administration > Apps > Marketplace and attempt to enable Jitsi.
Expected behavior:
Jitsi can be enabled without errors, as it was in 8.4.3.
Actual behavior:
Enabling Jitsi fails. The following error is recorded in /var/log/messages:
Subprocess stderr error: Module not found
"file:///tmp/apps-engine-temp/deno-runtime/main.ts".
The symlink /tmp/apps-engine-temp/deno-runtime points to
/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine/deno-runtime,
which does not exist in 8.5.0.
Server Setup Information:
- Version of Rocket.Chat Server: 8.5.0 (confirmed working on 8.4.3)
- License Type: Community
- Number of Users: 20
- Operating System: Rocky Linux 9.7
- Deployment Method: tar (extracted to /opt/Rocket.Chat)
- Number of Running Instances: 1
- DB Replicaset Oplog: enabled
- NodeJS Version: v22.22.3
- MongoDB Version: 8.2.11 / wiredTiger
Additional context:
The @rocket.chat/apps-engine package under
/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine/
does not contain a deno-runtime/ directory in 8.5.0.
The directory listing of that package is as follows:
CHANGELOG.md
definition/
.deno-cache/
.gitignore
node_modules/
package.json
README.md
src/
tsconfig.json
tsconfig-lint.json
turbo.json
typedoc.json
main.ts is only found at:
/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps/deno-runtime/main.ts
This suggests that deno-runtime/ was relocated from @rocket.chat/apps-engine
to @rocket.chat/apps in 8.5.0, but the symlink creation logic in
Apps-Engine was not updated accordingly.
Relevant logs:
Subprocess stderr error: Module not found
"file:///tmp/apps-engine-temp/deno-runtime/main.ts".
Description:
After upgrading Rocket.Chat from 8.4.3 to 8.5.0, the Jitsi app cannot be
enabled. The root cause is a broken symlink at
/tmp/apps-engine-temp/deno-runtime.In 8.5.0, the
deno-runtime/directory was moved from the@rocket.chat/apps-enginepackage to the@rocket.chat/appspackage.However, the symlink at
/tmp/apps-engine-temp/deno-runtimestill pointsto the old path (
@rocket.chat/apps-engine/deno-runtime), which no longerexists, causing Deno to fail to load
main.ts.Old (broken) symlink target:
/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine/deno-runtimeCorrect path (where main.ts actually exists in 8.5.0):
/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps/deno-runtime/main.tsWorkaround:
Manually re-create the symlink to point to the correct path:
After applying this workaround, Jitsi can be enabled successfully.
The symlink persists across service restarts (Apps-Engine does not
regenerate it on startup), so the workaround remains effective until
a fix is released.
Steps to reproduce:
/opt/Rocket.Chatand confirmJitsi works correctly.
tar archive and running
npm install.Expected behavior:
Jitsi can be enabled without errors, as it was in 8.4.3.
Actual behavior:
Enabling Jitsi fails. The following error is recorded in
/var/log/messages:The symlink
/tmp/apps-engine-temp/deno-runtimepoints to/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine/deno-runtime,which does not exist in 8.5.0.
Server Setup Information:
Additional context:
The
@rocket.chat/apps-enginepackage under/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine/does not contain a
deno-runtime/directory in 8.5.0.The directory listing of that package is as follows:
main.tsis only found at:/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps/deno-runtime/main.tsThis suggests that
deno-runtime/was relocated from@rocket.chat/apps-engineto
@rocket.chat/appsin 8.5.0, but the symlink creation logic inApps-Engine was not updated accordingly.
Relevant logs: