Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Voice call" button in group chats doesn't make full use of Integration Manager settings #11074

Closed
mrjohnson22 opened this issue Oct 7, 2019 · 6 comments · Fixed by #12780
Closed

Comments

@mrjohnson22
Copy link

mrjohnson22 commented Oct 7, 2019

Description

After having chosen a custom Integration Manager, Jitsi widgets created by the "Voice call" button in group chats may not use the correct Jitsi URL. This leads the Jitsi widget to not load.

Steps to reproduce

  • Log on to either riot.im/app, or a Riot/Web that uses the default integrations_ URLs in its config.json
  • Set a custom Integration Manager (a Dimension domain is recommended)
  • Enter/join a group chat and get permissions to add/edit widgets
  • Click the "Voice call" button

Result: A Jitsi widget appears, but it remains blank.

In contrast, Jitsi widgets created through the Integration Manager menu (the four-squares icon) work as expected.

Also, if config.json's integration_ URLs point to that of a custom Integration Mamager (in the case of Dimension, the URLs listed on its homepage), the problem goes away.

What appears to be the problem is the widget URL used by Riot when clicking on the "Voice call" button. The URL used is the following (non-working case):

https://<integration_manager_domain>/api/v1/scalar/widgets/jitsi.html

In contrast, after having edited config.json or using the Integration Manager menu, a Jitsi widget has the following URL (at least in the case of Dimension) (working case):

https://<integration_manager_domain>/widgets/jitsi

Also, only the latter case includes query parameters from the v2 Widget API, notably domain, in the widget URL. If possible, it should always be used, so that clients which load a Jitsi view directly (instead of a page with a button that redirects to a Jitsi page) can refer to the domain parameter to connect to Jitsi calls hosted at a non-default domain.

Version information

  • Platform: web
  • Browser: Firefox 69.0.2
  • OS: Fedora 30
  • URL: riot.im/app / private server
  • Riot/Web version v1.4.2

EDIT: the query parameter I meant was domain, not hostname.

@turt2live
Copy link
Member

This is fixed by a "make me a widget" API that we don't currently have. The current solution of a config option is not sustainable.

Note that Dimension also uses jitsi.riot.im by default - if this isn't okay with you, set your own Jitsi server and enable the force flag (which introduces some compatibility problems on mobile) to enforce usage of it on riot-web.

Related:

@turt2live
Copy link
Member

We're depriotizing this for now because it's missing a prerequisite. We can't really fix it from a Riot perspective at the moment and would need the "make a widget" API. This API is somewhere in the pipeline of things to happen, and this issue is one of the leading reasons for it existing.

@perkooo
Copy link

perkooo commented Dec 10, 2019

This issue is also really blocking for me as I can't configure our integration manager (Dimension) self-hosted.
Even if I configure the default jitsi.riot.im, the voice/conf call button does not work on Applications (only on riot-web). A blank page in the widget appears.

@turt2live
Copy link
Member

Change the jitsi conference URL in your config.json - visiting Dimension in a web browser will give you instructions on what to do.

@perkooo
Copy link

perkooo commented Dec 10, 2019

I already did this, it worked perfectly on riot-web (with default jitsi.riot.im or my jitsi server) where I can see the new URL.
But it does not work on client applications (like for Ubuntu, Windows or Android), the button "Call" with multiple users is still giving me a blank page in the widget (calling another external URL).

@turt2live
Copy link
Member

There's also a desktop config file you can change. Other than that, this is stuck in the state described just a few comments earlier: #11074 (comment)

