Commit Graph

38 Commits (0475e7107fa004c257e687029d3996d55790535e)

Author SHA1 Message Date
RiotRobot 0475e7107f Merge branch 'master' into develop 2023-03-28 14:30:52 +01:00
Michael Weimann c30b2637c5 Changes for v3.69.0 2023-03-28 11:23:16 +01:00
Andy Balaam edd8865670
Support dynamic room predecessors in WidgetLayoutStore (#10326)
* Support dynamic room predecessors in WidgetLayoutStore

* Improve TS correctness in WidgetLayoutStore

* Test to cover onNotReady to quieten SonarCloud

---------

Co-authored-by: Janne Mareike Koschinski <janne@kuschku.de>
2023-03-09 10:18:23 +00:00
Michael Telatynski c0e40217f3
Apply `strictNullChecks` to src/stores/widgets/* (#10324)
* Apply `strictNullChecks` to src/stores/widgets/*

* Iterate

* Iterate
2023-03-08 11:48:58 +00:00
Michael Telatynski 76b82b4b2b
Make more code conform to strict null checks (#10219
* Make more code conform to strict null checks

* Fix types

* Fix tests

* Fix remaining test assertions

* Iterate PR
2023-02-24 15:28:40 +00:00
Michael Telatynski 4574c665ea
Conform more code to strict null checking (#10167)
* Conform more code to strict null checking

* Delint

* Iterate PR based on feedback
2023-02-16 17:21:44 +00:00
Michael Telatynski 145a5a8a8d
Conform more code to strict null checking (#10153)
* Conform more code to strict null checking

* Conform more code to strict null checking

* Iterate

* Iterate
2023-02-15 13:36:22 +00:00
Michael Telatynski 61a63e47f4
Comply with noImplicitAny (#9940)
* Stash noImplicitAny work

* Stash

* Fix imports

* Iterate

* Fix tests

* Delint

* Fix tests
2023-02-13 11:39:16 +00:00
Michael Weimann 6d354e3e10
Add test coverage (#9928) 2023-01-18 15:49:34 +01:00
Michael Telatynski 030b7e90bf
Enable `@typescript-eslint/explicit-function-return-type` in /src (#9788)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier

* Enable `@typescript-eslint/explicit-function-return-type` in /src

* Fix types

* tsc strict fixes

* Delint

* Fix test

* Fix bad merge
2023-01-12 13:25:14 +00:00
Michael Weimann 526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Michael Telatynski e66027cd0c
Deduplicate string compare utility (#9579) 2022-11-15 10:20:36 +00:00
Robin 0d6a550c33
Prepare for Element Call integration (#9224)
* Improve accessibility and testability of Tooltip

Adding a role to Tooltip was motivated by React Testing Library's
reliance on accessibility-related attributes to locate elements.

* Make the ReadyWatchingStore constructor safer

The ReadyWatchingStore constructor previously had a chance to
immediately call onReady, which was dangerous because it was potentially
calling the derived class's onReady at a point when the derived class
hadn't even finished construction yet. In normal usage, I guess this
never was a problem, but it was causing some of the tests I was writing
to crash. This is solved by separating out the onReady call into a start
method.

* Rename 1:1 call components to 'LegacyCall'

to reflect the fact that they're slated for removal, and to not clash
with the new Call code.

* Refactor VideoChannelStore into Call and CallStore

Call is an abstract class that currently only has a Jitsi
implementation, but this will make it easy to later add an Element Call
implementation.

* Remove WidgetReady, ClientReady, and ForceHangupCall hacks

These are no longer used by the new Jitsi call implementation, and can
be removed.

* yarn i18n

* Delete call map entries instead of inserting nulls

* Allow multiple active calls and consolidate call listeners

* Fix a race condition when creating a video room

* Un-hardcode the media device fallback labels

* Apply misc code review fixes

* yarn i18n

* Disconnect from calls more politely on logout

* Fix some strict mode errors

* Fix another updateRoom race condition
2022-08-30 15:13:39 -04:00
Michael Telatynski 7fa01ffb06
Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +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
Timo 9d9b77d5e1
Make widgets not reload (persistent) between center and top container (#7575) 2022-01-24 15:24:30 +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
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 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
J. Ryan Stinnett ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +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
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 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 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