RocketChat / RocketChat/Rocket.Chat

Jitsi call between servers in federation mode is not working

Open
#17,202 12 comments 1 reaction 0 assignees View on GitHub

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:

image

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

image

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.