Commit graph

3613 commits

Author SHA1 Message Date
Travis Ralston
517c93a7d5 Move expand-on-filter into the sublist
It's a bit more complicated this way, but helps reduce some of the latency involved in remounting the entire room list.
2020-07-27 16:35:48 -06:00
Travis Ralston
c6033b9410 Move search out of RoomList and LeftPanel, into RoomSearch
This prevents the entire left panel from having to re-mount whenever the search query changes.
2020-07-27 16:35:48 -06:00
Travis Ralston
42498d32cc Move community filtering into the sublist
This is a step towards the room list not having to concern itself with the search parameters.
2020-07-27 16:35:48 -06:00
Michael Telatynski
992d7215c7 Remove poorly contrasted "dark style" heading in Room Preview Bar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-27 14:59:00 +01:00
Michael Telatynski
a74470aff0 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/desync
 Conflicts:
	src/components/views/rooms/RoomTile.tsx
2020-07-27 14:42:26 +01:00
Michael Telatynski
368d1bf699 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-27 14:40:41 +01:00
Michael Telatynski
1085d89e11 RoomList listen to notificationState updates for bolding
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-27 14:39:30 +01:00
Travis Ralston
8e7b60b11e Remove useless if statement 2020-07-24 14:07:37 -06:00
Travis Ralston
593b472e50 Ensure notification badges stop listening when they unmount 2020-07-24 14:02:43 -06:00
Travis Ralston
46f9d44e64 Use PureComponent instead
It ranges wildly between 10 and 50ms while ours is stable at 30-40ms, but the effort doesn't need to be duplicated.
2020-07-24 13:58:21 -06:00
Travis Ralston
e3800dba0e Remove debug logging 2020-07-24 13:23:51 -06:00
Travis Ralston
c3623f439c Rip hover support out of the RoomTile component
It's all handled by CSS and this literally does nothing but spam renders.
2020-07-24 13:10:39 -06:00
Travis Ralston
37035f945b Move message previews into RoomTile's state
Now that it doesn't re-render without state updates, we should just wedge it into state.
2020-07-24 13:09:26 -06:00
Travis Ralston
09808fa7be Only update RoomTiles when they change significantly 2020-07-24 12:58:10 -06:00
Travis Ralston
d26fcb7f16
Update src/components/views/rooms/RoomList.tsx
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-07-24 11:16:40 -06:00
Travis Ralston
4d7980eb07 Ensure references to the room list store are broken for diffing
See commit diff for details.
2020-07-24 10:38:04 -06:00
Travis Ralston
0a31bd169c Skip updates in collapsed lists too 2020-07-24 10:20:00 -06:00
Travis Ralston
82f90c4734 Do the faster length change check first
... because it's faster. Also we don't need to diff the array here.
2020-07-23 22:31:52 -06:00
Travis Ralston
fd15fc3984 Ensure message previews update when needed
In 9969b01c5f we stopped updating the sublist whenever we felt like it, which indirectly froze message previews for room tiles (badges, unread state, etc were unaffected because that is managed by a different store). To fix this, we simply have to listen for changes and perform an update.
2020-07-23 22:24:07 -06:00
Travis Ralston
7e50464eeb Fix filtering causing sticky header artifacts
In 7b97c3032b we reduced the RoomList updates to just added/removed sublists, but didn't consider that we might also have to handle lengths of those sublists changing enough for us to fix the sticky headers.
2020-07-23 22:19:16 -06:00
Travis Ralston
9969b01c5f Only render sublists when they change significantly
We can ignore off-screen updates, so do that. See diff for more details on what we're doing.
2020-07-23 22:13:32 -06:00
Travis Ralston
ad92e6ba00 Don't constantly re-mount the sublists with a new addRoomFn
Any time we though that the room list had to re-render we were dynamically creating a new addRoomFn, which would signal to the sublist that it needed to re-render. 

