Commit graph

302 commits

Author SHA1 Message Date
Michael Telatynski
2823156ef6 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/display-capture 2020-08-28 17:26:10 +01:00
Michael Telatynski
b9cfa95ceb Add display-capture to iframe allow 2020-08-28 17:06:56 +01:00
Travis Ralston
96087d61f6 Convert feature setting usages to regular settings 2020-08-17 13:12:18 -06:00
J. Ryan Stinnett
538e222d1f
Merge pull request #5081 from matrix-org/msuess/fix-edit-multiple-widget-instances
get screen type from app prop
2020-08-10 14:14:25 +01:00
J. Ryan Stinnett
ce226ab534 Replace Riot with Element in docs and comments
This only covers the simple cases of references to issues and repos. More
complex areas, such as deployment scripts, will be handled separately.

Part of https://github.com/vector-im/element-web/issues/14864
2020-08-03 18:33:36 +01:00
Marco Süß
5b8a8ecc5e get screen type from app prop 2020-08-03 16:26:25 +02:00
Travis Ralston
1f7f40736b Fix imports for SettingLevel to point at new file 2020-07-28 11:53:43 -06:00
Jorik Schellekens
b110639c76 Merge remote-tracking branch 'origin' into joriks/eslint-config 2020-06-29 16:49:33 +01:00
Andrew Morgan
6ea5dc7b7c Change the look of the spinner 2020-06-26 01:19:38 +01:00
Jorik Schellekens
7699aafcaf Use new eslint package- fix lint issues in ts and js 2020-06-23 17:01:19 +01:00
Travis Ralston
e4aeabe5a6
Merge pull request #4444 from pv/jitsi-popout-immediate-join
Ensure active Jitsi conference is closed on widget pop-out
2020-06-07 20:22:39 -06:00
Travis Ralston
90a898d03f Move dispatcher into a subdirectory
We're expecting to have a whole bunch of types for the dispatched payloads, so pull the thing into a directory we can throw them in.
2020-05-13 21:07:50 -06:00
David Baker
50107ebe47 Re-fix OpenID requests from widgets
https://github.com/matrix-org/matrix-react-sdk/pull/4591 reverted
https://github.com/matrix-org/matrix-react-sdk/pull/4459. We need
to pass both URLs as we need both the wURL (for the widget's 'identity'
ie. OpenID) and the URL that's actually in the iframe (for the
messaging).
2020-05-13 16:10:40 +01:00
David Baker
92824411e8 Fix persistent widgets on desktop / http
WidgetMessaging needs the URL of the widget that gets rendered into
the iframe because that's where the postmessages will be coming from.

Fixes https://github.com/vector-im/riot-web/issues/13369
2020-05-13 12:33:10 +01:00
Pauli Virtanen
38962560ac Style fixes
Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-28 02:29:20 +03:00
Travis Ralston
50783c2432 Appease the linter 2020-04-23 23:25:53 -06:00
Travis Ralston
28865e27bc Don't overwrite the 'domain' data key for all widgets
Some widgets, which aren't Jitsi widgets, might need this to be something else.
2020-04-23 15:24:27 -06:00
Travis Ralston
efaf4fbbda Decode dollar signs in safe widget URLs before rendering/templating
Fixes https://github.com/vector-im/riot-web/issues/13344
2020-04-23 15:24:27 -06:00
Travis Ralston
d66d497638
Merge pull request #4460 from matrix-org/travis/integ-logging
Update logging for unmanaged widgets, and add TODO comments for other areas
2020-04-23 08:17:54 -06:00
Pauli Virtanen
798f5d401b Ensure active Jitsi conference is closed on widget pop-out
Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 20:44:05 +03:00
Pauli Virtanen
cf4137d4b2 Make WidgetAPI an EventEmitter + use for terminate + cleanups
Use EventEmitter for emitting events, rename terminate event code,
plus misc cleanups from review.

Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 19:37:52 +03:00
Pauli Virtanen
352ea29d17 Implement widget ReceiveTerminate capability
Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 19:37:52 +03:00
Pauli Virtanen
94745e9407 Minimize widget immediately, and end it later
Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 19:37:52 +03:00
Pauli Virtanen
4fac781051 Tell widgets to terminate gracefully in AppTile:_endWidgetActions
If the widget fails to terminate in two seconds, proceed with disposing
the iframe nevertheless.

This allows e.g. Jitsi to hangup the conference when minimizing the
widget, instead of abrupt disconnect that can leave ghost users behind.

Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 19:37:52 +03:00
Travis Ralston
3a360b91b9 Update logging for unmanaged widgets, and add TODO comments for other areas
Just a minor thing that is bothersome. Renaming classes and functions is a bit more of an impact than is worth right now, so have settled for littering TODO comments all over the place.
2020-04-22 00:34:08 -06:00
Travis Ralston
d851f2e45f Fix OpenID requests from widgets
Fixes https://github.com/vector-im/riot-web/issues/13131

