Commit graph

43 commits

Author SHA1 Message Date
Michael Telatynski
ce78cdf4ad Conform to new react and typescript eslint rules 2021-07-19 22:43:11 +01:00
J. Ryan Stinnett
ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Travis Ralston
5093657c71 Remove "read" level language for new API scope 2021-05-14 14:17:10 -06:00
Travis Ralston
e04490284d Support UI for MSC2876: Widgets reading events from rooms
MSC: https://github.com/matrix-org/matrix-doc/pull/2876
Fixes https://github.com/vector-im/element-web/issues/15747
Requires https://github.com/matrix-org/matrix-widget-api/pull/34
2021-05-03 21:50:25 -06:00
J. Ryan Stinnett
f8192a8314 Support managed hybrid widgets from config
This adds additional support to the managed hybrid widget experiment to also
support pulling the build URL from Element config.
2021-01-29 16:26:34 +00:00
J. Ryan Stinnett
2c313e0c5e Add managed hybrid call widgets when supported
If your homeserver is configured with an experiment `widget_build_url`, this
will take over the functionality of the call buttons and turn them into a
general widget installer.
2021-01-29 14:45:25 +00:00
Travis Ralston
ea61c979f9 Try a different string 2021-01-16 23:29:27 -07:00
Travis Ralston
7e0cf5c783 Wire up MSC2931 widget navigation
Fixes https://github.com/vector-im/element-web/issues/16006
**Requires https://github.com/matrix-org/matrix-widget-api/pull/27**
2020-12-29 12:35:48 -07:00
Travis Ralston
dec47a260c Appease the linter 2020-11-19 12:12:00 -07:00
Travis Ralston
86897e8faf Small bug fix to the copy 2020-11-19 12:08:41 -07:00
Travis Ralston
21663314ee Minor touchups to the dialog 2020-11-19 11:24:17 -07:00
Travis Ralston
ddd8bdc00e Move all the capability copy to its own class 2020-11-19 11:15:42 -07:00
Travis Ralston
f27071ee64 Transition all remaining messaging over (delete the old stuff) 2020-09-30 20:20:31 -06:00
Travis Ralston
cd93b2c22a First rough cut of cutting AppTile over to the ClientWidgetApi 2020-09-29 14:14:51 -06:00
Travis Ralston
1ffc6d5bd3 Make the hangup button do things for conference calls
Behaviour constraints:
* If you're not in the conference, use a grey button that does nothing.
* If you're in the conference, show a button:
  * If you're able to modify widgets in the room, annotate it in the context of ending the call for everyone and remove the widget. Use a confirmation dialog.
  * If you're not able to modify widgets in the room, hang up.

For this we know that persistent Jitsi widgets will mean that the user is in the call, so we use that to determine if they are actually participating.
2020-09-16 14:35:55 -06:00
Jason Robinson
3af0d33e3b Make a few fields readonly
As they're only set in the constructor.
2020-09-08 13:00:00 +03:00
Jason Robinson
c19336591e Add OpenID token request flow to WidgetApi
As per MSC1960.
2020-09-08 12:59:05 +03:00
Jason Robinson
d2e9ea58fd Add links to prosody openidtoken-jwt auth docs 2020-09-07 19:22:40 +03:00
Jason Robinson
ae83222d52 Add GetOpenIDCredentials constant to WidgetApi 2020-09-07 14:32:00 +03:00
Jason Robinson
5d8a082eb1 Add Jitsi auth check
Checks for auth needed by looking up a well-known file from the preferred Jitsi domain. No file existing will assume no auth.
2020-09-04 10:03:30 +03:00
Michael Telatynski
0da31de5ad
Merge pull request #5086 from matrix-org/t3chguy/notifications12
Create Map comparison utilities and convert Hooks to Typescript
2020-08-05 16:28:52 +01:00
Michael Telatynski
6220f50360 delint 2020-08-05 09:28:02 +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
Jorik Schellekens
b110639c76 Merge remote-tracking branch 'origin' into joriks/eslint-config 2020-06-29 16:49:33 +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
1fe3e33dbf Factor out cloning to a util and use it everywhere 2020-06-22 14:14:43 -06: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
Michael Telatynski
d92f742205 Fix Jitsi wellknown hooks some more
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 14:09:45 +01:00
Michael Telatynski
a674131a8c Fix Jitsi wellknown hooks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 13:58:17 +01:00
Michael Telatynski
366c60cb2d fix ee listener add
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-01 22:57:51 +01:00
Michael Telatynski
cbc2aee746 Add js-sdk mechanism for polling client well-known for config
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-01 22:35:16 +01:00
Pauli Virtanen
38962560ac Style fixes
Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-28 02:29:20 +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
1f2bf0485e Implement widget API for signaling the widget to gracefully terminate
In theory, widgets could use iframe unload/beforeunload events for
cleanup, but in practice browsers have restrictions on what can be done
in those events which may not give sufficient time for clean
termination.

Signed-off-by: Pauli Virtanen <pav@iki.fi>
2020-04-22 19:37:52 +03:00
Travis Ralston
f54e99c708 Use WidgetType more often to avoid breaking new sticker pickers
Turns out that setUserWidget() wasn't updated to take a real WidgetType, but the code in ScalarMessaging thought it did. This leads to integration managers trying to add sticker widgets with an object `type` rather than a string `type`, which doesn't work.

This updates other code paths which call into the various widget classes to use WidgetType more often. The actual code path for fixing widgets is resolved in WidgetUtils for the setUserWidget function body.
2020-04-21 16:01:10 -06:00
Travis Ralston
0165ff0bc9 Allow iframes and Jitsi URLs in /addwidget
Fixes https://github.com/vector-im/riot-web/issues/12784
2020-04-09 16:03:40 -06:00
Travis Ralston
4510499987 Fix widgets for all other sources too 2020-04-09 15:25:11 -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
2ec7f2290c Support Jitsi information from client .well-known
It can be useful for the homeserver to support a dedicated Jitsi instance instead of requiring that all their users change/update their configs manually.
2020-04-06 16:04:41 -06:00
David Baker
274eb75c38 Remove get-config API
which is no longer necessary now the jitsi wrapper has its own
external-api script
2020-04-01 10:40:03 +01: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