turt2live added a commit that referenced this issue Mar 18, 2020
Effectively fixes #11074
Effectively fixes #7112
Fixes #6930
Fixes Jitsi widgets not working for guests (#8933)
Fixes #5048

Previously we were relying on an integration manager to be defined, functional, and alive in order to join Jitsi calls. This commit changes this so we aren't reliant on an integration manager for Jitsi calls at all, and gives people the option of choosing a Jitsi server via the config.json.

This side is just the wrapper/shell: the logic is mostly in the react-sdk (to be linked via PRs). This layer simply has an HTML file exported that can be used to render a Jitsi widget, and the react-sdk constructs a URL to access it locally. This is similar to how the mobile apps handle Jitsi widgets: instead of iframing the widget URL directly into the app, they pull apart the widget information and natively render it. We're effectively doing the same here by parsing the widget options and using our local wrapper instead of whatever happens to be defined in the widget state event.

Integration managers should still continue to offer a widget URL for Jitsi widgets as this is what the spec requires.

A large part of this is based upon Dimension's handling of Jitsi and widgets in general: a license has been granted to allow Riot (and therefore the react-sdk) to use the code and be inspired by it.
su-ex added a commit to SchildiChat/element-web that referenced this issue Feb 22, 2024
* Remove `feature_favourite_messages` as it is has been abandoned for now ([\#11097](matrix-org/matrix-react-sdk#11097)). Fixes element-hq#25555.
* Don't setup keys on login when encryption is force disabled ([\element-hq#11125](matrix-org/matrix-react-sdk#11125)). Contributed by @kerryarchibald.
* OIDC: attempt dynamic client registration ([\element-hq#11074](matrix-org/matrix-react-sdk#11074)). Fixes element-hq#25468 and element-hq#25467. Contributed by @kerryarchibald.
* OIDC: Check static client registration and add login flow ([\element-hq#11088](matrix-org/matrix-react-sdk#11088)). Fixes element-hq#25467. Contributed by @kerryarchibald.
* Improve message body output from plain text editor ([\element-hq#11124](matrix-org/matrix-react-sdk#11124)). Contributed by @alunturner.
* Disable encryption toggle in room settings when force disabled ([\element-hq#11122](matrix-org/matrix-react-sdk#11122)). Contributed by @kerryarchibald.
* Add .well-known config option to force disable encryption on room creation ([\element-hq#11120](matrix-org/matrix-react-sdk#11120)). Contributed by @kerryarchibald.
* Handle permalinks in room topic ([\element-hq#11115](matrix-org/matrix-react-sdk#11115)). Fixes element-hq#23395.
* Add at room avatar for RTE ([\element-hq#11106](matrix-org/matrix-react-sdk#11106)). Contributed by @alunturner.
* Remove new room breadcrumbs ([\element-hq#11104](matrix-org/matrix-react-sdk#11104)).
* Update rich text editor dependency and associated changes ([\element-hq#11098](matrix-org/matrix-react-sdk#11098)). Contributed by @alunturner.
* Implement new model, hooks and reconcilation code for new GYU notification settings ([\element-hq#11089](matrix-org/matrix-react-sdk#11089)). Contributed by @justjanne.
* Allow maintaining a different right panel width for thread panels ([\element-hq#11064](matrix-org/matrix-react-sdk#11064)). Fixes element-hq#25487.
* Make AppPermission pane scrollable ([\element-hq#10954](matrix-org/matrix-react-sdk#10954)). Fixes element-hq#25438 and element-hq#25511. Contributed by @luixxiul.
* Integrate compound design tokens ([\element-hq#11091](matrix-org/matrix-react-sdk#11091)). Fixes vector-im/internal-planning#450.
* Don't warn about the effects of redacting state events when redacting non-state-events ([\element-hq#11071](matrix-org/matrix-react-sdk#11071)). Fixes element-hq#8478.
* Allow specifying help URLs in config.json ([\element-hq#11070](matrix-org/matrix-react-sdk#11070)). Fixes element-hq#15268.
* Fix error when generating error for polling for updates ([\element-hq#25609](element-hq#25609)).
* Fix spurious notifications on non-live events ([\element-hq#11133](matrix-org/matrix-react-sdk#11133)). Fixes element-hq#24336.
* Prevent auto-translation within composer ([\#11114](matrix-org/matrix-react-sdk#11114)). Fixes element-hq#25624.
* Fix caret jump when backspacing into empty line at beginning of editor ([\#11128](matrix-org/matrix-react-sdk#11128)). Fixes element-hq#22335.
* Fix server picker not allowing you to switch from custom to default ([\element-hq#11127](matrix-org/matrix-react-sdk#11127)). Fixes element-hq#25650.
* Consider the unthreaded read receipt for Unread dot state ([\element-hq#11117](matrix-org/matrix-react-sdk#11117)). Fixes element-hq#24229.
* Increase RTE resilience ([\element-hq#11111](matrix-org/matrix-react-sdk#11111)). Fixes element-hq#25277. Contributed by @alunturner.
* Fix RoomView ignoring alias lookup errors due to them not knowing the roomId ([\element-hq#11099](matrix-org/matrix-react-sdk#11099)). Fixes element-hq#24783 and element-hq#25562.
* Fix style inconsistencies on SecureBackupPanel ([\element-hq#11102](matrix-org/matrix-react-sdk#11102)). Fixes element-hq#25615. Contributed by @luixxiul.
* Remove unknown MXIDs from invite suggestions ([\element-hq#11055](matrix-org/matrix-react-sdk#11055)). Fixes element-hq#25446.
* Reduce volume of ring sounds to normalised levels ([\element-hq#9143](matrix-org/matrix-react-sdk#9143)). Contributed by @JMoVS.
* Fix slash commands not being enabled in certain cases ([\element-hq#11090](matrix-org/matrix-react-sdk#11090)). Fixes element-hq#25572.
* Prevent escape in threads from sending focus to main timeline composer ([\element-hq#11061](matrix-org/matrix-react-sdk#11061)). Fixes element-hq#23397.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants