Commit Graph

155 Commits

Author SHA1 Message Date
Michael Telatynski
e67ca33c4a Switch to importing models/Room from main js-sdk export (#11361)
* Switch to importing TypedEventEmitter from main js-sdk export

* Switch to importing js-sdk/matrix in cypress

* Remove duplicated imports

* Fix lint:js-fix to run prettier last otherwise ESLint --fix may cause a mess

* Add lint rule

* Switch to importing models/Room from main js-sdk export

* Fix cypress-axe import

* Fix more imports

* Fix cypress-axe import

* Fix duplicated lint rule
2023-08-04 07:36:16 +00:00
Michael Telatynski
c57a4cb090 Fix peeked rooms showing up in historical (#11316) 2023-07-25 12:58:29 +00:00
Michael Telatynski
dd46db4817 Use MatrixClientPeg::safeGet in src/{stores,hooks,components/structures}/* (#10988) 2023-06-15 15:11:49 +01:00
Michael Telatynski
938aefc51c Pass around MatrixClients instead of using MatrixClientPeg (#11000) 2023-05-30 10:36:34 +01:00
Kerry
44e0732144 Sort muted rooms to the bottom of their section of the room list (#10592)
* muted-to-the-bottom POC

* split muted rooms in natural algorithm

* add previous event to account data dispatch

* add muted to notification state

* sort muted rooms to the bottom

* only split muted rooms when sorting is RECENT

* remove debugs

* use RoomNotifState better

* add default notifications test util

* test getChangedOverrideRoomPushRules

* remove file

* test roomudpate in roomliststore

* unit test ImportanceAlgorithm

* strict fixes

* test recent x importance with muted rooms

* unit test NaturalAlgorithm

* test naturalalgorithm with muted rooms

* strict fixes

* comments

* add push rules test utility

* strict fixes

* more strict

* tidy comment

* document previousevent on account data dispatch event

* simplify (?) room mute rule utilities, comments

* remove debug
2023-05-05 01:53:26 +00:00
Michael Weimann
857e22f943 Fix condition of logging possible room list corruption (#10685)
* Revert condition of logging possible room list corruption

* Fix loop condition
2023-04-26 07:57:33 +00:00
Michael Weimann
9aef1874db Strictify stores/room-list (#10474) 2023-03-30 09:06:50 +01:00
Michael Telatynski
76b82b4b2b Make more code conform to strict null checks (#10219
* Make more code conform to strict null checks

* Fix types

* Fix tests

* Fix remaining test assertions

* Iterate PR
2023-02-24 15:28:40 +00:00
Janne Mareike Koschinski
f7bea2cae5 Remove unnecessary, accidentally inverted condition for room ordering (#10178) 2023-02-16 15:54:32 +01:00
Michael Telatynski
145a5a8a8d Conform more code to strict null checking (#10153)
* Conform more code to strict null checking

* Conform more code to strict null checking

* Iterate

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

* Stash

* Fix imports

* Iterate

* Fix tests

* Delint

* Fix tests
2023-02-13 11:39:16 +00:00
Andy Balaam
a068b1e940 Improve types of sticky rooms (#10078) 2023-02-09 10:45:11 +00:00
Michael Telatynski
030b7e90bf Enable @typescript-eslint/explicit-function-return-type in /src (#9788)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier

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

* Fix types

* tsc strict fixes

* Delint

* Fix test

* Fix bad merge
2023-01-12 13:25:14 +00:00
Michael Weimann
526645c791 Apply prettier formatting 2022-12-12 12:24:14 +01:00
Michael Telatynski
e66027cd0c Deduplicate string compare utility (#9579) 2022-11-15 10:20:36 +00:00
Germain
750ca78e98 Fix room list sorted by recent on app startup (#9515) 2022-10-28 10:53:50 +01:00
Germain
07003a5bc1 Make thread replies trigger a room list re-ordering (#9510) 2022-10-27 13:50:05 +01: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
Janne Mareike Koschinski
328d7ea5eb Remove unused code left over from the old search (#8947) 2022-06-30 17:14:49 +02: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
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
2a396a406d Stick connected video rooms to the top of the room list (#8353) 2022-04-22 08:17:31 -04: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
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
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
bdc56be863 Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05: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
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
8fd44f0b5e Merge pull request #6595 from SimonBrandner/fix/rl-resort/110
Don't re-sort the room-list based on profile/status changes
2021-08-25 13:37:53 -06:00
Šimon Brandner
78562685bb Ignore avatar changes
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-25 08:59:42 +02:00
Šimon Brandner
0465815486 ignoreSelfEvent -> shouldCauseReorder
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-25 08:43:13 +02:00
Šimon Brandner
b7df1127bd Revert "Use ignoreSelfEvent in the RoomListStore (which doesn't work!)"
This reverts commit 0a4a1506d4.
2021-08-25 08:38:47 +02:00
Travis Ralston
e49dc8c8e2 Remove imports too 2021-08-24 13:23:48 -06:00
Travis Ralston
4790b4fc17 Remove advanced room logging setting
Fixes https://github.com/vector-im/element-web/issues/14602

This has proven to be less useful month over month, so it's time for it to go. The initial goal for keeping it was to track stability in the ~6 months post-release, which means it should have left around the start of 2021. At the time, Spaces was on the horizon with room list corruption issues though, so it was put on hold. These days, it's rock solid and doesn't appear to be causing issues. As such, the logging can leave in favour of more specific/targeted logging when we need it.

This might even speed things up as it's not hitting the SettingsStore every 0.2 seconds.
2021-08-24 13:17:12 -06:00
Šimon Brandner
0a4a1506d4 Use ignoreSelfEvent in the RoomListStore (which doesn't work!)
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 09:40:26 +02:00
Šimon Brandner
f2dccbc9f7 Use function syntax
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 09:38:57 +02:00
Šimon Brandner
1f98ea4562 Use ignoreSelfEvent
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-11 18:02:40 +02:00
Šimon Brandner
ee0eda7947 Add ignoreSelfEvent
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-11 18:02:33 +02:00
Michael Telatynski
e54a7f0997 Don't throw exception from setStickyRoom as it split-brains the RoomListStore 2021-07-19 09:36:25 +01:00
Michael Telatynski
05028f1997 remove unused import 2021-07-16 09:22:25 +01:00
Michael Telatynski
191591e807 Make the critical sections of the RLS synchronous to avoid needing to mutex everything 2021-07-16 09:15:56 +01:00
Michael Telatynski
32cc48ff7a Fix issue with room duplication caused by filtering and selecting room using keyboard
Wrap sticky room updates in lock to prevent setStickyRoom running in middle of setKnownRooms
2021-07-16 08:49:19 +01:00
Michael Telatynski
90d380c8ae Cache value of feature_spaces* flags as they cause page refresh so are immutable 2021-07-15 08:26:49 +01:00
Germain Souquet
d7a5547d80 use Intl.Collator over String.prototype.localeCompare for better performance 2021-06-02 10:42:17 +01:00
Travis Ralston
ec7c1ab9f0 Revert "Try putting room list handling behind a lock" 2021-05-18 15:40:09 -06:00
Travis Ralston
336904cef8 Apply suggestions from code review
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2021-05-14 11:05:49 -06:00
Travis Ralston
deab424c93 Appease the linter 2021-05-12 21:19:31 -06:00