The only reason we wrap the function from the aesthetics is to provide theoretical tiling/multiaccount support through use of different dispatchers, however considering that's not a reality yet we can just use a default dispatcher when none is supplied.
2020-07-23 22:12:10 -06:00
Travis Ralston
7b97c3032b Make the sublists aware of their own list changes
This cuts the render time in half (from ~448ms to ~200ms on my account) per received event, as we're no longer re-mounting the entire room list and instead just the section(s) we care about.
2020-07-23 21:36:43 -06:00
Michael Telatynski
c1d2e27f9c Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into SuppressSpeechWhenSending 2020-07-24 00:03:55 +01:00
Michael Telatynski
862856d3be Also add aria-atomic=true
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-24 00:03:42 +01:00
Michael Telatynski
60a6b13f4b
Merge pull request #5026 from matrix-org/t3chguy/room-list/14440
Put low priority xor toggle back in the room list context menu
2020-07-24 00:02:50 +01:00
Travis Ralston
67fd6e6122
Merge pull request #5034 from matrix-org/travis/fix-perf
Mixed bag of performance improvements: ScrollPanel and notifications
2020-07-22 08:24:04 -06:00
Swapnil Raj
1d3635e1c8 Replaced string actions with their corresponding types 2020-07-22 15:14:50 +05:30
Robin Townsend
83ab151d96 Translate create room buttons
Signed-off-by: Robin Townsend <robintown@tcakoi.dev>
2020-07-22 03:54:15 +00:00
Travis Ralston
c9da1e1874 Remove even more tags from the notification state fetching for a room 2020-07-21 20:58:59 -06:00
Travis Ralston
507fa01ade Remove missed area for notification state fetching 2020-07-21 20:51:40 -06:00
Robin Townsend
951570a97f Escape single quotes in composer placeholder
Signed-off-by: Robin Townsend <robintown@tcakoi.dev>
2020-07-22 00:47:48 +00:00
Michael Telatynski
29c984455e tidy up
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 13:43:42 +01:00
Michael Telatynski
fe0c660fac Put low priority xor toggle back in the room list context menu
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 09:50:20 +01:00
Travis Ralston
a0b2859436 Support custom tags in the room list again
Fixes https://github.com/vector-im/riot-web/issues/14091

Design needs work, however this is behind labs anyways. This re-implements the behaviour of the old room list.

The implementation ended up being a lot easier due to early confusion with what the TagOrderStore and TagPanel take care of. Turns out they don't deal with tags, but groups. As such, we don't need to do anything with filtering (though we keep some sanity checks in place for safety), and just have to wire up the CustomRoomTagPanel and CustomRoomTagStore.
2020-07-20 16:51:16 -06:00
Michael Telatynski
9fca422de7 Merge branches 'develop' and 't3chguy/ts/2' of github.com:matrix-org/matrix-react-sdk into t3chguy/ts/2 2020-07-20 17:07:18 +01:00
Michael Telatynski
06cc76f7d8 mark some things as public
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-20 16:34:52 +01:00
Michael Telatynski
9e6532e46e
Merge pull request #5016 from matrix-org/t3chguy/tooltips2
Use mouseleave instead of mouseout for hover events. Fix tooltip flicker
2020-07-20 15:19:32 +01:00
Michael Telatynski
e9633b2e3b Use mouseleave instead of mouseout for hover events. Fix tooltip flicker
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-18 12:01:51 +01:00
Travis Ralston
7fc5ba50c8 Update references to issues 2020-07-17 16:22:33 -06:00
Travis Ralston
7f5c501b2b CallView2 -> CallView 2020-07-17 15:55:30 -06:00
Travis Ralston
d7ada5f7c5 Remove TODO flags 2020-07-17 15:47:37 -06:00
Travis Ralston
c9b0b3b31d RoomSublist2 -> RoomSublist 2020-07-17 15:46:46 -06:00
Travis Ralston
96065ae982 RoomTile2 -> RoomTile 2020-07-17 15:43:29 -06:00
Travis Ralston
8dfe7b6cc7 RoomBreadcrumbs2 -> RoomBreadcrumbs 2020-07-17 15:32:06 -06:00
Travis Ralston
a7c18bfbfa RoomList2 -> RoomList 2020-07-17 15:27:49 -06:00
Travis Ralston
2441cbc9ac LeftPanel2 -> LeftPanel 2020-07-17 15:22:18 -06:00
Travis Ralston
2b15ba21dd Rename RoomListStore file 2020-07-17 15:11:34 -06:00
Travis Ralston
3c047cecfd Remove core structures for the old room list 2020-07-17 14:17:11 -06:00
Michael Telatynski
7529bb8bc0 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 19:25:37 +01:00
Michael Telatynski
3639170789 fix types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 19:00:02 +01:00
Michael Telatynski
8ea806b43e Add tooltip to collapsed sublists
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 18:54:09 +01:00
Michael Telatynski
38dc3c8bd1 Replace non-functional Interactive Tooltip
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 18:43:42 +01:00
Michael Telatynski
1c205c7704 Add buttons to composer actions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 18:16:31 +01:00
Michael Telatynski
a402f7e38f Add tooltips to top right buttons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 18:16:21 +01:00
Michael Telatynski
23fa952905 Add tooltips to minimized roomlist2 tiles and sublists
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 18:16:00 +01:00
Michael Telatynski
9ec2ca447c Update style of default tooltips to match the new style
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 16:19:10 +01:00
Michael Telatynski
16b1dbc375 remove unused view_tooltip
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 16:10:36 +01:00
Travis Ralston
c29da883db Convert room list log setting to a real setting
To debug https://github.com/vector-im/riot-web/issues/14554 and https://github.com/vector-im/riot-web/issues/14508
2020-07-16 14:43:43 -06:00
Michael Telatynski
a704eefdd5 Merge branches 'develop' and 't3chguy/nad/rampage' of github.com:matrix-org/matrix-react-sdk into t3chguy/nad/rampage
 Conflicts:
	src/components/views/elements/AccessibleTooltipButton.tsx
2020-07-16 15:47:12 +01:00
Michael Telatynski
f2104b59f0 Simplify room sublist context menu
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-16 14:38:04 +01:00
Michael Telatynski
f4da1b6f6b
Merge pull request #4976 from matrix-org/t3chguy/a11y-toolbar-breadcrumbs
Wire up new room list breadcrumbs as an ARIA Toolbar
2020-07-16 12:52:59 +01:00
Michael Telatynski
c94c937b31 Fix Room Tile Icon to not ignore DMs in other tags
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-16 12:33:05 +01:00
Michael Telatynski
b160fe886f
Merge pull request #4987 from matrix-org/t3chguy/room-list/room-tile-icon-tooltip
Add tooltip to Room Tile Icon
2020-07-16 10:21:06 +01:00
Marco Zehe
636b0236b6 Update to use more strict rules for suppressing
Signed-off-by: Marco Zehe <marco@marcozehe.de>
2020-07-15 19:02:00 +02:00
Hubert Chathi
aa445a061d check that encryptionInfo.sender is set 2020-07-15 12:25:10 -04:00
Michael Telatynski
78da0c863a Update copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-15 16:52:10 +01:00
Michael Telatynski
ae17cd3ec6 Add tooltip to Room Tile Icon
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-15 16:46:39 +01:00
Marco Zehe
d8373576f8 Merge remote-tracking branch 'upstream/develop' into SuppressSpeechWhenSending 2020-07-15 17:27:35 +02:00
David Baker
c6418fb083 A visit from the lint bunny 2020-07-15 10:51:57 +01:00
Michael Telatynski
8812f98b35 Convert editor to TypeScript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-15 09:45:45 +01:00
Michael Telatynski
2a683354a8 Wire up new room list breadcrums as an ARIA Toolbar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-15 04:22:37 +01:00
David Baker
b2e5bc3fa1 Merge branch 'dbkr/fix_show_less_broken' into 'element'
Fix bug where 'show more' sometimes did nothing

See merge request new-vector/element/element-web/matrix-react-sdk!23
2020-07-14 21:04:58 +00:00
David Baker
839851c90f Fix bug where 'show more' sometimes did nothing
a3a1e2e01f added the padding
to maxTilesPx which was confusing the calculation of whether we
should be showing the 'show more' button or the 'show less' button.

Hopefully this fixes the issue without undoing fixes from
https://github.com/matrix-org/matrix-react-sdk/pull/4964 or the
above commit by adding the padding in all cased in `get padding()`.
2020-07-14 21:49:51 +01:00
Travis Ralston
945dab6b1f Revert "Turn previews on for DMs and ensure they get rendered"
This reverts commit b19ae3ac93.
2020-07-14 13:36:28 -06:00
Travis Ralston
f6b9d44e4b Invert logging 2020-07-14 13:18:06 -06:00
Travis Ralston
b19ae3ac93 Turn previews on for DMs and ensure they get rendered 2020-07-14 12:49:29 -06:00
Travis Ralston
e955feb12d Revert "Merge pull request #4972 from matrix-org/travis/room-list/prelaunch/3-remove-debug"
This reverts commit e1b34acdc8.
2020-07-14 12:02:40 -06:00
J. Ryan Stinnett
ea511faafe Merge remote-tracking branch 'origin/develop' into element 2020-07-14 16:57:00 +01:00
Travis Ralston
e1b34acdc8
Merge pull request #4972 from matrix-org/travis/room-list/prelaunch/3-remove-debug
Remove debug logging from new room list
2020-07-14 09:56:17 -06:00
Bruno Windels
106c91aec0 Merge branch 'element' into 'nadonomy/ui-tweaks-part-deux'
# Conflicts:
#   res/css/views/rooms/_RoomSublist2.scss
2020-07-14 09:26:04 +00:00
J. Ryan Stinnett
aea3ad48b5 Merge remote-tracking branch 'origin/develop' into element 2020-07-14 10:17:43 +01:00
Michael Telatynski
f394190423
Merge pull request #4973 from matrix-org/t3chguy/room-list/14395
Fix show-all keyboard focus regression
2020-07-14 09:56:03 +01:00
Michael Telatynski
03f94779f1 Fix show-all keyboard focus regression
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-14 09:38:31 +01:00
Travis Ralston
6632db01cf Remove debug logging from new room list
Fixes https://github.com/vector-im/riot-web/issues/14408

