Skip to content

Add basic support for Widgets and Jitsi conferences

This patch series adds basic support for widgets and Jitsi conferences.

It adds an "Extensions" room info view listing all the currently installed extensions ("widgets"; Matrix/Element is not consistent with its naming here):
image

As well as a toolbar button to either create a new Jitsi or join an existing one:
image

Widgets are not yet formally specified; the best we have right now is the draft of the spec and reading Element Web sources. Thus we have to deal with some quirks:

  • Jitsi widgets as implement by Element's/New Vector's integration manager go against the spec. The url field in the widget event's content is completely ignored by Element and instead a Element-provided "wrapper" is loaded. Clients can of course do whatever they want; but the url field in the content should at least still be valid so that third-party clients can still use the widget. That's not the case with integration-manager provided Jitsis, however.
  • All the widget URLs created by New Vector's integration manager are "wrappers" and require login with the integration manager. I'm not sure whether that is by design or just an oversight on their part. I understand that using an integration manager to create widgets on your behalf must require authentication somehow, but just using those should not require any login whatsoever I think.
    That's not the case right now, so for "known widget types" we'll just ignore the provided URL of the wrapper and create one for backing service directly.

We create Jitsi widgets just like Element does (even though it's not compliant), but then we can be sure to be compatible.

Merge request reports

Loading