RocketChat / RocketChat/Rocket.Chat

Jitsi cannot be enabled after upgrading from 8.4.3 to 8.5.0 due to broken symlink in /tmp/apps-engine-temp/

Open
#40,944 4 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: bug
Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

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:
  1. Install Rocket.Chat 8.4.3 via tar under /opt/Rocket.Chat and confirm
    Jitsi works correctly.
  2. Upgrade to 8.5.0 by replacing the installation directory with the new
    tar archive and running npm install.
  3. Start the Rocket.Chat service.
  4. 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".

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Apps-Engine symlink creation logic that creates /tmp/apps-engine-temp/deno-runtime, then inspect how it resolves the installed runtime under @rocket.chat/apps-engine and @rocket.chat/apps. Reproduce the 8.5.0 upgrade and Jitsi enablement failure, and verify that the symlink resolves to @rocket.chat/apps/deno-runtime/main.ts and Jitsi enables successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.