Commit graph

277 commits

Author SHA1 Message Date
Germain Souquet
83e2461155 call matches with normalized name 2021-05-20 10:57:20 +01:00
Germain Souquet
66ffaf945f Cache normalized room name 2021-05-20 10:43:57 +01:00
Germain
6170403c10
Depile encrypted events to find the most suitable one for preview (#6056) 2021-05-19 13:25:52 +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
Travis Ralston
9beb2b8d78 Try putting room list handling behind a lock
Some of the logs relating to room list corruption appear to be badly timed race conditions so we'll try to linearize them here.
2021-05-12 21:15:17 -06:00
Michael Telatynski
6137162786 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/17044.1
 Conflicts:
	src/stores/room-list/RoomListStore.ts
2021-05-07 10:40:07 +01:00
Michael Telatynski
4079b03ae0 Bring back filter all spaces behaviour 2021-05-07 10:39:35 +01:00
Michael Telatynski
9518e4d415 Guard all isSpaceRoom calls behind the labs flag 2021-05-05 23:59:07 +01:00
Michael Telatynski
7f396bedd0 add comment 2021-05-05 15:59:02 +01:00
Michael Telatynski
4279e99e4c Improve performance of search all spaces and space switching 2021-05-05 15:29:04 +01:00
Michael Telatynski
2bf931b9d3
Merge pull request #5945 from matrix-org/t3chguy/fix/17085
Fix newly joined room appearing under the wrong space
2021-05-04 21:57:43 +01:00
Michael Telatynski
a70be45b6e Experiment switching the Home Space out for an All rooms space 2021-05-04 18:26:49 +01:00
Michael Telatynski
e9f59ed093
Merge pull request #5943 from matrix-org/t3chguy/fix/17082
Sort rooms in the add existing to space dialog based on recency
2021-05-04 10:57:23 +01:00
Michael Telatynski
7552801103 Room List respect the prefilter for new rooms 2021-04-29 09:48:23 +01:00
Michael Telatynski
bed52319bc Sort rooms in the add existing to space dialog based on recency 2021-04-28 23:39:24 +01:00
Michael Telatynski
efb9b71900 Make the text filter search all spaces instead of just the selected one 2021-04-28 23:18:42 +01:00
J. Ryan Stinnett
3d41b48543 Check for null room in VisibilityProvider
Hopefully fixes https://github.com/vector-im/element-web/issues/16898
2021-04-23 17:27:20 +01:00
Germain
65d55bd0d9
Merge pull request #5908 from matrix-org/gsouquet-messagepreview-nodom
Remove reliance on DOM API to generated message preview
2021-04-23 14:37:19 +01:00
Germain Souquet
2b6551d06a Remove reliance on DOM API to generated message preview 2021-04-22 16:17:53 +01:00
Michael Telatynski
60ef657f64 Properly hide spaces from the room list 2021-04-22 12:07:58 +01:00
Michael Telatynski
1507f64f2b Fix spaces filtering sometimes lagging behind or behaving oddly 2021-04-21 08:52:56 +01:00
Michael Telatynski
344e4b6c5b Trigger lazy loading when filtering using spaces
so that the filtered DMs are correct
2021-04-19 16:15:24 +01:00
Travis Ralston
3c25979520
Merge pull request #5824 from robintown/ignore-punctuation
Ignore punctuation when filtering rooms
2021-04-08 20:10:08 -06:00
Travis Ralston
479df8ac5f Clarify docs 2021-04-02 19:35:10 -06:00
Travis Ralston
343ce3b502 Make log spam more quiet 2021-04-01 00:02:05 -06:00
Travis Ralston
746856ed10 Appease the linter 2021-03-31 23:40:25 -06:00
Travis Ralston
70db749430 Restabilize room list ordering with prefiltering on spaces/communities
Fixes https://github.com/vector-im/element-web/issues/16799

This change replaces the "relative priority" system for filters with a kind model. The kind is used to differentiate and optimize when/where a filter condition is applied, resulting in a more stable ordering of the room list. The included documentation describes what this means in detail.

This also introduces a way to inhibit updates being emitted from the Algorithm class given what we're doing to the poor thing will cause it to do a bunch of recalculation. Inhibiting the update and implicitly applying it (as part of our updateFn.mark()/trigger steps) results in much better performance.

This has been tested on my own account with both communities and spaces of varying complexity: it feels faster, though the measurements appear to be within an error tolerance of each other (read: there's no performance impact of this).
2021-03-31 23:36:36 -06:00
Robin Townsend
b13dae1fc6 Ignore punctuation when filtering rooms
Signed-off-by: Robin Townsend <robin@robin.town>
2021-03-31 22:45:53 -04:00
Germain Souquet
3f33060cdd increase default visible tiles for room sublists 2021-03-31 11:15:16 +01:00
Travis Ralston
1d43c8b791 Remove forgotten rooms from the room list once forgotten
Fixes https://github.com/vector-im/element-web/issues/15559

This isn't exactly perfect as an implementation: if the user refreshes immediately after forgetting then there is a good chance the room re-appears because of the sync accumulator. At the very least this change makes it so in *most* cases the room goes away, which is probably good enough until https://github.com/vector-im/element-web/issues/14038 can be implemented properly.
2021-03-18 23:28:59 -06:00
J. Ryan Stinnett
0583ea6a25 Ignore to-device decryption in the room list store
This avoids meaningless warnings about "unknown" rooms.
2021-03-10 12:11:48 +00:00
Michael Telatynski
e6370a970b Tweak call handler stuff to not explode the room list on unsupported servers 2021-03-09 14:03:58 +00:00
Michael Telatynski
6a5efad142 Show suggested rooms from the selected space 2021-03-08 15:52:21 +00:00
Michael Telatynski
bfe3d648e2
Update src/stores/room-list/algorithms/Algorithm.ts
Co-authored-by: Travis Ralston <travpc@gmail.com>
2021-02-26 22:08:36 +00:00
Michael Telatynski
f21aedc6cf Add Space Panel with Room List filtering 2021-02-26 10:41:26 +00:00
Michael Telatynski
79daf615e4 First special treatment of space-rooms 2021-02-19 14:20:57 +00:00
Michael Telatynski
6b3f05a3cd Switch RoomListStore to only including the filtered subset
Without this it'd include notification counts from Community B when Community A is selected and such.
2021-02-19 14:10:36 +00:00
Michael Telatynski
63d95706e9 Create setHasDiff helper and use it
The usage here is identical to how it'll work in Spaces
2021-02-19 12:58:23 +00:00
Michael Telatynski
8fc244452c Prevent error being thrown so that we can throw our own better one 2021-02-18 18:06:26 +00:00
Travis Ralston
64974eb3ee
Merge pull request #5661 from matrix-org/travis/clear-preview
Clear message previews when the maximum limit is reached for history
2021-02-18 07:31:54 -07:00
Travis Ralston
47d73bef57 Clear message previews when the maximum limit is reached for history 2021-02-17 22:36:26 -07:00
David Baker
6130bdf0d2 Use creation content to signal virtual-ness
This makes things a lot simpler.
2021-02-17 18:51:21 +00:00
David Baker
79455d99b4 Unused import 2021-02-15 19:38:17 +00:00
David Baker
89b2dae035 Send onNewInvitedRoom via VisibilityProvider 2021-02-15 18:13:13 +00:00
David Baker
196507a730 VoIP virtual rooms, mk II
Does a thirdparty protocol lookup to the homeserver to get the
corresponding native/virtual user for a matrix ID. Stores the
mappings in room account data. Involves some slightly nasty workarounds
for that fact that room account data has no local echo.
2021-02-12 20:55:54 +00:00
J. Ryan Stinnett
84b1f2e6c6 Resolve typing errors after TypeScript upgrade 2021-01-27 12:42:37 +00:00
David Baker
f703383ab6
Merge pull request #5560 from matrix-org/dbkr/voip_user_mapper
Add VoIP user mapper
2021-01-22 14:12:08 +00:00
David Baker
0a90c982c7 Add VoIP user mapper
The accompanying element-web PR with the config documentation should
explain what this is & why. Internally, this breaks the assumption
that call.roomId is the room that the call appears in for the user.
call.roomId may now be a 'virtual' room while the react SDK actually
displays it in a different room. React SDK always stores the calls
under the user-facing rooms, and provides a function to get the
user-facing room for a given call.
2021-01-21 19:20:35 +00:00