Commit graph

22 commits

Author SHA1 Message Date
Robin
06dbea6255
New group call experience: Room header and PiP designs (#9351)
* Update our cancel icon

The cancel icon we're using in the app has drifted out of sync with the ones used in our designs. We also had two identical-looking icons, so this consolidates them into one.

I've simultaneously updated our chevron icons, since in the case of the 'jump to unread' timeline button, it became clear that the weight of the new close icon did not match the thinner chevron.

* Don't squish bottom/top-aligned tooltips near the edge of the screen

* Close the timeline panel when returning to the fullscreen timeline view

* Add layout switching capabilities to ElementCall

* Bring the room header in line with the group call designs

* Bring the PiP header in line with the group call designs

* Fix lints

* Clarify tooltip CSS calculations

* Test PipView

* Expand RoomHeader test coverage

* Test PipView more
2022-10-07 02:27:28 +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 Weimann
8641a5210b
Add LocalRoom (#9023) 2022-07-11 07:33:37 +02:00
Germain
3a63c88a11
Order new search dialog results by recency (#8444)
* Order new search dialog results by recency

* Add getLastTs tests

* Add sort rooms tests
2022-05-05 12:19:11 +01:00
Robin
2a396a406d
Stick connected video rooms to the top of the room list (#8353) 2022-04-22 08:17:31 -04:00
Kerry
73e8387799
test functional EventUtils (#8386)
* extract poll event test util

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

* test isContentActionable

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

* test canEditContent

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

* test functional eventutils

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

* copyrights

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-21 18:14:10 +02:00
Travis Ralston
a987ead7d2 Step 8.1: Remove skinning setup from all tests 2022-03-28 14:02:31 -06:00
Kerry
df6c53ff41
include /test/stores in tsconfig (#8026)
* fix space store emits

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

* fix spacestore-test imports

* fix export-test.tsx

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

* include test/utils to tsconfig

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

* fix types in SpaceStore-test

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

* fix ts issues in rest of test/stores

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

* include test/stores in tsconfig

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-11 17:03:33 +01:00
Michael Telatynski
f25e6813bb
Mandate use of js-sdk/src/matrix import over js-sdk/src (#7933) 2022-03-01 20:42:05 +00:00
Kerry
5e76d988ca
convert test-utils to typescript (#7877)
* move js utils into directory

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

* typescripterize js test-utils

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

* move test utils to directory

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

* move remaining mock functions to directory

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

* update imports

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

* missed copyright

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

* type wait for update

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-23 11:21:11 +00:00
Kerry
08a0c6f86c
Don't aggregate rooms and users in SpaceStore (#7723)
* add direct child maps

* track rooms, users and space children in flat hierarchy in spacestore

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

* update spacefiltercondition to use new spacestore

* remove unused code

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

* typos

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

* only build flattened rooms set once per space when updating notifs

* copyright

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

* remove unnecessary currying

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

* rename SpaceStore spaceFilteredRooms => roomsIdsBySpace, spaceFilteredUsers => userIdsBySpace

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

* cache aggregates rooms and users by space

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

* emit events recursively up parent spaces on changes

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

* exclude meta spaces from aggregate cache

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

* stray log

* fix emit on member update

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

* call order

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

* extend existing getKnownParents fn

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

* refine types and comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-17 21:24:05 +01:00
Michael Telatynski
8ddd677c35
De-labs Metaspaces (#7613) 2022-01-25 12:33:17 +00:00
Travis Ralston
65987e6b72
Move all polls processing to events-sdk & prep for stable polls (#7517)
* Move all polls processing to events-sdk

This makes polls support the full range of extensible events (both parsing and generation).

* Appease the linter

* Fix & update tests

* Update events-sdk for polls bugfix

* Update events-sdk for typechecking

* Add missing type cast

* Update per review
2022-01-17 10:06:30 -07:00
Andy Balaam
43839adec0
Use constants from js-sdk in polls code (#7381) 2021-12-15 14:26:26 +00:00
Andy Balaam
fc96af5014
Show poll question in message preview (#7320) 2021-12-10 12:17:26 +00:00
Michael Telatynski
5ad3261cb2
Implement more meta-spaces (#7077) 2021-11-11 13:07:41 +00:00
Michael Telatynski
a688e5b8b3 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18088
 Conflicts:
	src/components/structures/LoggedInView.tsx
	src/stores/SpaceStore.tsx
2021-09-06 11:41:09 +01:00
Michael Telatynski
bbd420096b don't bother awaiting SpaceStore::setActiveSpace as it is no longer async 2021-08-31 17:03:43 +01:00
Michael Telatynski
da110855f0 delint and remove groups-specific tests and setups 2021-08-11 15:36:35 +01:00
Michael Telatynski
3c436c9617 update setting naming to match style 2021-07-30 12:20:02 +01:00
Michael Telatynski
776435f620 Switch all-rooms toggle for spaces to non-feature settings key 2021-07-27 21:17:24 +01:00
Michael Telatynski
ec173e74e6 Test & Refactor SpaceWatcher to allow all rooms/home change without needing reload 2021-07-27 20:15:40 +01:00