Widgets can request an OpenID token to authenticate the user when the widget is missing authentication information. A common case for this is the Dimension sticker picker: sometimes the Riot is running in doesn't have the configuration to match the Dimension instance, so Riot rightly refuses to send an auth token to the widget. When this happens, it requests a token through postMessage().

There's a toggle on the permission dialog to remember the setting, which is the widget's security key. As an added measure, the security key generation ensures the widget URL matches as the 'remember this choice' toggle will silently work in the background, and it could be dangerous if the widget's URL changed and Riot secretly allows the widget to identify the user. This check was failing because the WidgetMessaging class was being set up with the rendered URL, which will not match the widget's URL at all. To fix this, we simply use the widget's URL to set up the messaging, which by proxy uses the right URL in calculating the security key.
2020-04-22 00:27:20 -06:00
Travis Ralston
dc92f557fd Support m.jitsi-typed widgets as Jitsi widgets
Fixes https://github.com/vector-im/riot-web/issues/9268
2020-04-09 15:11:57 -06:00
Travis Ralston
db3c7a8f1c Obliterate widgets when they are minimized
Fixes https://github.com/vector-im/riot-web/issues/12810

We do this to all widgets as we can't guarantee what sorts of other widgets might need similar treatment.
2020-04-09 14:31:46 -06:00
Travis Ralston
b5aaae1c27 Fix encoding of widget arguments
Fixes https://github.com/vector-im/riot-web/issues/12985

This is done by using a more modern API and de-encoding dollar signs.
2020-04-08 12:58:52 -06:00
Travis Ralston
5c2841323e Appease the linter by turning it off 2020-04-01 14:45:54 -06:00
Travis Ralston
47e5cfecf2 Silence usages of componentWillReceiveProps
For https://github.com/vector-im/riot-web/issues/12877
2020-04-01 14:35:39 -06:00
Travis Ralston
ba0a9c8439 Use console.log in place of console.warn for less warnings
These aren't react warnings, but they are distracting in the logs.
2020-04-01 13:59:48 -06:00
Travis Ralston
0fcbe40bec
Merge pull request #4314 from matrix-org/travis/react-warnings/2-code-quality
Fix a number of minor code quality issues
2020-04-01 11:13:46 -06:00
Travis Ralston
59a99bbad8
Merge pull request #4313 from matrix-org/travis/react-warnings/1-componentDidMount
Use componentDidMount in place of componentWillMount where possible
2020-04-01 11:13:04 -06:00
David Baker
8aa24f8987 Fix jitsi popout URL
Needs the template variables filled in
2020-04-01 14:42:17 +01:00
David Baker
ce68b960f4 Use our own jitsi widget for the popout URL
rather than the URL supplied by the widget
2020-04-01 13:58:44 +01:00
David Baker
9b4ce02eaf lint 2020-04-01 11:28:02 +01:00
David Baker
a2f92e93a7 Use URL without wurl params for popout
The popout can't be assumed to have the widget API available, so
just leave these params out.
2020-04-01 11:18:45 +01:00
David Baker
538147f7fa Better support for widgets overriding their URLs
Move the URL processing into AppTile so that the widget can have a
URL used for embedding in the page and a separate one for popping
out into a browser.
2020-04-01 10:00:33 +01:00
Travis Ralston
3f99332f4b Use componentDidMount in place of componentWillMount where possible
This fixes a common React warning we see. Most of these components should be using constructors instead, however componentDidMount is just as good (and doesn't require converting most of these).

Conversion to classes will be done in a later stage of React warning fixes.

For https://github.com/vector-im/riot-web/issues/12877
2020-03-31 14:14:17 -06:00
Travis Ralston
c86d75693b Fix a number of minor code quality issues
Most of these are complaints from my IDE. Discovered by going through nearly every file looking for React warnings.
2020-03-31 14:05:56 -06:00
Travis Ralston
bdcb65de77 Support and send the config over to capable widgets
For https://github.com/vector-im/riot-web/pull/12845
2020-03-24 09:55:54 -06:00
Travis Ralston
9da57817d1 Use a local wrapper for Jitsi calls
Requires https://github.com/vector-im/riot-web/pull/12780
2020-03-18 15:50:12 -06:00
Michael Telatynski
d783ce86c8 Use noreferrer in addition to noopener for edge case browsers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-23 22:14:29 +00:00
Michael Telatynski
c97de43f69 Remove unused fetch polyfills, querystring, require-json. Move glob to dev-dep
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-18 02:01:45 +00:00
Travis Ralston
042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -07:00
Travis Ralston
d56f0f2a25 Convert many imports to handle ES6 exports
Reliant upon https://github.com/matrix-org/matrix-react-sdk/pull/3761
2019-12-22 21:04:42 -07:00
Michael Telatynski
d22985f12e Migrate string refs over to createRef
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:16:17 +00:00
Michael Telatynski
901e402a5c apply renames suggested in PR review
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-02 23:23:11 +00:00
Michael Telatynski
757f811126 s/ContextualMenu/ContextMenu/
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-02 23:21:59 +00:00