Commit graph

929 commits

Author SHA1 Message Date
Travis Ralston
bd1de8d45b Require a room ID for WidgetStore's pinned widget contracts
This should alleviate https://github.com/vector-im/element-web/issues/15705 from happening, though the cause is still unknown.

Requiring a room ID is safe for this because only room widgets can be pinned, and widget IDs are not globally unique which means from a logical standpoint the contract still makes sense here.
2020-12-01 13:05:48 -07:00
Travis Ralston
f4979065e4
Merge pull request #5445 from matrix-org/travis/hide-rooms
Make it possible in-code to hide rooms from the room list
2020-11-27 07:07:18 -07:00
Travis Ralston
c2c328e23c Appease the linter 2020-11-26 08:06:48 -07:00
Travis Ralston
b9c57f47b0 Remove example 2020-11-26 08:01:38 -07:00
Travis Ralston
24f3ecb69a
Merge branch 'develop' into travis/modal-widget-fixes 2020-11-26 08:00:02 -07:00
Travis Ralston
80b93e0843 Mute all updates from rooms that are invisible 2020-11-25 20:03:58 -07:00
Travis Ralston
b9af446c1b Make it possible in-code to hide rooms from the room list
Fixes https://github.com/vector-im/element-web/issues/15745

This was surprisingly easy given the number of errors I remember last time, but here it is. This also includes an over-engineered VisibilityProvider with the intention that it'll get used in the future for things like Spaces and other X as Rooms stuff.
2020-11-25 19:42:57 -07:00
Travis Ralston
c2cb791f7d Appease the linter 2020-11-25 18:58:30 -07:00
Travis Ralston
fc820c4b1a Construct modal widgets in the same way we do any other widget
Fixes https://github.com/vector-im/element-web/issues/15800
2020-11-25 18:51:27 -07:00
Travis Ralston
5da27aed94 Replace the concept of a Widget Security Key with an OIDC state
The security key naming/practice was misguided, so let's call it what it is (a settings key) and abstract away the complexity to a new store.

Fixes https://github.com/vector-im/element-web/issues/15820 while we're here.
2020-11-25 18:39:11 -07:00
Travis Ralston
c91dc55bc1 Make modal widgets static to avoid being destroyed
Fixes https://github.com/vector-im/element-web/issues/15818
2020-11-25 18:35:00 -07:00
Travis Ralston
3780afff7d Fix existing widgets not having approved capabilities for their function
Fixes https://github.com/vector-im/element-web/issues/15827

This also fixes sticker pickers.
2020-11-25 14:40:01 -07:00
Travis Ralston
1db130b8f0
Merge pull request #5440 from matrix-org/travis/openid2
Use the WidgetDriver to run OIDC requests
2020-11-24 09:44:27 -07:00
Travis Ralston
28c78509a1 Use the WidgetDriver to run OIDC requests
Fixes https://github.com/vector-im/element-web/issues/15775
2020-11-23 14:10:14 -07:00
Travis Ralston
da32d9decd Add a customisation point for widget permissions and fix amnesia issues
The "remember my selection" option wasn't working because the `missing` set still included the approved permission. Solution: remove it from `missing`.

The customisation point is to allow forks to change which widgets get which additional capabilities dependent on their own rules.
2020-11-23 11:59:38 -07:00
Travis Ralston
107fa98180 Support arbitrary widgets sticking to the screen + sending stickers
Following https://github.com/matrix-org/matrix-react-sdk/pull/5385, it is now possible for a widget to request these capabilities without being a video conference or sticker picker. This commit actually enables this support for those kinds of widgets.

This commit also fixes an issue in the URL templating where some variables might get set to 'undefined' - this appears to be a scoping issue, so StopGapWidget now stores the definition alongside the superclass. 

Fixes https://github.com/vector-im/element-web/issues/15001
2020-11-20 16:53:15 -07:00
Travis Ralston
dec47a260c Appease the linter 2020-11-19 12:12:00 -07:00
Travis Ralston
21663314ee Minor touchups to the dialog 2020-11-19 11:24:17 -07:00
Travis Ralston
55592d365c Merge branch 'develop' into travis/msc-send-widget-events 2020-11-18 15:57:53 -07:00
Travis Ralston
a212dab84c Developer design a permissions dialog 2020-11-17 20:38:59 -07:00
Travis Ralston
94550546eb Merge branch 'develop' into travis/msc-send-widget-events 2020-11-16 15:08:52 -07:00
Travis Ralston
33b7367d82 Fix room ID handling 2020-11-12 10:36:30 -07:00
Michael Telatynski
36ef9ec341 Update styling of the Analytics toast to try and decrease number of users blindly pressing No 2020-11-09 14:21:45 +00:00
Michael Telatynski
0da23e2cbd Fix copy for call hangup previews 2020-11-03 15:22:23 +00:00
Travis Ralston
fc90531c9f Appease the linter 2020-11-02 21:38:59 -07:00
Travis Ralston
f5cd079a16 Add support for sending/receiving events from widgets
Part of MSC2762: https://github.com/matrix-org/matrix-doc/pull/2762
Requires: https://github.com/matrix-org/matrix-widget-api/pull/9

This is the bare minimum required to send an event to a widget and receive events from widgets. Like the view_room action, this is controlled by a well-known permission key.

**Danger**: This allows widgets to potentially modify room state. Use the permissions with care.
2020-11-02 21:32:49 -07:00
Travis Ralston
e15041bd53 Add a custom widget API action for viewing a different room 2020-11-02 15:21:18 -07:00
Michael Telatynski
997679e648 Fix Widget OpenID Permissions for realsies 2020-10-30 22:12:46 +00:00
Michael Telatynski
bf124c4379 Fix regression with OpenID permissions on widgets 2020-10-30 21:13:01 +00:00
Michael Telatynski
c3a355097d Initial Countly work 2020-10-29 15:57:16 +00:00
Michael Telatynski
17717e27c6 Fix theme variable passed to Jitsi 2020-10-27 11:26:16 +00:00
Michael Telatynski
0004dd4475 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/modal-widgets 2020-10-22 21:40:05 +01:00
Michael Telatynski
5f2058a6a0 Fix WidgetStore wrongly hanging onto old Widget definitions during removal
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-21 16:06:22 +01:00
Michael Telatynski
4e12aeca9e Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/room-list-widgets
 Conflicts:
	src/components/views/elements/AppTile.js
2020-10-21 12:48:51 +01:00
Michael Telatynski
2b9c2daaf4 Fix auto-pinned widget ordering
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-20 16:07:21 +01:00
Michael Telatynski
b0acae6e77 fix remaining type mismatches
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-19 21:13:31 +01:00
Michael Telatynski
5ee0262da2 Post-merge tidy up
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-19 20:56:41 +01:00
Michael Telatynski
bec1d718e0 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/room-list-widgets
 Conflicts:
	src/components/views/elements/AppTile.js
	src/utils/WidgetUtils.ts
2020-10-19 20:50:16 +01:00
Michael Telatynski
16362440b3 Iterate Modal Widgets
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-19 20:39:43 +01:00
Michael Telatynski
00b1a03a3e Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/modal-widgets
 Conflicts:
	src/@types/global.d.ts
	src/FromWidgetPostMessageApi.js
	src/WidgetMessaging.js
	src/widgets/WidgetApi.ts
