Michael Telatynski
f21aedc6cf
Add Space Panel with Room List filtering
2021-02-26 10:41:26 +00:00
Michael Telatynski
7030c636f0
Initial Space Store for keeping track of space hierarchies from sync
2021-02-25 16:36:35 +00:00
Michael Telatynski
79daf615e4
First special treatment of space-rooms
2021-02-19 14:20:57 +00:00
Michael Telatynski
6b3f05a3cd
Switch RoomListStore to only including the filtered subset
...
Without this it'd include notification counts from Community B when Community A is selected and such.
2021-02-19 14:10:36 +00:00
Michael Telatynski
63d95706e9
Create setHasDiff helper and use it
...
The usage here is identical to how it'll work in Spaces
2021-02-19 12:58:23 +00:00
Michael Telatynski
8fc244452c
Prevent error being thrown so that we can throw our own better one
2021-02-18 18:06:26 +00:00
Travis Ralston
64974eb3ee
Merge pull request #5661 from matrix-org/travis/clear-preview
...
Clear message previews when the maximum limit is reached for history
2021-02-18 07:31:54 -07:00
Travis Ralston
47d73bef57
Clear message previews when the maximum limit is reached for history
2021-02-17 22:36:26 -07:00
David Baker
6130bdf0d2
Use creation content to signal virtual-ness
...
This makes things a lot simpler.
2021-02-17 18:51:21 +00:00
David Baker
e787d11c73
Merge remote-tracking branch 'origin/develop' into dbkr/virtual_rooms_v2
2021-02-16 19:41:54 +00:00
David Baker
79455d99b4
Unused import
2021-02-15 19:38:17 +00:00
David Baker
89b2dae035
Send onNewInvitedRoom via VisibilityProvider
2021-02-15 18:13:13 +00:00
David Baker
196507a730
VoIP virtual rooms, mk II
...
Does a thirdparty protocol lookup to the homeserver to get the
corresponding native/virtual user for a matrix ID. Stores the
mappings in room account data. Involves some slightly nasty workarounds
for that fact that room account data has no local echo.
2021-02-12 20:55:54 +00:00
Jason Robinson
6ccce7142c
Merge branch 'develop' into jaywink/hosting-provider-iframe-minimize-wip
2021-02-03 22:35:22 +02:00
J. Ryan Stinnett
e4629878bc
Lock widget room ID when added
...
This changes the widget room ID available to widget URL templates so that it's
locked to the room the widget was added in.
Fixes https://github.com/vector-im/element-web/issues/16337
2021-02-02 14:36:44 +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
d6dbe5596a
Merge pull request #5581 from matrix-org/travis/widgets/sticker-picker
...
Allow stickerpickers the legacy "visibility" capability
2021-01-28 07:46:17 -07:00
Travis Ralston
61f6fa0633
Merge pull request #5582 from matrix-org/travis/widgets/fix-jitsi-unpin
...
Remove check that prevents Jitsi widgets from being unpinned
2021-01-27 14:59:34 -07:00
Travis Ralston
c1b33d3e2c
Fix Jitsi widgets causing localized tile crashes
...
Seems to be that as part of the layout work the timing sequence for when `.getRoom().widgets` will work changed. We can get around this with `initIfNeeded` which will no-op in the worst case.
This also includes a copy change to make ended conferences stop lying about where to find the widget. This is work towards https://github.com/vector-im/element-web/issues/15739
2021-01-27 14:40:04 -07:00
Travis Ralston
08b067fd68
Remove check that prevents Jitsi widgets from being unpinned
...
Later in the code we do a conditional on the widget type to auto-pin the widget, so we don't need this one to force the widget higher.
Fixes https://github.com/vector-im/element-web/issues/16280
2021-01-27 14:31:48 -07:00
Travis Ralston
edb363b751
Allow stickerpickers the legacy "visibility" capability
...
Fixes https://github.com/vector-im/element-web/issues/16237
2021-01-27 14:22:55 -07:00
J. Ryan Stinnett
84b1f2e6c6
Resolve typing errors after TypeScript upgrade
2021-01-27 12:42:37 +00:00
Travis Ralston
d3281db2bf
Update widgets in the room upon join
2021-01-22 17:49:18 -07:00
David Baker
f703383ab6
Merge pull request #5560 from matrix-org/dbkr/voip_user_mapper
...
Add VoIP user mapper
2021-01-22 14:12:08 +00:00
Travis Ralston
f023fc50e2
Update src/stores/widgets/WidgetLayoutStore.ts
...
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-01-21 13:22:44 -07:00
David Baker
0a90c982c7
Add VoIP user mapper
...
The accompanying element-web PR with the config documentation should
explain what this is & why. Internally, this breaks the assumption
that call.roomId is the room that the call appears in for the user.
call.roomId may now be a 'virtual' room while the react SDK actually
displays it in a different room. React SDK always stores the calls
under the user-facing rooms, and provides a function to get the
user-facing room for a given call.
2021-01-21 19:20:35 +00:00
Travis Ralston
29780d902c
Try to reduce WidgetStore causing downstream problems
2021-01-20 14:44:30 -07:00
Travis Ralston
f8fe454c59
Replace looping resizer with actual math
2021-01-20 14:42:24 -07:00
Travis Ralston
ab51404421
Appease the tests?
2021-01-18 21:07:44 -07:00
Travis Ralston
6d770cb4d1
Appease the linter 2
2021-01-18 21:00:47 -07:00
Travis Ralston
6227d3c183
Appease the linters
2021-01-18 20:53:15 -07:00
Travis Ralston
04d1f5dd28
Implement a "Copy my layout to the room" button
2021-01-18 20:42:21 -07:00
Travis Ralston
5c393cc2d0
Add in some local echo support to make changes appear faster
2021-01-18 20:29:51 -07:00
Travis Ralston
7ff76b2500
Don't forget to run cleanup
2021-01-18 20:28:09 -07:00
Travis Ralston
1768d6ea5f
Move all widget pinning logic to the WidgetLayoutStore
2021-01-18 20:26:47 -07:00
Travis Ralston
0d29d15a46
Support room-defined height as well
...
Much like widget widths, it is acceptable for us to forget what everyone's height was previously at.
2021-01-18 19:27:11 -07:00
Travis Ralston
cfb583d193
Calculate widget widths in the WidgetLayoutStore
...
Note that this ditches all previously set width values, however this is probably acceptable for now. Trying to remain backwards compatible gets tricky on top of already tricky code, and the impact of Element forgetting widths is not as severe as forgetting which widgets were/are pinned.
2021-01-18 18:50:36 -07:00
Travis Ralston
0001e1e684
Support initial ordering and calculation for widgets by layout
2021-01-18 17:41:42 -07:00
Travis Ralston
4ee29d4e63
Split out ready states of stores to its own store
2021-01-18 17:41:17 -07:00
Travis Ralston
83fb698bbc
Merge pull request #5527 from matrix-org/travis/widget-nav
...
Wire up MSC2931 widget navigation
2021-01-18 09:09:32 -07:00
J. Ryan Stinnett
8a341446aa
Use room-specific listeners for community prototype
...
Similar to message previews, this changes another area to use room-specific
listeners for better performance and avoiding warnings.
2021-01-15 14:34:56 +00:00
J. Ryan Stinnett
729356394e
Use room-specific listeners for message previews
...
This should be a bit faster (since we now only notify one tile instead of all
for each update). It also resolves the max listener warning.
Fixes https://github.com/vector-im/element-web/issues/15121
2021-01-15 14:21:21 +00:00
Jason Robinson
d6af5b3bbd
WIP minimize
2021-01-14 12:20:42 +02:00
Jason Robinson
d4a58bdb2a
WIP minimize
2021-01-14 11:53:20 +02: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
b870de14ed
Merge pull request #5488 from matrix-org/travis/chat-effects-widgets
...
Run chat effects on events sent by widgets too
2020-12-11 21:52:24 -07:00
Travis Ralston
c80ccf6386
Remove unused import
2020-12-11 08:27:46 -07:00
Travis Ralston
b6123506d4
Run chat effects on events sent by widgets too
2020-12-10 21:00:37 -07:00
Travis Ralston
10930b8404
Fix being unable to pin widgets
...
Turns out that we were obliterating the entire store of widgets each time we loaded a widget, which is less than helpful. This commit fixes that.
This commit also improves the cleanup of the pinned event object to remove unpinned widgets, reducing accumulation over time.
Fixes https://github.com/vector-im/element-web/issues/15948
2020-12-10 20:57:20 -07:00
Travis Ralston
d38a6ad1be
Add more widget sanity checking
...
This is for https://github.com/vector-im/element-web/issues/15705
https://github.com/matrix-org/matrix-react-sdk/pull/5459 was unable to track down all the instances of where the issue happens, so this commit tries to do a more complete job.
Specifically, this replaces the getRoomId() function given widgets cannot reliably be referenced by widget ID in this way, and the store has been updated to handle a more unique widget ID for the store (just in case).
Further sanity checking has also been added to ensure that we are at least returning a valid result.
2020-12-02 12:20:59 -07:00
Travis Ralston
5df6932051
Add various amounts of sanity checking for widget pinning
...
This should also help https://github.com/vector-im/element-web/issues/15705 by either implicitly fixing the problem, causing chaos as described in the issue, or by forcing a crash to identify the problem more easily.
2020-12-01 13:19:51 -07:00
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