Commit graph

91 commits

Author SHA1 Message Date
Travis Ralston
6590572124 Improve performance of widget startup slightly
See https://github.com/matrix-org/matrix-react-sdk/pull/6733#pullrequestreview-745513275
2021-09-02 15:24:23 -06:00
Travis Ralston
57aa045195 Don't rely on rooms having timelines to use when checking widgets 2021-09-02 14:27:20 -06:00
Travis Ralston
3046f0ed85
Merge pull request #6684 from matrix-org/travis/cross-room
Add support for MSC2762's timeline functionality
2021-09-01 13:28:26 -06:00
Travis Ralston
bf5fe29448
Merge pull request #6695 from matrix-org/travis/keep-old-out
Don't send prehistorical events to widgets during decryption at startup
2021-09-01 13:16:47 -06:00
Travis Ralston
b86a0dcc15 Merge branch 'develop' into travis/cross-room 2021-09-01 11:29:20 -06:00
Travis Ralston
18b7a64910 Remove arbitrary limits from send/receive events for widgets
Fixes https://github.com/vector-im/element-web/issues/17994

As per MSC change: aeadae81e2
2021-08-31 13:17:49 -06:00
Travis Ralston
20b6219121 Don't send prehistorical events to widgets during decryption at startup
Fixes https://github.com/vector-im/element-web/issues/18060

Tracking a localized read receipt of sorts appears to be the fastest and least complex approach, though not the greatest.
2021-08-26 13:28:48 -06:00
Travis Ralston
73dd30f919 Merge branch 'develop' into travis/cross-room 2021-08-26 10:48:10 -06:00
Travis Ralston
470bc0ffe7
Merge pull request #6686 from matrix-org/travis/widget-redact
Special case redaction event sending from widgets per MSC2762
2021-08-26 10:47:17 -06:00
Travis Ralston
cafa52c466 Special case redaction event sending from widgets per MSC2762
Fixes https://github.com/vector-im/element-web/issues/18573
See 853bed2157
2021-08-25 22:40:51 -06:00
Travis Ralston
76cc5bfb7d Remember all capabilities given to a widget
Fixes https://github.com/vector-im/element-web/issues/18786

Instead of replacing the remembered set, we now add to it. This should be safe as the user expectation was previously to remember the capabilities, so we can keep appending to that list.

This commit also moves the utility functions closer to the widget driver as they aren't needed in the dialog anymore.
2021-08-25 22:30:57 -06:00
Travis Ralston
f912d9d1b4 Appease the linter 2021-08-25 18:25:20 -06:00
Travis Ralston
289ac34764 Add support for MSC2762's timeline functionality
See https://github.com/matrix-org/matrix-widget-api/pull/41
2021-08-25 18:16:40 -06:00
Travis Ralston
bb0be4ba72 Add customisation point for declaring widget variables
Fixes https://github.com/vector-im/element-web/issues/18035 (indirectly; issue is on a non-standard version of Element).

This has an isReady() step because the variable usage code path cannot be made async, so instead we let the async loading state happen in the prepare() stage. This is required for the intended usecase.
2021-07-22 15:43:18 -06:00
Travis Ralston
421392f339 Exclude state events from widgets reading room events
They can request state reading permissions to read state.
2021-07-14 12:48:27 -06:00
Travis Ralston
c4b03064ae fix imports 2021-07-14 10:28:45 -06:00
Travis Ralston
5dc3d09dd8 Use new function name 2021-07-14 10:18:55 -06:00
Travis Ralston
9495ba001c Send clear events to widgets when permitted
Fixes https://github.com/vector-im/element-web/issues/17615
2021-07-13 23:17:17 -06:00
J. Ryan Stinnett
ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Michael Telatynski
3e38d92fa4 Fix up some more type defs 2021-06-17 14:49:27 +01:00
Michael Telatynski
02e72d8b04 Fix more type definitions 2021-06-17 14:24:53 +01:00
Michael Telatynski
31d308a1fb Fix Stickerpicker context menu 2021-06-07 09:22:47 +01:00
Germain Souquet
d7a5547d80 use Intl.Collator over String.prototype.localeCompare for better performance 2021-06-02 10:42:17 +01:00
Germain Souquet
0e221ae548 Start decryption process if needed 2021-05-18 16:24:38 +01:00
Travis Ralston
6ccb0d487a Merge branch 'develop' into travis/msc2873 2021-05-17 16:27:20 -06:00
Travis Ralston
f98eee318e Fill out fields for MSC2873 values
As required by https://github.com/matrix-org/matrix-widget-api/pull/36
2021-05-12 14:10:02 -06:00
Travis Ralston
903cc77f39 Appease the linter 2021-05-03 21:53:23 -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
David Baker
20e57d15fd Option for audio streaming 2021-03-02 15:20:54 +00: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
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
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
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
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
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
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
24f3ecb69a
Merge branch 'develop' into travis/modal-widget-fixes 2020-11-26 08:00:02 -07:00
Travis Ralston
c2cb791f7d Appease the linter 2020-11-25 18:58:30 -07:00