Skip to content

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

@ymch

Description

@ymch

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".

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions