Commit Graph

39 Commits (dae2f6c442db7e0ed9af370148e6c453f97a6cc2)

Author SHA1 Message Date
Michael Telatynski 593a56e2d7 Jitsi accept theme variable and restyle
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-19 19:40:53 +01:00
J. Ryan Stinnett dfb1579625 Adjust for new widget messaging APIs
As part of changing to the `events` package, the API surface changed slightly.

Related to https://github.com/vector-im/element-web/issues/15493
2020-10-19 16:43:55 +01:00
Travis Ralston 917a85ead9 Don't fatally end the Jitsi widget when it's not being used as a widget 2020-10-14 16:16:08 -06:00
Travis Ralston 9cb823b210 Fix join button 2020-10-01 09:59:13 -06:00
Travis Ralston cdf9547220 Appease the linter 2020-09-30 20:51:31 -06:00
Travis Ralston 7b93c56bd0 Fix custom hangup button 2020-09-30 20:09:42 -06:00
Travis Ralston c56368cdbb Fix hangup button handler 2020-09-29 13:20:16 -06:00
Travis Ralston 15a8ee6663 Merge branch 'develop' into travis/widget-api 2020-09-29 13:17:18 -06:00
Travis Ralston 82749c3de3 Fix Jitsi for new widget-api 2020-09-24 13:25:59 -06:00
Travis Ralston c7617c2538 Fix bad merge 2020-09-22 09:01:55 -06:00
Travis Ralston 465a2ce314 Merge branch 'develop' into travis/widget-api 2020-09-22 09:00:48 -06:00
Travis Ralston 05d5e3f680 Remove debugging 2020-09-17 14:59:43 -06:00
Travis Ralston 737fa7dca5 Jitsi widget wrapper updates for hangup button
See https://github.com/matrix-org/matrix-react-sdk/pull/5223
2020-09-16 14:39:40 -06:00
Jason Robinson 7018a498a7 Quieten some IDE warnings 2020-09-08 12:52:17 +03:00
Jason Robinson 579650a1dd Move most of the OpenID token flow to WidgetAPI 2020-09-08 12:50:53 +03:00
Jason Robinson a7abd8599e More usage of constants 2020-09-08 11:44:11 +03:00
Jason Robinson 3309b2ec55 Block on matrix-org/matrix-react-sdk#5172
And shuffle code around a bit.
2020-09-08 11:37:50 +03:00
Jason Robinson 151dd5709c
Fix import
Co-authored-by: Travis Ralston <travpc@gmail.com>
2020-09-08 11:32:09 +03:00
Jason Robinson 21c862fe2b Remove console.log 2020-09-07 20:47:07 +03:00
Jason Robinson 3b434a70d2 Fix typo 2020-09-07 20:36:26 +03:00
Jason Robinson acfd7252bd Remove todo 2020-09-07 20:26:05 +03:00
Jason Robinson 4164df647c Improve error messsage of Jitsi widget
If openidtoken request fails, show
an error. Also render error a bit nicer
in generic widget load errors.
2020-09-07 19:51:16 +03:00
Jason Robinson 2205f0611e Add some links to the openidtoken-jwt spec 2020-09-07 19:25:44 +03:00
Jason Robinson 0410a6b3be Use Jitsi domain in the JWT issuer 2020-09-07 19:23:36 +03:00
Jason Robinson 8534328921 Implement OpenID token fetch from Jitsi widget
Using MSC1960 to fetch an OpenID token via postmessage API. This is needed
for Jitsi openidtoken-jwt auth.
2020-09-07 18:10:19 +03:00
Travis Ralston 2fa8b0f8b2 Make the types happy 2020-09-04 22:02:18 -06:00
Travis Ralston 69745bbd40 Switch to using the Widget API SDK for Jitsi widgets 2020-09-04 21:55:50 -06:00
Jason Robinson 5108697ac8 Add support for Jitsi openidtoken-jwt auth
If the widget URL specifies this auth, generate a JWT token
containing the info needed by the Jitsi backend.
2020-09-04 13:14:52 +03:00
Jorik Schellekens 9bb1f99bd9 Confiure eslint package and fix lint issues 2020-07-21 11:30:28 +01:00
J. Ryan Stinnett ffab08bd60 Update various brand instances in code 2020-07-13 17:32:17 +01:00
Travis Ralston ab29ec123e
Merge pull request #12968 from vector-im/travis/jitsi-errors
Add a console warning that errors from Jitsi Meet are fine
2020-04-01 10:54:06 -06:00
David Baker 0bf05e3c7b Make widget API use optional
So we can work when popped out into a browser
2020-04-01 11:08:53 +01:00
David Baker 421fcb115f Give the jitsi wrapper its own external api script 2020-04-01 10:38:49 +01:00
Travis Ralston 13a7b71e08 Add a console warning that errors from Jitsi Meet are fine
See diff for info.

We use the fragment to avoid sending conference information to the web server where possible.
2020-03-31 12:19:17 -06:00
Travis Ralston bde5679d11 Ask for Riot config over postMessage for the Jitsi widget
Fixes https://github.com/vector-im/riot-web/issues/12839 by not using the app load order that doesn't detect the right platform anyways.
2020-03-24 09:54:15 -06:00
Travis Ralston 4087ba0c5c
Revert "Remove useless app preloading from Jitsi widget wrapper" 2020-03-24 09:14:59 -06:00
Travis Ralston 350a52b44e Remove useless app preloading from Jitsi widget wrapper
We should always have conference information, and if we don't then the widget is invalid.
2020-03-23 10:38:10 -06:00
Travis Ralston 09e26d0882 Misc case changes, comment updates 2020-03-19 11:47:43 -06:00
Travis Ralston e1eb16ce46 Use a local widget wrapper for Jitsi calls
Effectively fixes https://github.com/vector-im/riot-web/issues/11074
Effectively fixes https://github.com/vector-im/riot-web/issues/7112
Fixes https://github.com/vector-im/riot-web/issues/6930
Fixes Jitsi widgets not working for guests (https://github.com/vector-im/riot-web/issues/8933)
Fixes https://github.com/vector-im/riot-web/issues/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.
2020-03-18 15:48:02 -06:00