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
Robin
28ed87bffe
Implement MSC3846: Allowing widgets to access TURN servers ( #9061 )
...
* Implement MSC3819: Allowing widgets to send/receive to-device messages
* Don't change the room events and state events drivers
* Implement MSC3846: Allowing widgets to access TURN servers
* Update to latest matrix-widget-api changes
* Support sending encrypted to-device messages
* Yield a TURN server immediately
* Use queueToDevice for better reliability
* Update types for latest WidgetDriver changes
* Upgrade matrix-widget-api
* Add tests
* Test StopGapWidget
* Fix a potential memory leak
* Add tests
* Empty commit to retry CI
2022-08-10 13:26:42 +00:00
Robin
103b60dfb5
Implement MSC3819: Allowing widgets to send/receive to-device messages ( #8885 )
...
* Implement MSC3819: Allowing widgets to send/receive to-device messages
* Don't change the room events and state events drivers
* Update to latest matrix-widget-api changes
* Support sending encrypted to-device messages
* Use queueToDevice for better reliability
* Update types for latest WidgetDriver changes
* Upgrade matrix-widget-api
* Add tests
* Test StopGapWidget
* Fix a potential memory leak
2022-08-10 08:57:56 -04:00
Michael Weimann
fa1bff67cf
Wire local room logic ( #9078 )
...
* Wire local room logic
* Migrate to testling-lib; update test descriptions
2022-07-20 09:26:25 +02:00
Michael Weimann
8641a5210b
Add LocalRoom ( #9023 )
2022-07-11 07:33:37 +02:00
Kerry
4eab0deeb3
Live location share - explicitly stop beacons replaced beacons (PSG-544) ( #8933 )
...
* explicitly stop beacons before creating new ones
* remove unnecessary optional chain
2022-06-30 07:33:51 +00:00
Robin
3c14d93237
Reduce video rooms log spam ( #8913 )
...
* Reduce video rooms log spam
If you forget to call preventDefault in widget action handlers,
matrix-widget-api logs a bunch of errors complaining that the action is
unsupported/unhandled, even if it isn't.
* Fix tests
2022-06-29 16:09:41 +02:00
Robin
84cf40e0f3
Switch video rooms to spotlight layout when in PiP mode ( #8912 )
...
* Switch video rooms to spotlight layout when in PiP mode
* Add some comments
2022-06-27 20:45:13 +00:00
Robin
ef48443dc9
Show chat panel when opening a video room with unread messages ( #8812 )
...
* Show chat panel when opening a video room with unread messages
* Remove unnecessary calls to private methods in tests
* Make room ID mandatory when toggling the right panel
* Restore the isViewingRoom check
* Test RightPanelStore
* Make the constructor private again
* Add even more tests
* Fix onReady
2022-06-17 16:57:40 -04:00
Robin
d9396b0b54
Expire video member events after 1 hour ( #8776 )
...
* Expire video member events after 1 hour
* Iterate based on feedback
* Validate the types of video member events better
* Even more parentheses
2022-06-09 13:19:52 +00:00
Robin
f152310c08
Use random widget IDs for video rooms ( #8739 )
2022-06-02 09:10:22 -04:00
Robin
7edc4b1965
Stop connecting to a video room if the widget messaging disappears ( #8660 )
...
* Stop connecting to a video room if the widget messaging disappears
* Clean up more listeners
* Clean up even more listeners
2022-05-24 07:43:27 -04:00
Janne Mareike Koschinski
2d386556a6
ensure metaspace changes correctly notify listeners ( #8611 )
2022-05-18 15:15:25 +02:00
Robin
ceda77d7dc
Proactively fix stuck devices in video rooms ( #8587 )
...
* Proactively fix stuck devices in video rooms
* Fix tests
* Explain why we're disabling the lint rule
* Apply code review suggestions
* Back VideoChannelStore's flags by SettingsStore instead of localStorage
2022-05-16 16:54:08 -04:00
Kerry
dc346d5e83
test typescriptification - RoomViewStore ( #8539 )
...
* test/stores/RoomViewStore-test.js -> test/stores/RoomViewStore-test.tsx
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix tsc issues
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-05-09 15:14:45 +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
Kerry
e233cf5061
Live location sharing: fix safari timestamps pt 2 ( #8443 )
...
* handle safari cocoa core data timestamps
Signed-off-by: Kerry Archibald <kerrya@element.io>
* actually fix safari timestamp issue properly
Signed-off-by: Kerry Archibald <kerrya@element.io>
* actually fix safari timestamp issue properly
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-29 09:12:28 +00:00
Kerry
472222c195
LLS: error handling on stopping beacon ( #8406 )
...
* shared stopping error state for timeline, maxi and room warnign
Signed-off-by: Kerry Archibald <kerrya@element.io>
* check for stopping errors in roomlist share warning
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test stopping errors in OwnBeaconStore
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update LeftPanelLiveShareWarning tests for stopping errors
Signed-off-by: Kerry Archibald <kerrya@element.io>
* reinstate try/catch for stopping beacons in create
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove unnecessary and buggy beacon stopping on creation
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-28 12:03:51 +00:00
Kerry
8c6786bad6
LLS: rename wireError ( #8401 )
...
* rename wireError in ownbeaconstore to locationPublishError
Signed-off-by: Kerry Archibald <kerrya@element.io>
* rename getLiveBeaconIdsWithWireError -> getLiveBeaconIdsWithLocationPublishError
Signed-off-by: Kerry Archibald <kerrya@element.io>
* rename wire error variables in components
Signed-off-by: Kerry Archibald <kerrya@element.io>
* new snapshots for new test names
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix bad capitalisation on onResetLocationPublishError
Signed-off-by: Kerry Archibald <kerrya@element.io>
* missed variable
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-25 12:44:18 +00:00
Robin
6bfe0436e5
Fix infinite loop when pinning/unpinning persistent widgets ( #8396 )
...
Pinning or unpinning a persistent widget, such as Jitsi, could cause the
PiP view and the app drawer to fight for control over the widget, since
the PiP view never realized that it was supposed to relinquish control.
This was due to a race between the WidgetLayoutStore update and the
AppTile lifecycle tracking update.
2022-04-25 08:29:54 -04:00
Robin
2a396a406d
Stick connected video rooms to the top of the room list ( #8353 )
2022-04-22 08:17:31 -04:00
Kerry
988d300258
Live location sharing: only share to beacons created on device ( #8378 )
...
* create live beacons in ownbeaconstore and test
Signed-off-by: Kerry Archibald <kerrya@element.io>
* more mocks in RoomLiveShareWarning
Signed-off-by: Kerry Archibald <kerrya@element.io>
* extend mocks in components
Signed-off-by: Kerry Archibald <kerrya@element.io>
* comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove another comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* extra ? hedge in roommembers change
Signed-off-by: Kerry Archibald <kerrya@element.io>
* listen to destroy and prune local store on stop
Signed-off-by: Kerry Archibald <kerrya@element.io>
* tests
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update copy pasted copyright to 2022
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-22 12:05:36 +00:00
Kerry
a3a7c60dd7
LLS: Remove beacon info illegal replace relation ( #8390 )
...
* dont apply illegal replace relation to beacon_info event
Signed-off-by: Kerry Archibald <kerrya@element.io>
* only display tiles for beacon infos with live prop
Signed-off-by: Kerry Archibald <kerrya@element.io>
* copyrights
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-22 11:38:27 +00: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
Robin
6e86a14cc9
Show a lobby screen in video rooms ( #8287 )
...
* Show a lobby screen in video rooms
* Add connecting state
* Test VideoRoomView
* Test VideoLobby
* Get the local video stream with useAsyncMemo
* Clean up code review nits
* Explicitly state what !important is overriding
* Use spacing variables
* Wait for video channel messaging
* Update join button copy
* Show frame on both the lobby and widget
* Force dark theme for video lobby
* Wait for the widget to be ready
* Make VideoChannelStore constructor private
* Allow video lobby to shrink
* Add invite button to video room header
* Show connected members on lobby screen
* Make avatars in video lobby clickable
* Increase video channel store timeout
* Fix Jitsi Meet getting wedged on startup in Chrome and Safari
* Revert "Fix Jitsi Meet getting wedged on startup in Chrome and Safari"
This reverts commit 9f77b8c227c1a5bffa5d91b0c48bf3bbc44d4cec.
* Disable device buttons while connecting
* Factor RoomFacePile into a separate file
* Fix i18n lint
* Fix switching video channels while connected
* Properly limit number of connected members in face pile
* Fix CSS lint
2022-04-20 11:03:33 -04:00
Kerry
44d446be89
Live location sharing - set replaces relation when stopping beacon ( #8266 )
...
* set replaces relation on stopping beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update tests for stopBeacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-11 10:28:43 +02:00
Kerry
03d0969ae3
Live location sharing - update beacon_info implementation to latest MSC ( #8256 )
...
* update calls to set and createLiveBeacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix stop beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove variable event type from beacon utils
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use beacon identifier
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix RoomLiveShareWarning tests
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add case for beacon update
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* more lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-08 10:53:06 +02:00
Travis Ralston
0280c27bfd
post-merge fixes
2022-04-05 10:57:16 -06:00
Travis Ralston
4057833036
Merge branch 'develop' into travis/remove-skinning
2022-04-05 10:50:37 -06:00
Robin
1f64835fab
Update video rooms to new design specs ( #8207 )
...
* Remove radio component
* "Voice room" → "video room"
* Remove interactivity from video room tiles
* Update connection state when joining via widget
* Simplify room header buttons for video rooms
* Split out video room creation into a separate menu option
* Simplify room options for video rooms
* Update video room tile layout
* Tell the Jitsi widget whether it's a video channel
* Update tests
* "Voice" → "video" in more places
* Fix tests
* Re-add frame to immersive Jitsi widgets
* Comment ack
* Make updateDevices more readable
* Type FacePile
2022-04-01 14:36:10 +00:00
Travis Ralston
97efdf7094
Merge branch 'develop' into travis/remove-skinning
2022-03-31 19:25:43 -06:00
Kerry
1175226bcb
Live location sharing - display wire error in room ( #8198 )
...
* expose wire errors in more useful way
* add wire error state to room live share warning bar
Signed-off-by: Kerry Archibald <kerrya@element.io>
* stylelint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add types to getLabel helper
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-31 10:57:12 +02:00
Kerry
d09205122d
Live location sharing - Stop publishing location to beacons with consecutive errors ( #8194 )
...
* add error state after consecutive errors
Signed-off-by: Kerry Archibald <kerrya@element.io>
* polish
Signed-off-by: Kerry Archibald <kerrya@element.io>
* comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove debug
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-30 14:01:44 +00:00
Kerry
2adc972eec
Live location sharing - stop sharing to beacons in rooms you left ( #8187 )
...
* remove beacons on membership changes
* add addMembershipToMockedRoom test util
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test remove beacons on membership changes
Signed-off-by: Kerry Archibald <kerrya@element.io>
* removelistener
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-29 18:18:34 +02:00
Travis Ralston
d5ed1eb66e
Step 8.3: Convert RoomViewStore
to a more modern singleton for imports
2022-03-28 14:02:31 -06:00
Travis Ralston
a987ead7d2
Step 8.1: Remove skinning setup from all tests
2022-03-28 14:02:31 -06:00
Kerry
d2b97e251e
Live location sharing - handle geolocation errors ( #8179 )
...
* display live share warning only when geolocation is happening
Signed-off-by: Kerry Archibald <kerrya@element.io>
* kill beacons when geolocation is unavailable or permissions denied
Signed-off-by: Kerry Archibald <kerrya@element.io>
* polish and comments
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-28 18:46:39 +02:00
Robin
8baf06c3ff
Show voice room participants when not connected ( #8136 )
...
* Add utility for getting connected voice participants
* Allow voice room members to send connected device state
* Update connected devices when connecting/disconnecting voice
* Show voice room participants in room tile when not connected
* Update voice room tests
* Add null types and guards
2022-03-28 14:12:09 +01:00
Kerry
e9b2aea97b
Live location sharing - send geolocation beacon events - happy path ( #8127 )
...
* geolocation utilities
Signed-off-by: Kerry Archibald <kerrya@element.io>
* messy send events
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add geolocation services
Signed-off-by: Kerry Archibald <kerrya@element.io>
* geolocation tests
Signed-off-by: Kerry Archibald <kerrya@element.io>
* debounce with backup emit every 30s
Signed-off-by: Kerry Archibald <kerrya@element.io>
* import reorder
Signed-off-by: Kerry Archibald <kerrya@element.io>
* some more working tests
Signed-off-by: Kerry Archibald <kerrya@element.io>
* complicated timeout testing
Signed-off-by: Kerry Archibald <kerrya@element.io>
* publish first location immediately
Signed-off-by: Kerry Archibald <kerrya@element.io>
* move advanceDateAndTime to utils, tidy
Signed-off-by: Kerry Archibald <kerrya@element.io>
* typos
Signed-off-by: Kerry Archibald <kerrya@element.io>
* types and lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-28 10:48:38 +00:00
Kerry
b04d31b5be
Live location sharing: live share warning in room ( #8100 )
...
* add duration dropdown to live location picker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* tidy comments
Signed-off-by: Kerry Archibald <kerrya@element.io>
* setup component
Signed-off-by: Kerry Archibald <kerrya@element.io>
* replace references to beaconInfoId with beacon.identifier
Signed-off-by: Kerry Archibald <kerrya@element.io>
* icon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* component for styled live beacon icon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* emit liveness change whenever livebeaconIds changes
Signed-off-by: Kerry Archibald <kerrya@element.io>
* Handle multiple live beacons in room share warning, test
Signed-off-by: Kerry Archibald <kerrya@element.io>
* un xdescribe beaconstore tests
Signed-off-by: Kerry Archibald <kerrya@element.io>
* missed copyrights
Signed-off-by: Kerry Archibald <kerrya@element.io>
* i18n
Signed-off-by: Kerry Archibald <kerrya@element.io>
* tidy
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-22 13:57:12 +00:00
Kerry
a80e55d38d
add helpers for beacon duration calculations ( #8101 )
...
* add helpers for beacon duration calculations
Signed-off-by: Kerry Archibald <kerrya@element.io>
* makeBeaconInfoEvent timestsamp prop
Signed-off-by: Kerry Archibald <kerrya@element.io>
* ad copyright
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-22 10:46:47 +00:00
Kerry
ab934a2a08
kill beacons on expiry ( #8075 )
...
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-18 14:38:41 +01:00
Kerry
bb6ae3fdbc
Live beacons: track users live beacons ( #8061 )
...
* add simple live share warning
Signed-off-by: Kerry Archibald <kerrya@element.io>
* rough first cut of OwnBeaconStore
Signed-off-by: Kerry Archibald <kerrya@element.io>
* working (?) has live beacons status
Signed-off-by: Kerry Archibald <kerrya@element.io>
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add left panel share warning
Signed-off-by: Kerry Archibald <kerrya@element.io>
* setup for tests
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test ownbeaconstore
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add copyright
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add copyright
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove warning banner
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix test
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix tests for weird asyncstore closure issues
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix OwnBeaconStore more...
Signed-off-by: Kerry Archibald <kerrya@element.io>
* revert loose change to LeftPanel
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-16 17:35:09 +01: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
b8f37a46f0
Fix bug with some space selections not being applied ( #7971 )
2022-03-03 21:42:18 +00: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
Michael Telatynski
08c47ac473
Fix changing space sometimes bouncing to the wrong space ( #7910 )
2022-03-01 08:33:29 +00:00
Kerry
130bd6aa63
manage voicerecording state when deleting or sending a voice message ( #7896 )
...
* manage voicerecording state when deleting or sending a voice message
Signed-off-by: Kerry Archibald <kerrya@element.io>
* comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-24 18:54:06 +01: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
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
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
658590e5bc
More posthog tracking around joining rooms and room search ( #7807 )
2022-02-17 18:03:27 +00:00
David Baker
3be74d38d6
Fix src/lib import ( #7825 )
2022-02-17 10:06:19 +00:00
David Baker
01b00bf3fe
Add test for RoomNotificationState ( #7820 )
...
Regression test for https://github.com/vector-im/element-web/issues/20859
2022-02-17 09:18:37 +00:00
J. Ryan Stinnett
0dc1355441
Fix right panel data flow ( #7811 )
2022-02-16 11:19:28 +00:00
Michael Telatynski
cfa6e266cd
Wire up new fields on the ViewRoom posthog event and more interactions ( #7787 )
2022-02-14 19:31:13 +00:00
Kerry
f7a3027e50
runAllTimers -> runOnlyPendingTimers in SpaceStore-test ( #7634 )
...
* runAllTimers -> runOnlyPendingTimers in SpaceStore-test
Signed-off-by: Kerry Archibald <kerrya@element.io>
* runAllTimers for switch to first valid space when selected metaspace is disabled
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-26 11:38:07 +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
Michael Telatynski
ec6c1b8272
Fix RoomViewStore forgetting some details of a view room call ( #7512 )
2022-01-12 13:12:28 -07:00
J. Ryan Stinnett
6199c337ea
Fix spacing errors ( #7484 )
2022-01-10 12:57:20 +00:00
Michael Telatynski
39c4b78371
Space preferences for whether or not you see DMs in a Space ( #7250 )
2021-12-17 09:26:32 +00: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
Aaron Raimist
2e8a93834b
Auto fix
...
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +00:00
Michael Telatynski
3b9e39ffca
When accepting DM from People metaspace don't switch to Home ( #7272 )
2021-12-03 11:17:51 +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
Timo
556cfc7ed8
Add maximise widget functionality ( #7098 )
...
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-11-16 15:43:18 +01:00
Michael Telatynski
5ad3261cb2
Implement more meta-spaces ( #7077 )
2021-11-11 13:07:41 +00:00
Michael Telatynski
be0fa6da7b
Fix removing a room from a Space and interaction with m.space.parent
( #6944 )
2021-10-25 14:06:00 +01:00
Michael Telatynski
82ad85a974
Mock usage of getRoomUpgradeHistory in SpaceStore tests
2021-10-08 10:30:46 +01:00
Michael Telatynski
911ca07da4
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18088
2021-09-08 15:28:58 +01:00
Michael Telatynski
c915288044
Respect m.space.parent relations if they hold valid permissions
2021-09-06 14:34:06 +01: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
0a9d3302ba
Fix home vs all rooms requiring app reload and change default to home
...
Consolidate ALL_ROOMS and HOME_SPACE storage
Fix behaviour when recalled room is no longer part of the target space
Improve tests
2021-07-27 21:11:47 +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
Michael Telatynski
755007cbee
Conclude labs flags and write more tests
2021-07-27 14:39:14 +01:00
Michael Telatynski
de42a00ca4
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/17686
...
Conflicts:
src/components/views/avatars/RoomAvatar.tsx
test/stores/SpaceStore-test.ts
test/test-utils.js
2021-07-19 16:47:31 +01:00
Michael Telatynski
316b21408d
Fix tests
2021-07-15 10:59:52 +01:00
Michael Telatynski
04c923bd75
fix tests by including client field on the Room stub and stubbing getJoinedMemberCount
2021-07-06 11:35:56 +01:00
J. Ryan Stinnett
ae0a8b8da4
Auto-fix lint errors
2021-06-29 13:11:58 +01:00
Michael Telatynski
9e20e5dfc4
mock new settings in tests
2021-06-16 09:14:07 +01:00
David Baker
31604c13c0
Lint the typescript tests
...
Turns out we hadn't told eslint to lint .ts in tests/
Also fix all the lint errors, including removing a use of assert that
had randomly crept in.
2021-06-04 16:52:50 +01:00
Michael Telatynski
90fa738734
Fix that one final pesky test
2021-05-07 11:22:10 +01:00
Michael Telatynski
f0e61e6286
short circuit automatic switch to related space behaviour and fix tests
2021-05-07 11:08:18 +01:00
Michael Telatynski
9d9dce7a91
update orphan room behaviour test to expect new home space behaviour
2021-05-07 10:48:55 +01:00
Michael Telatynski
203425c8de
Test and fix space store wrongly treating room invites as space invites
2021-04-26 08:37:45 +01:00
Michael Telatynski
47c12a7d23
Add tests for rooms moving around the SpaceStore
2021-04-25 09:24:00 +01:00
Michael Telatynski
98851f8e64
Text space switching behaviour and fix invalid space edge case
2021-04-24 11:32:55 +01:00
Michael Telatynski
f85d3643ee
Test and fix subspace invite receipt behaviour
2021-04-24 11:31:52 +01:00
Michael Telatynski
dd2a1d063a
Write tests for spaces context switching behavious
2021-04-23 16:14:55 +01:00
Michael Telatynski
4446022327
Add automatic space switching tests
2021-04-23 14:45:22 +01:00
Michael Telatynski
c35678c64a
Add yet more tests
2021-04-23 13:40:16 +01:00
Michael Telatynski
a3ca48b4da
Write more space store tests
2021-04-23 12:19:38 +01:00
Michael Telatynski
a38419defb
extend space tests some more
2021-04-23 11:20:26 +01:00
Michael Telatynski
1075756929
add more tests
2021-04-23 09:55:30 +01:00
Michael Telatynski
fba7465ad4
Initial SpaceStore tests work
2021-04-22 14:45:13 +01:00
Travis Ralston
54f3288dea
Fix imports for tests
...
This doesn't fix the fact that someone called it "peg".
2020-01-09 17:23:27 -07:00
Michael Telatynski
802092bf9a
All tests passing locally. We no longer need Chrome in buildkite
2019-12-17 11:53:18 +00:00
Michael Telatynski
e6d8487302
Fix more tests
2019-12-17 11:47:01 +00:00
Michael Telatynski
0041dae664
26 test failures to go :D
2019-12-16 11:55:01 +00:00
Michael Telatynski
6ad31fe023
30 test failures to go :D
2019-12-16 11:12:48 +00:00
Michael Telatynski
18f81d80db
Initial jest stuff. Blocked on Babel 7
2019-12-13 13:43:48 +00:00
Michael Telatynski
d4d51dc61f
Rip out the remainder of Bluebird
2019-11-18 10:03:05 +00:00
Richard van der Hoff
0254d2b3a2
q(...) -> Promise.resolve
...
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-12 18:05:08 +01:00
Richard van der Hoff
a06bd84213
replace imports of q
with bluebird
...
update `package.json`
```
find src test -name '*.js' |
xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
find src test -name '*.js' |
xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
Luke Barnard
3218cae6e3
Expect to join by alias if given to RVS
2017-06-08 17:47:48 +01:00
Luke Barnard
7808994b71
Modify RVS test to wait until room loaded
...
This allows for the alias resolution to occur before a join is attempted. In theory, join_room could in future do an optional view_room-esque thing before attemping a join which would be less fragile than dispatching things in the right order.
Also, make sure the store indicates that it is not loading when a room ID has been used - no alias resolution need take place.
2017-06-02 09:22:48 +01:00
Luke Barnard
298c5e4df3
Implement a store for RoomView
...
This allows for a truely flux-y way of storing the currently viewed room, making some callbacks (like onRoomIdResolved) redundant and making sure that the currently viewed room (ID) is only stored in one place as opposed to the previous many places.
This was required for the `join_room` action which can be dispatched to join the currently viewed room.
Another change was to introduce `LifeCycleStore` which is a start at encorporating state related to the lifecycle of the app into a flux store. Currently it only contains an action which will be dispatched when the sync state has become PREPARED. This was necessary to do a deferred dispatch of `join_room` following the registration of a PWLU (PassWord-Less User).
The following actions are introduced:
- RoomViewStore:
- `view_room`: dispatch to change the currently viewed room ID
- `join_room`: dispatch to join the currently viewed room
- LifecycleStore:
- `do_after_sync_prepared`: dispatch to store an action which will be dispatched when `sync_state` is dispatched with `state = 'PREPARED'`
- MatrixChat:
- `sync_state`: dispatched when the sync state changes. Ideally there'd be a SyncStateStore that emitted an `update` upon receiving this, but for now the `LifecycleStore` will listen for `sync_state` directly.
2017-05-24 16:56:13 +01:00