Yes, all the issue references are wrong :(
2020-07-13 20:34:05 -06:00
Travis Ralston
bdb136e24e Clean up TODOs, comments, and imports in the new room list
Fixes https://github.com/vector-im/riot-web/issues/14412
2020-07-13 20:25:02 -06:00
Michael Telatynski
d4e397cbd0 Switch to svg masks for the e2eicon and border it for the EntityTile avatars
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-14 00:52:03 +01:00
Michael Telatynski
4d432f23e4 Fix room header timeline and composer alignment
Room header use DecoratedRoomAvatar instead of manual e2eIcon overlay
move e2eIcon next to it instead of private padlock

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-13 23:56:25 +01:00
Travis Ralston
a3a1e2e01f Fix show less button occluding the last tile
Fixes https://github.com/vector-im/riot-web/issues/14450

People may have to click various combinations of 'show more' and 'show less' until it fixes itself, as their layout could be a bit weird now.
2020-07-13 16:38:13 -06:00
J. Ryan Stinnett
b50c809d35 Merge remote-tracking branch 'origin/develop' into element 2020-07-13 20:28:57 +01:00
Travis Ralston
8e982f52ff Fix extra room tiles being rendered on smaller sublists
Fixes https://github.com/vector-im/riot-web/issues/14426

The issue only applies to lists which won't have a 'show less' button, as the lists with the button would have the button's height considered when determining visible tiles. For lists that were under that (1-4 rooms), the show more button wasn't being considered and thus leading to the padding being added rather than subtracted, causing an extra tile to render.

By ensuring we include the padding for both show more and show less, we ensure that no extra tiles get rendered and that the cutoff semantics are still present.
2020-07-13 12:59:09 -06:00
J. Ryan Stinnett
995a7879a1 Merge remote-tracking branch 'origin/develop' into element 2020-07-13 18:49:55 +01:00
Michael Telatynski
cc49e645b7
Merge pull request #4961 from matrix-org/t3chguy/room-list/14273
Fix room sub list header collapse/jump interactions on bottom-most sublist
2020-07-13 17:36:13 +01:00
Bruno Windels
62bdbb22e8 Merge branch 'element-roomlist-polish' into 'element'
Element roomlist polish

See merge request new-vector/element/element-web/matrix-react-sdk!5
2020-07-13 16:26:49 +00:00
Bruno Windels
c346122adf align room header with user menu button 2020-07-13 18:24:28 +02:00
Michael Telatynski
fd8f43e245 Fix room sub list header collapse/jump interactions on bottom-most sublist
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-13 17:17:05 +01:00
Michael Telatynski
5bee948717 Fix room tile context menu for Historical rooms
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-13 16:35:03 +01:00
Michael Telatynski
1ce3ae0cf2
Merge pull request #4952 from matrix-org/t3chguy/room-list/14413
Remove redundant scroll-margins and fix RoomTile wrongly scrolling
2020-07-13 15:57:27 +01:00
J. Ryan Stinnett
c77b312fd3 Merge branch 'jryans/rename-strings' into 'element'
Update brand name using variable in all strings

See merge request new-vector/element/element-web/matrix-react-sdk!3
2020-07-13 12:23:28 +00:00
Travis Ralston
0908e813fb Merge branch 'develop' into travis/room-list/enable 2020-07-12 22:50:27 -06:00
Michael Telatynski
213e2df9fc Remove redundant scroll-margins and fix RoomTile wrongly scrolling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-12 08:49:04 +01:00
Travis Ralston
cfc39dc4a9 Remove now-dead code from sublist resizing 2020-07-10 16:10:05 -06:00
J. Ryan Stinnett
9085627a28 Use brand name from config in all strings 2020-07-10 19:57:01 +01:00
Travis Ralston
bdb641279a Merge branch 'develop' into travis/room-list/enable 2020-07-10 11:11:25 -06:00
Travis Ralston
1175eb001f Fix bad merge 2020-07-10 11:01:11 -06:00
Travis Ralston
477472c178 Merge branch 'develop' into travis/room-list/showmore2 2020-07-10 10:57:17 -06:00
Bruno Windels
ae8d6f5523 make tsc happy 2020-07-10 18:48:54 +02:00
Bruno Windels
15ea3a5287 add types 2020-07-10 18:42:51 +02:00
Bruno Windels
85ac256231 cleanup 2020-07-10 18:40:09 +02:00
Bruno Windels
e2aa6ecf6b fix show X more counter 2020-07-10 18:40:09 +02:00
Bruno Windels
86817430c5 update initially shown amount of tiles on component update
as rooms aren't all available at ctor time
2020-07-10 18:40:09 +02:00
Bruno Windels
96f2968854 make all height changes update component state
also set visibleTiles as side-effect
2020-07-10 18:40:09 +02:00
Bruno Windels
652fb9e613 track height in pixels in component state 2020-07-10 18:40:09 +02:00
Bruno Windels
49f7170d95 extract type 2020-07-10 18:31:53 +02:00
Bruno Windels
725b7f8950 make show more button a bit less tall 2020-07-10 18:30:52 +02:00
Bruno Windels
d5a3071518 put show more button inside resizer
this way we have a flexbox layout in the resizer with:
 - the resize handle (fixed)
 - the show more/less button, if any (fixed)
 - the list of tiles (grabbing whatever is left)
2020-07-10 18:29:39 +02:00
Travis Ralston
bf0a503e44 [WITH CONFLICTS] Merge branch 'develop' into travis/room-list/enable 2020-07-10 10:18:12 -06:00
Travis Ralston
840a4127db
Merge pull request #4944 from matrix-org/travis/room-list/perf/log-disable
Add an option to disable room list logging, and improve logging
2020-07-10 07:16:56 -06:00
Travis Ralston
75dbd5f1d4 Merge branch 'develop' into travis/room-list/enable 2020-07-09 22:28:16 -06:00
Jorik Schellekens
1983591cbf Remove unused actions 2020-07-10 02:22:34 +01:00
Travis Ralston
cf154ec9cf Add an option to disable room list logging, and improve logging
For https://github.com/vector-im/riot-web/issues/14035

**This option is not recommended as it completely obliterates all chances of being able to support someone with a broken room list. It is intended for specific testing scenarios only.**
2020-07-09 18:19:38 -06:00
Travis Ralston
859f65659c Attempt to support a hard cutoff with the show more button
Known issues:
* Causes scroll jumps when the button gets added to DOM
* Resize handle is invisible when there's a show more button

TODO:
* Clean up comments
* Clean up useless code (all the padding stuff isn't needed)
2020-07-09 13:07:13 -06:00
Bruno Windels
ce68314de9 Revert "Merge pull request #4932 from matrix-org/travis/room-list/invisible-show-more"
This reverts commit f58a0a7538.
2020-07-09 12:13:12 -06:00
Jorik Schellekens
8a7bebc6bf lint 2020-07-09 18:37:18 +01:00
Jorik Schellekens
ade89ab4e9 Move sublist auto expand to out from layouts
Co-authored-by: Travis Ralston <travpc@gmail.com>
2020-07-09 18:32:28 +01:00
Jorik Schellekens
9b79de7fe7 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/room-list-auto-expand-on-search 2020-07-09 17:14:52 +01:00
Bruno Windels
f58a0a7538
Merge pull request #4932 from matrix-org/travis/room-list/invisible-show-more
Potential solution to supporting transparent 'show more' buttons
2020-07-09 14:43:20 +00:00
Travis Ralston
57b2ae9a0d Merge branch 'develop' into travis/room-list/perf/notifications 2020-07-09 07:46:01 -06:00
Travis Ralston
8aa2ed0c8b
Merge pull request #4934 from matrix-org/travis/room-list/perf/layout
Move list layout management to its own store
2020-07-09 07:44:44 -06:00
Jorik Schellekens
ecc109c45d
Merge pull request #4933 from matrix-org/joriks/room-list-noop-first-breadcrumb
Noop first breadcrumb
2020-07-09 13:47:38 +01:00
Travis Ralston
47380306c2 Move and improve notification state handling
Previously we were creating a notification state whenever we needed one, which was leading to hundreds of listeners even on a small account. To ease the burden, and reduce the load of having to wake so many listeners, we now record a single listener for each tag ID and room combination.

This commit also introduces a number of utilities to make future notification work a bit of an easier transition, such as the `isX` and `hasX` getters on the new NotificationState abstract class. Similarly, "snapshots" have been added to reduce code duplication between different kinds of states checking for updates.

The ListNotificationState is now heavily tied into the store which offers it to help reuse the cache of room notification states. 

Fixes https://github.com/vector-im/riot-web/issues/14370
2020-07-08 19:26:25 -06:00
Jorik Schellekens
2baa78d26b Move no-op to breadcrumb store 2020-07-09 01:31:44 +01:00
Travis Ralston
c5812d6c27 Move list layout management to its own store
This is more general maintenance than performance as the RoomList doesn't need to be generating layouts for the sublists, and it certainly doesn't need to be creating a bunch of extra ones. 

The sublists are perfectly capable of getting their own layout instance and using it, and we are perfectly able to limit the number of these things we create through the session's lifespan.
2020-07-08 18:28:21 -06:00
Jorik Schellekens
016710af6a Noop first breadcrumb 2020-07-09 00:44:23 +01:00
Michael Telatynski
ada68c4220
Merge pull request #4892 from jugglinmike/gh-13135-highlight-jump-to-bottom
Highlight "Jump to Bottom" badge when appropriate
2020-07-09 00:20:37 +01:00
Travis Ralston
8972cf9378 Potential solution to supporting transparent 'show more' buttons
In this demonstration, we remove the cutting line (as it collides with the tile in a weird spot) and instead replace the tile with a placeholder when the text is about to collide with the avatar in the tile. We use a `round()` for this because through some amazing coincidence the collision happens at 0.47, which is close enough to 0.5 for people not to notice.
2020-07-08 16:09:45 -06:00
Jorik Schellekens
8773d67df7 Auto expand room list on search 2020-07-08 17:28:15 +01:00
Jorik Schellekens
6ca7150533 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into
joriks/room-list-priorities
2020-07-08 16:08:55 +01:00
Jorik Schellekens
53bdddfcdd Fix discrepancies with style 2020-07-08 16:07:38 +01:00
Travis Ralston
3912f2d21c Merge remote-tracking branch 'origin/develop' into travis/room-list/resizable 2020-07-08 07:55:10 -06:00
Travis Ralston
b2abe61fc5 clarify which NumberSize to use 2020-07-08 07:51:48 -06:00
Bruno Windels
989e4a9ceb
Merge pull request #4912 from matrix-org/bwindels/bettersticky
Add wrapper to room list so sticky headers don't need a background
2020-07-08 13:34:01 +00:00
Bruno Windels
a361ac3f83 make collapsing/expanding the first header work again 2020-07-08 15:11:47 +02:00
Michael Telatynski
5d23e4216e
Merge pull request #4908 from matrix-org/t3chguy/room-list/12345
New room list view_room show_room_tile support
2020-07-08 13:34:28 +01:00
Michael Telatynski
ec54d509e5 remove stale debug log
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-08 13:24:40 +01:00
Michael Telatynski
d7ad555c12
Merge pull request #4871 from matrix-org/t3chguy/room-list/3
Convert Context Menu to TypeScript
2020-07-08 13:24:10 +01:00
Michael Telatynski
faa9124f2b Merge branches 'develop' and 't3chguy/room-list/12345' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/12345
 Conflicts:
	src/components/views/rooms/RoomTile2.tsx
2020-07-08 08:57:01 +01:00
Travis Ralston
15b6a273c9 Swap out the resizer lib for something more stable
react-resizer appears to be okay at tracking state, but it often desyncs from reality. re-resizer is more maintained and more broadly used (160k downloads vs 110k), and appears to generally do a better job of tracking the cursor.

The new library has some oddities though, such as deltas, touch support (hence the polyfill), and calling handles "Enable".

For https://github.com/vector-im/riot-web/issues/14022
2020-07-07 22:21:00 -06:00
Jorik Schellekens
f4e05142db lint 2020-07-07 23:17:56 +01:00
Jorik Schellekens
b3f50b6e17 Enable options to favourite and low priority rooms 2020-07-07 23:14:04 +01:00