Commit Graph

26240 Commits (0b83926201a55bda23aee593c2a7f5adf4cd772d)

Author SHA1 Message Date
Travis Ralston 0b83926201 Merge branch 'develop' into travis/room-list/enable 2020-07-07 15:46:05 -06:00
Travis Ralston f89fcd1fe9 Fix tests and add general safety
We don't need the fake clock anymore, but we do have to wait for async actions to complete before moving forward.

This also exposes a number of functions for the store to be puppetted with.
2020-07-07 15:45:59 -06:00
Travis Ralston 3dfb9711ed
Merge pull request #4916 from matrix-org/travis/room-list/dm-handle
Ensure DMs are not lost in the new room list, and clean up tag logging
2020-07-07 15:14:27 -06:00
Travis Ralston 3e2ae2b30d
Merge pull request #4915 from matrix-org/travis/fix-setting-spam
Mute "Unknown room caused setting update" spam
2020-07-07 15:13:39 -06:00
Travis Ralston f4d22865c5
Merge pull request #4917 from matrix-org/travis/room-list/encrypted
Remove comment claiming encrypted rooms are handled incorrectly in the new room list
2020-07-07 15:13:28 -06:00
Travis Ralston c774b88bda Initial pass of fixing tests
* Use new components
* Use new tagId prop on sublists
* Define onResize for the room list so it doesn't crash
2020-07-07 15:06:06 -06:00
Travis Ralston a59a8b76a9 Update TODO comments to point to new issue 2020-07-07 14:51:43 -06:00
Travis Ralston 8ef4b1b2e7 Replace labs flag with a real setting 2020-07-07 13:56:46 -06:00
Travis Ralston 34ea8342fb Remove comment claiming encrypted rooms are handled incorrectly
Fixes https://github.com/vector-im/riot-web/issues/14238

The encrypted rooms are loaded on startup (eventually), so we don't need to worry about the problem described.
2020-07-07 13:49:36 -06:00
Travis Ralston 2488520263 Clean up tag logging in setKnownRooms
We don't need this anymore
2020-07-07 13:46:29 -06:00
Travis Ralston be1b2fddaf Ensure DMs are not lost in the new room list
Fixes https://github.com/vector-im/riot-web/issues/14236
2020-07-07 13:46:10 -06:00
Travis Ralston 7963ed6d04 Mute "Unknown room caused setting update" spam
See comment enclosed within.

Fixes https://github.com/vector-im/riot-web/issues/14254
2020-07-07 13:42:15 -06:00
Travis Ralston a49b5109c6
Merge pull request #4914 from matrix-org/travis/room-list/perf/anim-frame-headers
Try using requestAnimationFrame if available for sticky headers
2020-07-07 11:40:01 -06:00
Travis Ralston baccabeae4 Remove extraneous true 2020-07-07 11:34:52 -06:00
Travis Ralston e6b20088c0 Try using requestAnimationFrame if available for sticky headers
This might help performance, or it might not. Let's try it!
2020-07-07 11:33:32 -06:00
Michael Telatynski 652b443097
Merge pull request #4911 from matrix-org/t3chguy/room-list/113
Show more/Show less keep focus in a relevant place
2020-07-07 17:59:59 +01:00
Michael Telatynski 28310cb648 remove TODOs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 17:48:39 +01:00
Michael Telatynski a33717a475 Wire up Room sublist show more/less as roving tabindex button using new helper
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 17:47:21 +01:00
Michael Telatynski 4edd3dfc6c Convert RovingTabIndex to Typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 17:46:33 +01:00
Michael Telatynski f18db23cc4 Remove some TODOs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 17:18:56 +01:00
Michael Telatynski 92e86af162 Show more/Show less keep focus in a relevant place
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 17:07:51 +01:00
Jorik Schellekens 262c7b1fa5
Merge pull request #4910 from matrix-org/joriks/orange-is-the-new-black
Change orange to our orange and do some lints
2020-07-07 16:46:12 +01:00
Jorik Schellekens 6b5eaca0b9 Remove comment 2020-07-07 16:45:43 +01:00
Jorik Schellekens da1d1ffa09 Change colour to orange and do some lints 2020-07-07 15:42:54 +01:00
Michael Telatynski 8ba2be0be5
Merge pull request #4900 from matrix-org/t3chguy/room-list/1234
New Room List implement view_room_delta for keyboard shortcuts
2020-07-07 15:36:30 +01:00
Michael Telatynski 502a0d930d
Merge pull request #4896 from matrix-org/t3chguy/room-list/123
New Room List accessibility
2020-07-07 14:51:41 +01:00
Michael Telatynski 69852ecef4 Merge branches 'develop' and 't3chguy/room-list/123' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/123
 Conflicts:
	src/components/views/rooms/RoomSublist2.tsx