2020-10-19 19:46:07 +01:00
Michael Telatynski
5fcdaf66cc Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/widgets 2020-10-19 18:50:02 +01:00
J. Ryan Stinnett
7fe98b4e9d 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:42:20 +01:00
Michael Telatynski
744a4abd1c Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/widgets 2020-10-19 13:08:17 +01:00
Michael Telatynski
81990d36b5 Fix Jitsi OpenIDC auth
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-19 10:49:07 +01:00
Michael Telatynski
f198b95579 Iterate PR; tidy and improve widget context menu
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-15 15:24:42 +01:00
Michael Telatynski
a6c81a903c Iterate with new buttons and resize locking
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-15 11:14:48 +01:00
Travis Ralston
edcdd950f7
Merge pull request #5323 from matrix-org/travis/jitsi-popout-fix
Don't supply popout widgets with widget parameters
2020-10-14 16:37:06 -06:00
Travis Ralston
3edb6b2234
Merge pull request #5309 from RinkiyaKeDad/fix-final-10
Renamed TagPanel and TagOrderStore
2020-10-14 16:33:31 -06:00
Travis Ralston
3a88b263c8 Don't supply popout widgets with widget parameters
Fixes https://github.com/vector-im/element-web/issues/15443
2020-10-14 13:54:27 -06:00
Travis Ralston
dccea97762 Fix/clarify boolean logic for reaction previews 2020-10-14 08:56:08 -06:00
Arsh Sharma
49d99c6dc7 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into fix-final-10 2020-10-14 16:58:05 +05:30
Arsh Sharma
f705796477 fixing errors 2020-10-14 16:04:41 +05:30
Michael Telatynski
d36fafd0c6 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/widgets
 Conflicts:
	res/css/views/rooms/_AppsDrawer.scss
	src/components/views/elements/AppTile.js
	src/components/views/rooms/AppsDrawer.js
2020-10-14 10:23:44 +01:00
Travis Ralston
f9ac390842 Appease the linter 2020-10-13 14:56:27 -06:00
Travis Ralston
294c35347c Ensure widgets are destroyed cleanly when minimized
Fixes https://github.com/vector-im/element-web/issues/15444 (an artifact of joining a call then minimizing the widget)

Also fixes other issues relating to widgets not loading when being minimized/maximized.
2020-10-13 14:55:44 -06:00
Travis Ralston
40038a6100 Run templating on the popout URL too
Fixes https://github.com/vector-im/element-web/issues/15443
2020-10-13 14:54:02 -06:00
Michael Telatynski
758a4b79ce stash
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-13 16:18:02 +01:00
Michael Telatynski
a1d25efceb Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/widgets
 Conflicts:
	src/components/structures/RoomView.tsx
2020-10-13 13:45:22 +01:00
Michael Telatynski
7be5ff0fe6 First cut of app drawer tiled resizing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-13 12:29:12 +01:00
Michael Telatynski
37558f1f0d Improve the context menu
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-12 09:51:49 +01:00
RinkiyaKeDad
f5a40eff4b updated TagFilterStore 2020-10-10 18:02:58 +05:30
RinkiyaKeDad
4f8b0afc41 updated TagPanel 2020-10-10 18:00:06 +05:30
Travis Ralston
1af8d96db9 Fix templating for v1 jitsi widgets
Fixes https://github.com/vector-im/element-web/issues/15427
2020-10-09 09:26:52 -06:00
Michael Telatynski
317dc68135 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/widgets
 Conflicts:
	src/components/views/elements/AppTile.js
2020-10-09 08:45:11 +01:00
Travis Ralston
d38b544a42 Use new preparing event for widget communications
Fixes https://github.com/vector-im/element-web/issues/15404

We need to make sure we don't accidentally call the widget before its ready, but we can happily show it once it is loaded/prepared.
2020-10-08 15:35:22 -06:00
Michael Telatynski
b8080a7d2d Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/widgets 2020-10-08 13:04:59 +01:00
J. Ryan Stinnett
779e43b8dd
Merge pull request #5296 from matrix-org/jryans/sso-4s-integration
Convert auth lifecycle to TS, remove dead ILAG code
2020-10-07 15:42:42 +01:00
J. Ryan Stinnett
f2b72efe39 Remove various remaining bits of ILAG flows
TypeScript helpfully pointed me towards this dead code, which has been floating
around unused for a while. If we want to bring back ILAG in the future, we can
always revive it from history.
2020-10-07 12:53:59 +01:00
Michael Telatynski
67193b0ea7 Fix StopGapWidget infinitely recursing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-07 10:39:52 +01:00
Michael Telatynski
c784039cf6 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/widgets
 Conflicts:
	src/components/views/right_panel/WidgetCard.tsx
	src/stores/WidgetStore.ts
