Commit Graph

127 Commits

Author SHA1 Message Date
Travis Ralston
109ecbf070 Step 8.4.1: Use RoomViewStore in SGWidgetDriver over ActiveRoomObserver
It wasn't using the listener functionality anyways, so just go straight to the source for which room is being viewed.
2022-03-28 14:02:31 -06:00
Travis Ralston
d5ed1eb66e Step 8.3: Convert RoomViewStore to a more modern singleton for imports 2022-03-28 14:02:31 -06:00
Dominik Henneke
9ba1c97770 Generate the correct widget id when opening modal widgets (#8123) 2022-03-23 11:28:37 +00:00
Robin
cfabcdda35 Voice rooms prototype (#8084)
* Add voice room labs flag

Signed-off-by: Robin Townsend <robin@robin.town>

* Add more widget actions for interacting with Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic Jitsi creation utility

Signed-off-by: Robin Townsend <robin@robin.town>

* Add utilities for managing voice channels

Signed-off-by: Robin Townsend <robin@robin.town>

* Enable creation of voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Force a maximized view of voice channel widgets

Signed-off-by: Robin Townsend <robin@robin.town>

* Add voice channel store

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic FacePile

Signed-off-by: Robin Townsend <robin@robin.town>

* Implement room tile changes for voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Add interactive radio component to the left panel

Signed-off-by: Robin Townsend <robin@robin.town>

* Test voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Update name of call room type

Signed-off-by: Robin Townsend <robin@robin.town>

* Clarify that voice rooms are under development

Signed-off-by: Robin Townsend <robin@robin.town>

* Use readonly

Signed-off-by: Robin Townsend <robin@robin.town>

* Move acks to the end of handlers

Signed-off-by: Robin Townsend <robin@robin.town>

* Add comment about avatar URLs coming from Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't use unicode ellipses

for translation reasons?

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests, again

Signed-off-by: Robin Townsend <robin@robin.town>

* Remove unnecessary export

Signed-off-by: Robin Townsend <robin@robin.town>

* Ack Jitsi events when we wait for them

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-22 16:14:11 -06:00
Robin
744eeb53fe Don't assume that widget IDs are unique (#8052)
* Don't assume that widget IDs are unique

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't remove live tiles that don't exist

Signed-off-by: Robin Townsend <robin@robin.town>

* Add unit test for AppTile's live tile tracking

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-15 12:15:26 +00:00
Germain
21d3cb08a9 Switch to using stable values for threads (#8019) 2022-03-11 09:04:22 +00:00
J. Ryan Stinnett
65691202f7 Add lint for unused locals (#8007) 2022-03-09 12:05:16 +00:00
Michael Telatynski
7fa01ffb06 Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Kerry
5b8d440406 type Actions (#7862)
* type ViewHomPage action

Signed-off-by: Kerry Archibald <kerrya@element.io>

* type spacestore actions

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add action types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use new action types in stores

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug change

Signed-off-by: Kerry Archibald <kerrya@element.io>

* stricter keyboard shortcut types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* action comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-22 10:04:27 +00:00
Michael Telatynski
658590e5bc More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
J. Ryan Stinnett
a939184e10 Tear down AppTile using lifecycle tracking (#7833) 2022-02-17 16:30:36 +00:00
Travis Ralston
fa9af44523 Fix left panel widgets causing app crashes (again) (#7814)
* Add type safety around left panel widget handling

* lint
2022-02-16 13:26:18 -07:00
Michael Telatynski
8d4e83084c Remove Countly analytics integration (#7808) 2022-02-15 16:58:30 +00:00
Michael Telatynski
0d6ef76605 Add analytics for the ViewRoom action (#7666) 2022-02-10 14:29:55 +00:00
Michael Telatynski
ec92102fe3 Properly handle persistent widgets when room is left (#7724) 2022-02-07 14:40:22 +00:00
Timo
9d9b77d5e1 Make widgets not reload (persistent) between center and top container (#7575) 2022-01-24 15:24:30 +00:00
Michael Telatynski
ec02f82416 Update default Jitsi URLs to meet.element.io (#7514) 2022-01-11 16:15:20 +00:00
Dominik Henneke
b3202de814 Only return the approved widget capabilities instead of accepting all requested capabilities (#7454)
* Only return the approved widget capabilities instead of accepting all requested capabilities

* Restore the original logic that only keeps accepted permissions if they were requested

Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
2022-01-06 12:31:30 -07:00
Michael Telatynski
fcc4939075 Fix naming of set-theory utils to match convention (#7343) 2021-12-13 10:57:51 +00:00
Dominik Henneke
908e938996 Keep all previously approved widget capabilities when requesting new capabilities (#7340) 2021-12-13 10:34:04 +00:00
Aaron Raimist
2e8a93834b Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +00:00
Aaron Raimist
7b94e13a84 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 08:34:20 +00:00
Renan Cleyson
ae0dba4e87 Add view_room to Action enum (#7203)
* Add ViewRoom action to Action enum

Signed-off-by: Renan <renancleyson.f@gmail.com>

* Change view_room occurrences to Action.ViewRoom

Signed-off-by: Renan <renancleyson.f@gmail.com>

* Add missing Action import
2021-11-25 21:49:43 +01:00
Germain
87201c8bfb Chat effects fixes for threads (#7183) 2021-11-23 08:17:30 +00:00
Germain
256c468c15 Chat Effects & Commands in thread context (#7138) 2021-11-18 12:47:11 +00:00
Timo
556cfc7ed8 Add maximise widget functionality (#7098)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-11-16 15:43:18 +01:00
Aaron Raimist
bc1dd6fedf Merge branch 'develop' into sort-imports 2021-10-28 19:44:21 -05:00
Timo
5736fea5f3 Implement RequiresClient capability for widgets (#7005) 2021-10-28 13:17:04 +01:00
Aaron Raimist
f3867ad0a9 Merge branch 'develop' into sort-imports 2021-10-27 21:50:56 -05:00
Timo
82c2102ccb Respect the roomState right container request for the Jitsi widget (#7033) 2021-10-26 17:36:42 +01:00
Aaron Raimist
bdc56be863 Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Dariusz Niemczyk
5e73a212f4 Replace console.error with logger.error
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Šimon Brandner
af9429c8a0 Convert ActiveWidgetStore to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-26 19:57:02 +02:00
Dariusz Niemczyk
2d1d42b90e Globally replace all console.logs via codemod (#6827)
This commit replaces all the `console.log` to `logger.log` via an automated script.
Related: vector-im/element-web#18425
2021-09-21 09:48:09 -06:00
Šimon Brandner
e1445f71bd Convert AppTile to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-17 18:47:15 +02:00
David Baker
9533f7c04c Fix types in release mode again 2021-09-07 18:49:31 +01:00
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