2020-07-07 14:10:58 +01:00
Michael Telatynski 44ae83f228 Move the Volume union type out to a throwaway
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 14:07:35 +01:00
Travis Ralston 7173ea71a5
Merge pull request #4905 from matrix-org/travis/room-list/room-safety
Improve room safety in the new room list
2020-07-07 06:59:59 -06:00
Travis Ralston b3b404f121
Merge pull request #4906 from matrix-org/travis/room-list/invites-list
Fix a number of issues with the new room list's invites
2020-07-07 06:55:30 -06:00
Travis Ralston d04bcdfa15
Merge pull request #4907 from matrix-org/travis/room-list/raise
Decrease default visible rooms down to 5
2020-07-07 06:54:49 -06:00
Travis Ralston 1b48b99f99 Append community invites to bottom instead 2020-07-07 06:53:17 -06:00
Travis Ralston 994d8708f2 Move to a fragment 2020-07-07 06:52:44 -06:00
Bruno Windels 453924a98a
Merge pull request #4909 from matrix-org/bwindels/noroomtilebuttonjump
swap order of context menu buttons so it does not jump when muted
2020-07-07 11:12:15 +00:00
Bruno Windels 8f47b59de8 fix margin between buttons
I think the selector wasn't working before either fwiw
2020-07-07 13:03:18 +02:00
Bruno Windels 2ca9044171 swap order of context menu buttons so it does not jump when muted 2020-07-07 12:46:33 +02:00
Travis Ralston 2c502ed2fe Decrease default visible rooms down to 5 2020-07-06 20:48:49 -06:00
Travis Ralston 29aeea2974 Fix i18n 2020-07-06 20:45:36 -06:00
Travis Ralston 56333ae017 Ensure the recents algorithm is aware of invites 2020-07-06 20:42:43 -06:00
Travis Ralston 3284cc730e Show ordering options on invites
Fixes https://github.com/vector-im/riot-web/issues/14309
2020-07-06 20:42:43 -06:00
Travis Ralston f103fd1ccf Make community invites appear even if there's no room invites
Fixes https://github.com/vector-im/riot-web/issues/14358
2020-07-06 20:32:37 -06:00
Travis Ralston b28a267669 Remove old community invite placeholder handling
We ended up shoving it into the invite list, so don't render it here.
2020-07-06 20:32:09 -06:00
Travis Ralston 8739e2f781 Fix room duplication when the sticky room reference changes 2020-07-06 20:12:25 -06:00
Travis Ralston 34bd59c151 Remove the lock around the algorithm
This isn't needed
2020-07-06 19:38:13 -06:00
Travis Ralston 70e5da677b Clean up debug logging 2020-07-06 19:38:13 -06:00
Travis Ralston dd833f4f2f Ensure the sticky room changes if the tag changes
This fixes a case where a user accepts an invite, which causes a tag change, but the room stays stuck in the invites list. The tag change additionally gets swallowed when the user moves away, causing the room to get lost. 

By moving it when we see it, potentially during a sticky room change itself (though extremely rare), we avoid having the room get lost in the wrong lists. A side effect of this is that accepting an invite puts it at the top of the tag it's going to (usually untagged), however this feels like the best option for the user.

A rare case of a tag change happening during a sticky room change is when a leave event comes in for the sticky room, but because it's come through as a tag change it can get swallowed. If it does get swallowed and the user clicks away, the tag change will happen when the room is re-introduced to the list (fake NewRoom event).
2020-07-06 19:38:13 -06:00
Travis Ralston 4345f972e0 Handle sticky room to avoid accidental removal
Plus a bunch of logging.

This fixes a case where switching rooms would cause the last room you were on to disappear due to an optimization where known NewRoom fires would be translated to tag change fires, which wouldn't re-add the room to the underlying tag algorithm.

By tracking the last sticky room, we can identify when we're about to do this and avoid it. 

This commit also adds a check to ensure that we have the latest reference of a room stored as rooms changing from invite -> join change references.

This commit additionally updates the PossibleTagChange handling to be faster and smarter, leading to a more stable generation of the room list. We convert the update cause to a Timeline update in order to indicate it is a change within the same tag rather than having to jump tags. This also means that PossibleTagChange should no longer make it as far as the underlying algorithm.

New logging has also been added to aid debugging.
2020-07-06 19:38:13 -06:00
Travis Ralston 18df29b627 Flag & add some debugging 2020-07-06 19:38:13 -06:00
Travis Ralston 0b6f744a58 Wrap handleRoomUpdate in a lock
Dev note: this is removed in a later commit
2020-07-06 19:38:13 -06:00
Travis Ralston d14dd777b7 Revert "don't need to set width with javascript?"
This reverts commit a2cf641c0e.
2020-07-06 15:23:20 -06:00