RocketChat / RocketChat/Rocket.Chat
Jitsi call between servers in federation mode is not working
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description:
Hi,
Jitsi is enabled on our servers.
It's working well between users on the same server.
But when clicking "Video Chat" in a chat with users from servers in federation, users on remote server don't see the "click to join !"
Steps to reproduce:
On the first server we launch the video chat:

On the remote server there is no "click to join !":

Server Setup Information:
- Version of Rocket.Chat Server: 3.0.12
- Operating System: Ubuntu Server 18.04
- Deployment Method: Manual Install
- Number of Running Instances: 2
- NodeJS Version: 12.14.0
- MongoDB Version: 4.0.17
Relevant logs:
On log we have this:
Exception while invoking method 'jitsi:updateTimeout' TypeError: resource.mentions is not iterable at Object.normalizeMessage (app/federation/server/normalizers/message.js:62:33) at app/federation/server/hooks/afterSaveMessage.js:22:102 at /opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40 => awaited here: at Function.Promise.await (/opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12) at callback (app/federation/server/hooks/afterSaveMessage.js:33:39) at callbacks.runItem (app/callbacks/lib/callbacks.js:110:70) at Object.callbacks.runItem (app/metrics/server/callbacksMetrics.js:24:20) at app/callbacks/lib/callbacks.js:39:35 at app/callbacks/lib/callbacks.js:45:45 at app/callbacks/lib/callbacks.js:45:47 at callbacks.run (app/callbacks/lib/callbacks.js:126:9) at Object.callbacks.run (app/metrics/server/callbacksMetrics.js:14:17) at MethodInvocation.jitsi:updateTimeout (app/videobridge/server/methods/jitsiSetTimeout.js:42:14) at MethodInvocation.methodsMap. (app/lib/server/lib/debug.js:67:34) at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12) at packages/ddp-server/livedata_server.js:719:19 at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js🔢12) at packages/ddp-server/livedata_server.js:717:46 at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js🔢12) at packages/ddp-server/livedata_server.js:715:46 at new Promise () at Session.method (packages/ddp-server/livedata_server.js:689:23) at packages/ddp-server/livedata_server.js:559:43
Thanks !
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading app/federation/server/normalizers/message.js and the afterSaveMessage.js hook, then trace the jitsi:updateTimeout call in app/videobridge/server/methods/jitsiSetTimeout.js. Reproduce the federated Jitsi call and verify that the remote users receive the “click to join!” prompt without the resource.mentions error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100