Commit graph

1739 commits

Author SHA1 Message Date
Travis Ralston
7f5bb61a79
Support a module API surface for custom functionality (#8246)
* Early implementation of module API surface + functions for ILAG module

* Wire up dialog functions and ILAG-needed surface

* Ensure component renders for modules get overridden

* Respond to changes from module API interface

* Use a real module-api dependency

* Update for new Dialogs interface

* Add support for getConfigValue from module API

* Update the remainder of the module API interface

* Docs & cleanup

* Add some unit tests around module stuff

Needs end-to-end tests still.

* Appease early linters

* Break import cycles by not directly depending on Lifecycle

* Appease the linter

* Fix bad merge
2022-07-05 12:26:44 -06:00
Janne Mareike Koschinski
328d7ea5eb
Remove unused code left over from the old search (#8947) 2022-06-30 17:14:49 +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
ff4e66517b
Connect to Jitsi unmuted by default (#8909) 2022-06-27 13:26:25 -04:00
Travis Ralston
97a9af42d5
Stop setting auto_join on space child events (#8863)
It's not a specified property and not even used.
2022-06-26 23:28:02 +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
Michael Telatynski
3c5c2bef6d
Remove Piwik support (#8835)
* Remove all mentions of Piwik

* Kill off all consumer of the old Piwik Analytics module

* Simplify ModalManager interface

* i18n

* Attempt to fix old e2e tests

* Remove unused component

* Iterate PR
2022-06-14 17:51:51 +01: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
Michael Telatynski
8036985204
Update matrix-analytics-events to @matrix-org/analytics-events (#8778)
* Update matrix-analytics-events to @matrix-org/analytics-events

* Update install-deps.sh

* Update layered.sh

* Update BeaconMarker-test.tsx.snap

* Update BeaconStatus-test.tsx.snap
2022-06-07 20:08:36 +01:00
Robin
0d1bb3bd9a
Show a dialog when Jitsi encounters an error (#8701)
* Show a dialog when Jitsi encounters an error

* Capitalize 'Meet'

* Revise copy to not mention Jitsi
2022-05-26 14:14:13 +00:00
Michael Telatynski
655bca63e6
Move Enterprise Erin tests from Puppeteer to Cypress (#8569)
* Move Enterprise Erin tests from Puppeteer to Cypress

* delint

* types

* Fix double space

* Better handle logout in Lifecycle

* Fix test by awaiting the network request

* Improve some logout handlings

* Try try try again

* Delint

* Fix tests

* Delint
2022-05-26 10:12:49 +00:00
Michael Telatynski
d75e2f19c5
Fix font not resetting when logging out (#8670)
* Fix font not resetting when logging out

* Adopt on_logged_in and on_logged_out into DispatcherAction

* Add tests

* Add copyright
2022-05-26 09:56:53 +01: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
Robin
79ad065d6a
Stop Jitsi if we time out while connecting to a video room (#8659) 2022-05-20 16:25:28 -04:00
Michael Telatynski
762d052501
Fix offline status in window title not working reliably (#8656) 2022-05-20 17:46:16 +01:00
Janne Mareike Koschinski
2d386556a6
ensure metaspace changes correctly notify listeners (#8611) 2022-05-18 15:15:25 +02:00
Sinharitik589
d717d06ce5
Prevent invites from showing up in breadcrumbs (#8344) 2022-05-17 15:08:36 +01: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
Michael Telatynski
8ae9f7d79a
Fix edge case thread summaries around events without a msgtype (#8576)
* Fix edge case thread summaries around events without a msgtype

* Remove incomprehensible comment
2022-05-16 08:11:50 +00:00
Šimon Brandner
4c1c12bbc4
Fix favourites metaspace not updating (#8594) 2022-05-14 11:45:15 +00:00
Michael Telatynski
f9c85ac7c2
Fix codepath which can wrongly cause automatic space switch from all rooms (#8560)
* Fix codepath which can wrongly cause automatic space switch from all rooms

* Improve typing
2022-05-11 16:44:02 +01:00
Michael Telatynski
39262215cd
Remove redundant checkKey parameter (#8559) 2022-05-11 11:10:50 +01:00
Michael Telatynski
ad4d3f9a88
Move threads e2e tests over to cypress (#8501)
* Add non-consent (default) Synapse template

* Add consent test

* Add create room test

* Stash work

* Initial threads tests

* fix

* Delete old threads e2e tests, plan new ones

* Fix typed s'more

* Try something else

* specify d.ts

* Fix types once and for all?

* Fix the consent tests

* Iterate threads test harness

* Fix dispatcher types

* Iterate threads test

* fix typing

* Alternative import attempt

* let it break let it break let it break

* Tweak types

* Stash

* delint and update docs

* null-guard scrollIntoView

* Iterate threads test

* Apply suggestions from code review
2022-05-10 17:09:31 +00:00
Travis Ralston
548290b006
Run a minor code quality checker over the repo (#8524)
* Run a minor code quality checker over the repo

Largely targeted at spelling of common words and misc code issues.

* Update snapshots
2022-05-09 22:52:05 +00:00
Robin
19efa093e0
Handle Jitsi Meet crashes more gracefully (#8541) 2022-05-09 13:46:08 +00:00
Travis Ralston
d39d332f54
Merge pull request #8521 from matrix-org/travis/remove-unused-labs-1
Remove some labs features which don't get used or create maintenance burden: custom status, multiple integration managers, and do not disturb
2022-05-06 13:21:07 -06:00
Travis Ralston
2aec197354 Remove feature_many_integration_managers
Rationale: If we want this feature, design will do it properly.
2022-05-06 12:46:26 -06:00
Travis Ralston
aa664b88a4 Remove feature_custom_status
Rationale: It's legacy and wrong in so many ways.
2022-05-06 12:39:03 -06: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
f34b4f1182
Disconnect from video rooms when leaving (#8500)
* Disconnect from video rooms when leaving

* Listen on the specific room

* Fix lints
2022-05-04 21:02:53 +00:00
Michael Telatynski
964c60d086
Apply corrections identified by SonarQube (#8457) 2022-05-03 22:04:37 +01:00
Michael Telatynski
f29ef04751
Fix race conditions around threads (#8448) 2022-05-03 14:25:08 +01:00
Michael Telatynski
fddbc429a9
Fix issue with thread notification state ignoring initial events (#8417) 2022-04-29 09:48:57 +01: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
Robin
c70816d763
Persist audio and video mute state in video rooms (#8376)
…so that video lobbies remember whether you've disabled your camera.
2022-04-21 15:00:32 +00:00
Robin
dd880df6ae
Forcefully disconnect from video rooms on logout and tab close (#8375)
* Forcefully disconnect from video rooms on logout

* Forcefully disconnect from video rooms on tab close
2022-04-21 07:41:58 -04: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
Michael Telatynski
2f6b76755c
Fix RightPanelStore handling first room on app launch wrong (#8370) 2022-04-20 11:05:55 +01:00
Robin Kouwenhoven
aa33442983
Move RequiresClient from MatrixCapabilities to ElementWidgetCapabilities (#8290)
* Move RequiresClient from MatrixCapabilities to ElementWidgetCapabilities

Signed-off-by: Robin Kouwenhoven <r.kouwenhoven@outlook.com>

* Replace usages of RequiresClient with new location

Signed-off-by: Robin Kouwenhoven <r.kouwenhoven@outlook.com>

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-04-14 21:25:53 +00:00
CommanderRoot
c35fc169f5
Replace deprecated String#substr with String#slice (#8314) 2022-04-14 07:52:42 +00:00
Kerry
aecd71ad15
Live location sharing - update beacon tile with latest location (#8265)
* add useBeacon hook

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

* update message tile types to work with function comp with ref

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

* use beacon hook in beacon body

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

* update beacon body with (textual) latest locations, test

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

* language in comment

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

* comments

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

* copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-11 09:16:32 +00: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
Janne Mareike Koschinski
579a166113
Fix: Remove jittery timeline scrolling after jumping to an event (#8263)
* Fix: Remove jittery timeline scrolling after jumping to an event

* Fix: Remove onUserScroll handler and merge it with onScroll

* Fix: Reset scrollIntoView state earlier

Co-authored-by: Janne Mareike Koschinski <jannemk@element.io>
2022-04-08 20:48:57 +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
4057833036 Merge branch 'develop' into travis/remove-skinning 2022-04-05 10:50:37 -06:00
Sinharitik589
13a51654e7
Spaces selected by default when created (#8085)
* Spaces selected by default when created

* Spaces selected by default when created

* Spaces selected by default when created

* Spaces selected by default when created => removed lines intended for room creation

* Spaces selected by default when created

* Spaces selected by default when created => removed unwanted console log

* Spaces selected by default when created => added accidently removed line

* Spaces selected by default when created => added accidently removed line

* Spaces selected by default when created => linting and brackets added

* Update src/stores/spaces/SpaceStore.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Update src/stores/spaces/SpaceStore.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Added missing bracket

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-04-04 00:54:54 -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
ac65e5fd2f Appease the linter 2022-03-31 19:52:26 -06:00
Travis Ralston
5137fcf3e8 Remove unit test function which isn't needed
The import ordering no longer requires us to create an injector function.
2022-03-31 19:43:17 -06:00
Travis Ralston
71b356a9a4 Cast dispatcher payloads correctly when firing them 2022-03-31 19:38:00 -06:00
Travis Ralston
97efdf7094 Merge branch 'develop' into travis/remove-skinning 2022-03-31 19:25:43 -06:00
Germain
f4c25e06cd
Fix notification dot for "Mentions & keywords" for thread messages (#8202) 2022-03-31 14:48:23 +01:00
Michael Telatynski
90527316cf
Don't try show saved thread panel state if threads is disabled (#8203) 2022-03-31 13:23:03 +01:00
Kerry
4922e19b5a
Live Location Sharing - left panel warning with error (#8201)
* add error style to left panel beacon warning

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

* test

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

* add beacon sort util

* link to latest beacon room from left panel warning

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-31 13:51:44 +02: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
e721c6b0c2
Live location sharing: allow retry when stop sharing fails (#8193)
* allow retry when stop sharing fails

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

* tidy

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-30 12:31:19 +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
Michael Telatynski
e161f0b17b
Update more strings to not wrongly mention room when it is/could be a space (#7722) 2022-03-29 15:02:12 +01:00
Travis Ralston
51f90a1a73 Step 8.5: Move room settings opener to a DialogOpener 2022-03-28 14:02:31 -06:00
Travis Ralston
4144d0ba57 Step 8.5: Isolate RightPanelStore from RoomViewStore 2022-03-28 14:02:31 -06:00
Travis Ralston
d89fcf17fb Step 8.4.2: Refactor ActiveRoomObserver out of existence
The `RoomTile` was the last class to use it. Note that we also update the RVS to change its `instance` declaration type to fix a few tests.
2022-03-28 14:02:31 -06:00
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
Travis Ralston
b667ef9f18 Step 3.2: Stop using getComponent in code 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
Michael Telatynski
81df4c0aeb
Maintain reply-to-event when clicking room permalink (#8114) 2022-03-23 13:38:21 +00:00
Dominik Henneke
9ba1c97770
Generate the correct widget id when opening modal widgets (#8123) 2022-03-23 11:28:37 +00:00
Travis Ralston
fce36ec826
Delete groups (legacy communities system) (#8027)
* Remove deprecated feature_communities_v2_prototypes

* Update _components

* i18n

* delint

* Cut out a bit more dead code

* Carve into legacy components

* Carve into mostly the room list code

* Carve into instances of "groupId"

* Carve out more of what comes up with "groups"

* Carve out some settings

* ignore related groups state

* Remove instances of spacesEnabled

* Fix some obvious issues

* Remove now-unused css

* Fix variable naming for legacy components

* Update i18n

* Misc cleanup from manual review

* Update snapshot for changed flag

* Appease linters

* rethemedex

* Remove now-unused AddressPickerDialog

* Make ConfirmUserActionDialog's member a required prop

* Remove useless override from RightPanelStore

* Remove extraneous CSS

* Update i18n

* Demo: "Communities are now Spaces" landing page

* Restore linkify for group IDs

* Demo: Dialog on click for communities->spaces notice

* i18n for demos

* i18n post-merge

* Update copy

* Appease the linter

* Post-merge cleanup

* Re-add spaces_learn_more_url to the new SdkConfig place

* Round 1 of post-merge fixes

* i18n

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-22 23:07: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
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
Matthew Hodgson
8cd805ad23
Don't restore MemberInfo from RightPanel history when viewing a room (#8090)
As bringing up a specific MemberInfo when you view a room is freaky,
even if it happened to be the last thing you were doing in that room.
Fixes https://github.com/vector-im/element-web/issues/21487
2022-03-21 14:01:06 +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
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
Michael Telatynski
4b0df21b0a
Fix null-guarding regression around reply_to_event dispatch (#8039) 2022-03-11 17:21:28 +00:00
Michael Telatynski
ceb2281d36
Fix regression around replying to search results (#8035) 2022-03-11 15:40:49 +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
b8f37a46f0
Fix bug with some space selections not being applied (#7971) 2022-03-03 21:42:18 +00:00
Germain
acd12c38a9
Fix threads timeline message ordering (#7968) 2022-03-03 15:22:16 +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
7a32a68a0b
Fix right panel soft crashes due to missing room prop (#7923) 2022-03-01 11:15:23 +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
Michael Telatynski
c257bc3f7a
Prefer RoomStateEvent.Update where possible as it fires far less (#7878) 2022-02-24 14:39:25 +00:00
Michael Telatynski
7fa01ffb06
Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Michael Telatynski
8fccef86d8
Wire up drag-drop file uploads for the thread view (#7860) 2022-02-22 11:14:56 +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
Travis Ralston
b756f03563
Keep unsent voice messages in memory until they are deleted or sent (#7840)
Fixes https://github.com/vector-im/element-web/issues/17979
2022-02-18 07:29:08 -07:00
Michael Telatynski
38a547b5d0
Remove ResizeObserver Polyfill (#7844) 2022-02-18 13:51: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
J. Ryan Stinnett
a939184e10
Tear down AppTile using lifecycle tracking (#7833) 2022-02-17 16:30:36 +00:00
Michael Telatynski
2f1d2ed5f8
Fix space panel notification badge behaviour and metrics (#7823) 2022-02-17 09:20:48 +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
J. Ryan Stinnett
0dc1355441
Fix right panel data flow (#7811) 2022-02-16 11:19:28 +00:00
Michael Telatynski
c2cf3a2d9e
Fix room create tile not showing up with hidden events shown (#7810)
* Replace m.room.create with enum

* Fix room create tile not showing up with hidden events shown
2022-02-15 21:05:41 +00:00
David Baker
a958cd20f1
Fix delayed badge update for mentions in encrypted rooms (#7813)
* Fix delayed badge update for mentions in encrypted rooms

Fixes https://github.com/vector-im/element-web/issues/20859

More detail on the issue

* Remove unused import

* Fix listener removal
2022-02-15 20:06:29 +00:00
Michael Telatynski
8d4e83084c
Remove Countly analytics integration (#7808) 2022-02-15 16:58:30 +00:00
Michael Telatynski
6793ef33ba
Use the resize observer polyfill consistently (#7796) 2022-02-14 23:59:03 +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
b5e7d12f76
Add config option to autorageshake when key backup is not enabled (#7741)
* report on not enabled

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

* add setting

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

* check key backup status after crypto init

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

* remove log

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

* test encryption setup in DeviceListener

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

* i18n

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

* sendLogs for key backup auto-report event

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

* remove reloadOnChagneController

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-11 14:00:37 +01:00
Michael Telatynski
0d6ef76605
Add analytics for the ViewRoom action (#7666) 2022-02-10 14:29:55 +00:00
Michael Telatynski
20e9d0c159
Wire up more posthog properties and interactions (#7763) 2022-02-10 13:53:07 +00:00
Michael Telatynski
f6565bfbc8
Send how many favorited rooms a user has to Posthog (#7772) 2022-02-10 10:02:34 +00:00
Charlie Calendre
871032e1bc
Fix space member list opening with back button (#7773) 2022-02-10 09:20:48 +00:00
Michael Telatynski
91ccbe4395
Add way to track posthog user properties and send numSpaces (#7716) 2022-02-09 09:21:56 +00:00
Michael Telatynski
ed185240a5
Move new search experience to a Beta (#7718) 2022-02-08 14:02:36 +00:00
Michael Telatynski
ec92102fe3
Properly handle persistent widgets when room is left (#7724) 2022-02-07 14:40:22 +00:00
Faye Duxovni
7e5de9294c
Refine UISI autorageshake conditions to cut down on false alarms (#7650)
The AutoRageshakeStore now only starts submitting rageshakes after the initial sync has completed, and provides a short grace period for decryption failures to resolve.
2022-01-31 10:49:27 -05:00
Faye Duxovni
31e6b942f2
Redirect UISI autorageshakes to separate repo and add more labels for filtering (#7598)
This adds a new key `uisi_autorageshake_app` to config.json, holding an optional custom app name for UISI autorageshakes so that the rageshake server can file them separately from user-submitted rageshakes.
2022-01-26 14:30:45 -05:00
Michael Telatynski
e18bbb030d
Fix RightPanelStore assuming isViewingRoom is false on load (#7642) 2022-01-26 13:44:30 +00:00
Michael Telatynski
8e4ced6454
Correctly handle Room.timeline events which have a nullable Room (#7635) 2022-01-26 13:24:14 +00:00
J. Ryan Stinnett
20e6d36df7
Add labs flag for default open right panel (#7618) 2022-01-24 17:53:42 +00:00
J. Ryan Stinnett
31835275b9
Fix space member list right panel state (#7617) 2022-01-24 16:47:51 +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
e28d2a2299
Always emit a space filter update when the space is actually changed (#7611) 2022-01-24 14:45:52 +00:00
Andy Balaam
c4fc20018d
Enable the polls feature (#7581) 2022-01-20 09:40:47 +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
Germain
c612014936
Fix ThreadsRoomNotificationState listeners removal on destroy (#7558) 2022-01-17 14:54:19 +00:00
Kerry
42adedc468
Wait for initial profile load before displaying widget (#7556)
* wait for initial profile load before displaying jitsi

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

* update comment

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

* amke fn return boolean

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

* listen for profile update once

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

* remove unneccessary check

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-17 13:47:07 +00:00
Timo
7ccbf814df
Always show right panel after setting a card (#7544) 2022-01-14 15:24:46 +01:00
Faye Duxovni
3eb5130cda
Add labs flag to automatically rageshake on decryption errors (#7307)
Also sends a to-device message to the sender, prompting them to auto-rageshake too if they have this lab enabled as well.

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-13 10:55:25 -05:00
Michael Telatynski
ec6c1b8272
Fix RoomViewStore forgetting some details of a view room call (#7512) 2022-01-12 13:12:28 -07:00
Michael Telatynski
ec02f82416
Update default Jitsi URLs to meet.element.io (#7514) 2022-01-11 16:15:20 +00:00
Michael Telatynski
8c20bcfe56
Prevent mutations of js-sdk owned objects as it breaks accountData (#7504) 2022-01-10 17:09:35 +00:00
Michael Telatynski
33b34d4169
Fix space ordering to match newer spec (#7481) 2022-01-10 08:58:11 +00:00
Timo
cb76358230
Fix right panel soft crashes chat rooms (#7479) 2022-01-07 16:55:21 +01:00
Michael Telatynski
42d6ff4195
Fix room joining spinner being incorrect if you change room mid-join (#7473) 2022-01-07 09:23:54 +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
Timo
4ab3470184
History based navigation with new right panel store (#7398)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-05 17:25:41 +01:00
Timo
325e2ba99b
Right panel store refactor (#7313)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-05 16:14:44 +01:00
Michael Telatynski
f94bad7f0a
Fix being wrongly sent to Home space when creating/joining/leaving rooms (#7418) 2021-12-23 12:01:14 +00:00
Michael Telatynski
6761ef9540
Space Panel use SettingsStore instead of SpaceStore as source of truth (#7404) 2021-12-17 16:41:39 +00:00
Michael Telatynski
fb494a5098
Fix notification badge for All Rooms space (#7401) 2021-12-17 11:02:06 +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
Germain
69c4a0cebc
Fix main timeline pending events bleeding in thread's timeline (#7373) 2021-12-15 12:40:56 +00:00
Michael Telatynski
7033f8696a
Improve typing (#7349) 2021-12-14 15:34:54 +00:00
Germain
ce570ab827
Hook threads notification state to UI (#7298) 2021-12-13 14:05:42 +00: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
Andy Balaam
3b3776222b
Only show poll previews when the polls feature is enabled (#7331) 2021-12-10 15:40:16 +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
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
Germain
38e5e94ee4
Threads notifications after app startup (#7253) 2021-12-07 12:51:34 +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
Michael Telatynski
4a6d46b76a
Replace breadcrumbs with recently viewed menu (#7073) 2021-12-01 10:50:06 +00:00
Michael Telatynski
757d473971
Fix automatic space switching wrongly going via Home for room aliases (#7247) 2021-12-01 10:38:32 +00:00
Šimon Brandner
cbb34d8ac7
Make CallHandler more EventEmittery (#6704)
* sharedInstance() -> instance

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use CallState event instead of dispatching

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Simplifie some code

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use a method to start a call instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use a method instead of place_conference_call

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make terminateCallApp() and hangupCallApp() public

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use hangupAllCalls() instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make dialNumber(), startTransferToMatrixID() and startTransferToPhoneNumber() public instead of using the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use answerCall() instead of using the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use hangupOrReject() instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Update docs

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Improve TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Dispatch call_state, see https://github.com/vector-im/element-web/pull/18823#issuecomment-917377277

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add missing import

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-11-30 18:09:13 +00:00
Michael Telatynski
8fe582b094
Tweaks to informational architecture 1.1 (#7052)
* Move user avatar to Space panel

* Add room list header for 'Home' or 'Space Name' to room list
Add existing Space context menus to room list header

* Re-add pending room join spinner

* Iterate RoomListHeader plus context menu

* Iterate space context menu

* Iterate room list + interactions

* Move DND to new iA model

* Replace composer custom status management with usermenu one

* Cull Quick Actions

* Iterate minimized room list state

* delint

* Merge the RoomListNumResults into the RoomListHeader

* Make the search shortcut prompt semi-bold

* Iterate RoomListHeader based on design review

* Iterate UserMenu based on feedback

* Add name to expanded spacepanel usermenu button

* i18n

* Make room sub list aux button components more generic

* Change left panel explore button to only refer to room directory

* Iterate RoomListHeader

* Fix custom user status input field width in Chrome

* Bring back Notification settings button

* delint

* i18n

* post-merge fix

* iterate pr

* Remove unused state

* update copy

* Apply suggestions from PR review

* delint

* Update invite iconography

* Iterate Space context menu to match Figma

* Fix chevron alignment

* Fix edge case for RoomListHeader on metaspaces

* Wire up general rageshake-driven feedback mechanism

* Add IA1.1 info toast

* add missing alt attribute

* delint

* delint

* tweak ia toast priority

* e2e test account for new toast

* autofocus feedback field and remove old subheading

* tweak copy

* Iterate space panel colours to match Figma

* Iterate PR

* delint

* Fix feedback submission with object setting values

* iterate based on review

* Tweak colours and update splash image

* Tweaks based on review

* Remove room list prompt, made redundant by the big fat `+`

* Fix edge cases around User Menu positioning and dnd

* Add missing import, bad merge?

* Update aria label in e2e test

* Fix room list space rooms context menu explore button behaviour

* Tweak copy

* Revert order of options in the UserMenu

* Tweak copy

* i18n
2021-11-30 18:08:46 +00:00
Michael Telatynski
768e270f3f
Improve room list message previews (#7224) 2021-11-29 17:18:04 +00:00
Timo
4cbed99de3
Add right panel chat timeline (#7112)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-11-29 17:06:15 +01:00
Michael Telatynski
6d3865bdd5
Respect the home page as a context for the Home space (#7216) 2021-11-29 11:26:10 +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
df032b04e0
Disable typing notifications for threads (#7180) 2021-11-23 08:25:58 +00: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
Michael Telatynski
27c3153947
Unified room context menus (#7072) 2021-11-15 11:39:25 +00:00
Michael Telatynski
a16e6dab4d
Guard around SpaceStore onAccountData handler prevEvent (#7123) 2021-11-12 10:39:52 +00:00
Michael Telatynski
5ad3261cb2
Implement more meta-spaces (#7077) 2021-11-11 13:07:41 +00:00
Brad Murray
74376f989e
Don't re-sort rooms on no-op RoomUpdateCause.PossibleTagChange (#7053)
* Don't re-sort rooms on no-op RoomUpdateCause.PossibleTagChange

* Update src/stores/room-list/algorithms/Algorithm.ts

Co-authored-by: Travis Ralston <travpc@gmail.com>

Co-authored-by: Travis Ralston <travpc@gmail.com>
Co-authored-by: Travis Ralston <travisr@matrix.org>
2021-11-02 20:44:54 +00: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
Michael Telatynski
27e16362b6
Make join button on space hierarchy action in the background (#7041) 2021-10-27 15:24:31 +01:00
Timo
82c2102ccb
Respect the roomState right container request for the Jitsi widget (#7033) 2021-10-26 17:36:42 +01:00
Michael Telatynski
92df0a35a9
null-guard space store getParents relation lookup (#7029) 2021-10-25 13:55:08 +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
Aaron Raimist
027b3660bb
Manual fixes
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:49:12 -05:00
Aaron Raimist
bdc56be863
Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Germain
35b5109c2a
Fix threads broken layout (#6997) 2021-10-20 18:14:24 +01:00
Germain
694ec946e2
Allow quote-reply in thread view element-web (#6959) 2021-10-19 16:05:34 +01:00
Germain
77e6e1c0ab
Merge pull request #6960 from matrix-org/gsouquet/rename-replythread 2021-10-18 17:11:31 +01:00
Dariusz Niemczyk
5290afcc4c Replace console.warn with logger.warn
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02: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
Germain Souquet
5a7c0d87b6 Rename ReplyThread to ReplyChain to avoid confusion with m.thread 2021-10-15 17:42:44 +01:00
Dariusz Niemczyk
f8c516d927
Add new thread message preview (#18958) (#6953)
Closes https://github.com/vector-im/element-web/issues/18958
2021-10-15 14:29:17 +01:00
David Baker
ed9d006615
Merge pull request #6939 from matrix-org/dbkr/fix_room_list_on_unsent_message
Fix bug where room list would get stuck showing no rooms
2021-10-13 15:50:31 +01:00
David Baker
c2ed27a1b2 Typo 2021-10-13 15:42:57 +01:00
David Baker
0332bc99cb Fix bug where room list would get stuck showing no rooms
If you had an unsent message in a room that was in a sublist with
the 'Show rooms with unread messages first' option enabled, the
room list would show no rooms next time you restarted element and
get stuck that way.

This was because there was a different notification category for
rooms with unsent messages but the algorithm is hard-coded to add
only a fixed set of categories to its list, and it missed 'unsent',
so it NPEed when it encountered a room with an unsent message.

This just adds the category (assuming that we want to show rooms
with unsent messages first). It doesn't make it less hard-coded, or
fix the fact that an exception in the room list code causes everything
to break.

Fixes https://github.com/vector-im/element-web/issues/19373
2021-10-13 14:39:09 +01:00
Travis Ralston
8873c75567 Fix bad imports to js-sdk 2021-10-12 13:51:24 -06:00
Michael Telatynski
5dfe53920c Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/19246 2021-10-07 13:20:06 +01:00
Michael Telatynski
e470d7d030 Make use of MatrixClient::getRoomUpgradeHistory 2021-10-07 13:19:51 +01:00
Michael Telatynski
d8bc868e79 Fix spaces keyboard shortcuts not working for last space 2021-10-06 10:56:11 +01:00
Michael Telatynski
fa800796c7 Respect tombstones in locally known rooms for Space children 2021-10-06 09:41:57 +01:00
Faye Duxovni
651e943b31 Merge branch 'develop' into fayed/fix-verification-dialog 2021-10-05 08:48:52 -04:00
Faye Duxovni
9a16b4636f Make cross-signing dialog clearer and more context-aware
- Don't show loading spinners while waiting for user action
- When checking if there are other devices we can verify against, only
  look for devices that are actually cross-signed.
- Adjust displayed options depending on whether other devices and/or
  recovery keys exist, and add an option to reset cross-signing keys
  if necessary.
- Various minor clarifying adjustments to UI styling/text

Signed-off-by: Faye Duxovni <fayed@element.io>
2021-10-05 00:54:20 -04:00
Michael Telatynski
5dede230f1
Merge pull request #6891 from matrix-org/t3chguy/fix/18455 2021-10-01 12:29:23 +01:00
Michael Telatynski
273a895caa fix logic 2021-10-01 09:25:47 +01:00
Michael Telatynski
b84a0300aa Fix leaving space via other client leaving you in undefined-land 2021-10-01 08:58:46 +01:00
Travis Ralston
fe0a68b71e
Merge pull request #6869 from SimonBrandner/task/src-ts
Convert `/src` to TS
2021-09-30 12:48:23 -06:00
Michael Telatynski
fbf74bea1b
Merge pull request #6886 from matrix-org/t3chguy/fix/19223 2021-09-29 16:06:14 +01:00
Michael Telatynski
c0b6c001ca Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/19192 2021-09-29 15:04:14 +01:00
Michael Telatynski
56745f29c0 Fix spaces null-guard breaking the dispatcher settings watching 2021-09-29 15:01:58 +01:00
Michael Telatynski
0056b282a6 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/19067 2021-09-29 14:13:04 +01:00
Michael Telatynski
d7aaeb37b9 delint 2021-09-29 14:05:31 +01:00
Michael Telatynski
0e79daee4b Remove stale new in the spaces beta toast & modal 2021-09-29 11:53:13 +01:00
Michael Telatynski
af8c07a69b Ensure that sub-spaces aren't considered for notification badges 2021-09-29 11:45:27 +01:00
Michael Telatynski
d7c43c7cf8 Fix space children without specific order being sorted after those with one 2021-09-28 15:42:51 +01:00
Michael Telatynski
d71f2345fb Null guard around the matrixClient in SpaceStore 2021-09-28 10:34:32 +01:00
Šimon Brandner
e2b6c2cbd6
Convert RoomNotifs to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-27 18:39:57 +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
Michael Telatynski
68768002bb use more generic room type instead of boolean flag 2021-09-17 10:19:30 +01:00
Michael Telatynski
28bc8010a7 Say Joining space instead of Joining room where we know its a space 2021-09-16 11:20:01 +01:00
Michael Telatynski
4bb9eeb7a5 Convert RoomPreviewBar to Typescript 2021-09-16 11:09:58 +01:00
Michael Telatynski
e17318a364 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18088 2021-09-16 10:05:20 +01:00
Michael Telatynski
8921e25815
Merge pull request #6804 from matrix-org/t3chguy/fix/18481 2021-09-16 10:02:06 +01:00
Michael Telatynski
c786ef9f69 Fix space keyboard shortcuts conflicting with native zoom shortcuts 2021-09-14 16:02:14 +01:00
Michael Telatynski
9928079b82
Merge pull request #6797 from matrix-org/t3chguy/fix/19025 2021-09-14 15:56:20 +01:00
Michael Telatynski
919270ff0c
Update src/stores/SpaceStore.tsx
Co-authored-by: Travis Ralston <travisr@matrix.org>
2021-09-14 15:50:51 +01:00
Michael Telatynski
87c9551507 Fix edge cases around joining new room which does not belong to active space 2021-09-14 12:49:18 +01:00
Michael Telatynski
9a8a453827 tidy 2021-09-10 11:09:46 +01:00
Michael Telatynski
aff9be6120 Surface unsent messages on the sublist notification badge too 2021-09-10 10:58:13 +01:00
Michael Telatynski
bbe714257e Show unsent message warning on Space panel button 2021-09-10 09:17:31 +01:00
Michael Telatynski
329bc8a89e Move unsent event badge handling into RoomNotificationState 2021-09-09 13:14:05 +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
0d0eea392c
Merge pull request #6746 from matrix-org/t3chguy/fix/10935 2021-09-08 12:55:45 +01:00
Michael Telatynski
0caca49ec0 Fix regressed tab view buttons in space update toast 2021-09-08 10:26:23 +01:00
David Baker
9533f7c04c Fix types in release mode again 2021-09-07 18:49:31 +01:00
Michael Telatynski
f4f4686270 tidy up code 2021-09-07 12:07:18 +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
0b07a70b15
Merge pull request #6730 from matrix-org/t3chguy/fix/17974
Don't context switch room on SpaceStore ready as it can break permalinks
2021-09-03 16:26:19 +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
Michael Telatynski
44b4561b8b Don't context switch room on SpaceStore ready as it can break permalinks 2021-09-02 13:40:48 +01: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
3ed76f5de7
Merge pull request #6719 from matrix-org/travis/widgets/no-limits
Remove arbitrary limits from send/receive events for widgets
2021-09-01 11:26:15 -06:00
Michael Telatynski
6e7a1e2db7
Merge pull request #6715 from matrix-org/t3chguy/fix/18761 2021-09-01 14:30:17 +01:00
Germain
7621a9a0f3
Merge pull request #6658 from matrix-org/gsouquet/threaded-messaging-2349 2021-09-01 08:47:10 +01: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
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
bf4ffa965c Reload suggested rooms if we see the state change down /sync 2021-08-31 16:56:47 +01:00