2020-10-07 10:04:45 +01:00
Michael Telatynski
17a04f2915 Fix naive pinning limit and app tile widgetMessaging NPE
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-06 10:48:55 +01:00
Michael Telatynski
1e34365caa
Merge pull request #5268 from matrix-org/t3chguy/fix/15349
Fix right panel for peeking rooms
2020-10-06 00:32:05 +01:00
Travis Ralston
0570deffa2 Fix iterableUnion types 2020-10-01 10:01:13 -06:00
Michael Telatynski
a9cee7cf70 Fix right panel for peeking rooms
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-01 12:30:41 +01:00
Travis Ralston
2ec94e8a69 Appease the linter 2020-09-30 20:49:31 -06:00
Travis Ralston
f27071ee64 Transition all remaining messaging over (delete the old stuff) 2020-09-30 20:20:31 -06:00
Travis Ralston
b46f58274e Fix the hangup button and other custom actions 2020-09-30 20:09:23 -06:00
Travis Ralston
b710d42832 Fix stickerpicker to use new messaging 2020-09-30 16:12:00 -06:00
Michael Telatynski
edfef2df0b Increase max pinned widgets to 3
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-09-30 17:09:45 +01:00
Travis Ralston
9190c921d2 Clean up failed experiment 2020-09-29 15:35:04 -06:00
Travis Ralston
ca76ba5cf1 Fix widget persistence 2020-09-29 15:09:52 -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
14766e24b8 Merge branch 'develop' into travis/widget-api 2020-09-29 13:18:18 -06:00
Travis Ralston
5534206e77
Merge pull request #5223 from matrix-org/travis/ft-sep1620/04-jitsi-hangup
Make the hangup button do things for conference calls
2020-09-29 11:06:21 -06:00
Travis Ralston
9df175212e Merge branch 'develop' into travis/ft-sep1620/04-jitsi-hangup 2020-09-28 13:43:47 -06:00
Travis Ralston
42955856d5 Merge branch 'develop' into travis/ft-sep1620/03-jitsi-obvious 2020-09-28 13:41:48 -06:00
Travis Ralston
4ea3376abf WIP on AppTile2 transformation 2020-09-28 13:34:13 -06:00
Travis Ralston
96fa34eecf Add stop functions 2020-09-26 18:40:26 -06:00
Travis Ralston
634ffb0140 Add structure for widget messaging layer 2020-09-25 09:39:21 -06:00
Michael Telatynski
e3b0bf1915 Fix url encoding issue for modal widgets widgetId
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-09-25 15:03:54 +01:00
Michael Telatynski
fbbba75f81 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/feat/modal-widgets 2020-09-25 14:31:44 +01:00
Michael Telatynski
44bc8fc67e Initial Modal Widget work tweaks MSC2790
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-09-25 14:08:27 +01:00
Michael Telatynski
2e6bad8b07 Convert WidgetUtils to TS and improve typing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-09-23 11:01:19 +01:00
Travis Ralston
342f1d5b43 Extremely bad support for "temporary widgets" 2020-09-21 14:36:24 -06:00
Travis Ralston
26b18811ce Add some permission checks to the communities v2 prototype
Prototype behaviour:
* If you can't create a room in the community, say so.
  * The UX for this could probably be improved, but for now the intention is to not break muscle memory by hiding the create room option.
* If you can't change settings in the community, or can't invite people, don't show those respective options.
  * Breaking muscle memory here is moderately okay.
2020-09-18 16:04:19 -06:00
Michael Telatynski
1ca20dffc8
Merge pull request #5204 from matrix-org/t3chguy/fix/15164
Retry joinRoom up to 5 times in the case of a 504 GATEWAY TIMEOUT
2020-09-17 13:34:07 +01:00
Travis Ralston
e849cd8fe5 Null-check the widget before continuing
Deleted widgets should return isPinned=false
2020-09-16 22:51:39 -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
Travis Ralston
61e8d3e3d7 Merge branch 'develop' into travis/3pid-invites 2020-09-14 11:50:08 -06:00
Michael Telatynski
229967aa33 Retry joinRoom up to 5 times in the case of a 504 GATEWAY TIMEOUT 2020-09-14 15:16:29 +01:00