Commit graph

3650 commits

Author SHA1 Message Date
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
Travis Ralston
a59a8b76a9 Update TODO comments to point to new issue 2020-07-07 14:51:43 -06: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
f18db23cc4 Remove some TODOs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 17:18:56 +01:00
Michael Telatynski
986d56ffdc 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/RoomSublist2.tsx
	src/components/views/rooms/RoomTile2.tsx
2020-07-07 17:11:04 +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
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
afac330143 Merge branches 'develop' and 't3chguy/room-list/3' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/3
 Conflicts:
	src/components/structures/ContextMenu.tsx
	src/components/structures/UserMenu.tsx
	src/components/views/rooms/RoomSublist2.tsx
	src/components/views/rooms/RoomTile2.tsx
2020-07-07 15:01:27 +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
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
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
2ca9044171 swap order of context menu buttons so it does not jump when muted 2020-07-07 12:46:33 +02:00
Michael Telatynski
19e1c79796 update comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 10:35:16 +01:00
Michael Telatynski
63ec793fad Support view_room's show_room_tile in the new room list
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 10:34:42 +01:00
Mike Pennisi
d237d02c03 Highlight "Jump to Bottom" badge when appropriate
This resolves https://github.com/vector-im/riot-web/issues/13135

Signed-off-by: Mike Pennisi <mike@mikepennisi.com>
2020-07-06 23:09:54 -04: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
Michael Telatynski
6bc39547c7 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/12345 2020-07-07 00:10:06 +01:00
Michael Telatynski
3094bb32ec
Merge pull request #4901 from matrix-org/t3chguy/room-list/112
Fix some room list sticky header instabilities
2020-07-06 22:21:02 +01:00
Michael Telatynski
abfbcf4090 use uglier style for props but be consistent :'(
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 22:04:30 +01:00
Michael Telatynski
60225154e6 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 21:58:44 +01:00
Michael Telatynski
f6aa6208ee null-guard against groups with a null name :((
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 21:53:20 +01:00
Michael Telatynski
8233dec72e Fix some room list sticky header instabilities
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 21:05:06 +01:00
Michael Telatynski
18064c19a3 add TODO
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 18:13:11 +01:00
Michael Telatynski
1849ed90d2 Implement ViewRoomDelta for the new Room List
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 17:58:29 +01:00
Michael Telatynski
6cb0ac6a50 Fix checkboxes/radios in context menus should only close on ENTER, not SPACE
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 10:18:49 +01:00
Michael Telatynski
87a7a8a02b Add TODOs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 01:15:53 +01:00
Michael Telatynski
7c29a53ebd aria-hide the notifications badge on room tiles as we have manual labels here
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-05 19:59:29 +01:00
Michael Telatynski
a68e23c9e0 Make message previews accessible via describedby
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-05 19:38:45 +01:00
Michael Telatynski
069cdf3ce0 Fix room list v2 context menus to be aria menus
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-05 18:23:57 +01:00
Michael Telatynski
1620feb55e Sprinkle in some better ARIA props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-05 01:07:46 +01:00
Michael Telatynski
599cc9c9ed
Merge pull request #4882 from matrix-org/t3chguy/room-list/6
First step towards a11y in the new room list
2020-07-03 20:17:33 +01:00
Travis Ralston
26ce801ef1
Merge pull request #4887 from matrix-org/t3chguy/room-lists/99
fix notifications icons some more
2020-07-02 17:16:45 -06:00
Michael Telatynski
22ac7e6def fix notifications icons some more
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-03 00:14:51 +01:00
Michael Telatynski
9cf162e267 Merge branches 'develop' and 't3chguy/room-list/6' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/6
 Conflicts:
	src/components/views/rooms/RoomSublist2.tsx
	src/components/views/rooms/RoomTile2.tsx
2020-07-03 00:02:37 +01:00
Michael Telatynski
404009c8cb Merge branches 'develop' and 't3chguy/room-list/3' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/3
 Conflicts:
	src/components/structures/ContextMenu.tsx
	src/components/views/rooms/RoomSublist2.tsx
2020-07-02 23:46:12 +01:00
Michael Telatynski
08392d53f0
Merge pull request #4884 from matrix-org/t3chguy/room-lists/99
Fix bell icon mismatch on room tile between hover and context menu
2020-07-02 23:31:48 +01:00
Michael Telatynski
5c5482a8ae I've got 99 problems and this badge mismatch is no longer one
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-02 23:20:16 +01:00
Travis Ralston
cc23f23f19
Merge pull request #4881 from matrix-org/travis/room-list/enable-default
Enable the new room list by default and trigger an initial render
2020-07-02 15:28:36 -06:00
Michael Telatynski
289f40ce29 First step towards a11y in the new room list
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-02 22:21:10 +01:00
Travis Ralston
df05273225 Merge remote-tracking branch 'origin/joriks/room-list-tooltips' into develop 2020-07-02 15:20:27 -06:00
Travis Ralston
1df092d79b
Merge pull request #4879 from matrix-org/travis/room-list/context-menu-fixes
Fix selection states of room tiles in the new room list
2020-07-02 15:18:19 -06:00
Travis Ralston
ea787ad430
Merge pull request #4876 from matrix-org/travis/room-list/notif-dropdown
Update mute icon behaviour for new room list designs
2020-07-02 15:15:56 -06:00
Travis Ralston
3847dc91c0 Move the stoppage to somewhere more generic 2020-07-02 15:15:33 -06:00
Travis Ralston
547690374e Wrap event stoppage in null checks
Some of the code paths (particularly onFinished) do not have events, but the code paths we care about to prevent the room selection do have events - we can stop those without stopping further menus.
2020-07-02 14:53:21 -06:00
Travis Ralston
0549ef83db
Merge pull request #4878 from matrix-org/travis/room-list/fix-community-invites
Fix alignment of avatars on community invites
2020-07-02 14:39:25 -06:00
Travis Ralston
1b782ce5f2 Enable the new room list by default and trigger an initial render
We have to trigger an initial render because during the login process the user will have started syncing (causing lists to generate) but the RoomList component won't be mounted & listening and therefore won't receive the initial lists. By generating them on mount, we ensure that the lists are present once the user gets through the login process.
2020-07-02 14:27:36 -06:00
Travis Ralston
0d9ce0721f Don't include empty badge container in minimized view
Fixes https://github.com/vector-im/riot-web/issues/14294

It takes up space, and it won't hold anything anyways.
2020-07-02 14:11:31 -06:00
Travis Ralston
e08512020f Fix a couple badge alignment issues with community invites 2020-07-02 14:05:31 -06:00
Travis Ralston
aa702514ce Don't try and show context menus if we don't have one
Fixes https://github.com/vector-im/riot-web/issues/14295
2020-07-02 13:59:28 -06:00
Travis Ralston
e51f9d2492 Fix closing the context menu causing the tile to be selected
Fixes https://github.com/vector-im/riot-web/issues/14293
2020-07-02 13:53:38 -06:00
Travis Ralston
349c3f7090 Only show mute notification icon on rooms, not all notif icons 2020-07-02 13:33:06 -06:00
Travis Ralston
45f4a2a980 Fix imports for NotificationStates 2020-07-02 13:28:06 -06:00
Travis Ralston
b54635863f Merge branch 'develop' into travis/room-list/notification-state 2020-07-02 13:26:16 -06:00
Travis Ralston
43db4b98df Merge branch 'develop' into joriks/room-list-breadcrumbs 2020-07-02 13:22:51 -06:00
Michael Telatynski
4a03b464d6
Merge pull request #4875 from matrix-org/t3chguy/room-list/4
Add click-to-jump on badge in the room sublist header
2020-07-02 20:04:43 +01:00
Michael Telatynski
ae2a6ebc07 improve comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-02 19:56:41 +01:00
Michael Telatynski
a658612078 Add click-to-jump on badge in the room sublist header
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-02 19:48:06 +01:00
Michael Telatynski
c4bbdefa8d
Merge pull request #4870 from matrix-org/t3chguy/room-list/2
Room List v2 context menu interactions
2020-07-02 18:02:21 +01:00
Travis Ralston
32642d592c Add a key 2020-07-02 09:27:42 -06:00
Travis Ralston
b7aa8203b6 Wedge community invites into the new room list
Fixes https://github.com/vector-im/riot-web/issues/14179

Disclaimer: this is all of the horrible because it's not meant to be here. Invites in general are likely to move out of the room list, which means this is temporary. Additionally, the communities rework will take care of this more correctly. For now, we support the absolute bare minimum to have them shown.
2020-07-02 09:04:38 -06:00
Michael Telatynski
07e0a017e7 fix types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 23:56:57 +01:00
Michael Telatynski
e8702aafa5 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 23:09:02 +01:00
Michael Telatynski
5c2b291510 Support right click context menu interactions on Room List 2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 23:06:26 +01:00
Michael Telatynski
28e430060c
Merge pull request #4858 from matrix-org/t3chguy/room-list/2
Room Tile context menu, notifications, indicator and placement
2020-07-01 19:20:09 +01:00
Travis Ralston
51ce80f333 Merge branch 'develop' into travis/room-list/notification-state 2020-07-01 12:01:07 -06:00
Travis Ralston
2cd6fae2ce
Merge pull request #4865 from matrix-org/travis/room-list/default-vis
Improve resizing interactions in the new room list
2020-07-01 11:59:54 -06:00
Travis Ralston
946fde5cc5 Be consistent in visible tiles usage 2020-07-01 11:59:32 -06:00
Michael Telatynski
9831698b1e Hide notifications menu from invite tiles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 14:28:00 +01:00
Michael Telatynski
10e547539d Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/2 2020-07-01 14:26:56 +01:00
Michael Telatynski
3b7b6eca6f align context menus even better
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 14:05:33 +01:00
Michael Telatynski
b5014282a4 Iterate PR based on Figma design and feedback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 13:59:50 +01:00
Jorik Schellekens
1dd9c1eea3 Use avatar sisze inplace 2020-07-01 12:28:32 +01:00
Jorik Schellekens
1889ee202b Add tooltips for breadcrumbs 2020-07-01 12:23:27 +01:00
Travis Ralston
ad982624fe Remove context menu on invites in new room list
Fixes https://github.com/vector-im/riot-web/issues/14198

For both, the decision has been made to not have a context menu pending further considerations of where invites should (and should not) be. Likely this will be dealt with in FTUE Notifications.
2020-06-30 19:43:00 -06:00
Travis Ralston
7674030c6e Show 'show more' when there are less tiles than the default
For example, if you only have 3/10 rooms required for the default then resize smaller, we should have a 'show more' button.

This works by changing the rendering to be slightly more efficient and only looping over what is seen (renderVisibleTiles(), using this.numTiles in place of tiles.length) and using a new setVisibleTilesWithin() function on the layout. Previously resizing the 3/10 case would be setting visibleTiles to ~8 instead of ~1 like it should (because the getter returns a default).
2020-06-30 19:14:36 -06:00
Jorik Schellekens
aab372c648 Add tooltips 2020-07-01 01:50:31 +01:00
Jorik Schellekens
2379ec577c Lint semicolons 2020-06-30 23:39:25 +01:00
Jorik Schellekens
dcd51b5be3 Implement breadcrumb notifications and scrolling 2020-06-30 23:24:46 +01:00
Michael Telatynski
508dea1c89 Wire up Notifications context menu on room tile 2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-30 22:53:30 +01:00
Michael Telatynski
198958dcdd Iterate to match figma
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-30 22:32:59 +01:00
Michael Telatynski
cbd2a9cd35 Redo Iconized Context Menu styling to match Figma and simplify future a11y work by flattening the DOM
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-30 22:11:12 +01:00
Travis Ralston
782a555e44 Make badges represent old list behaviour
Fixes https://github.com/vector-im/riot-web/issues/14160
2020-06-30 13:45:10 -06:00
Travis Ralston
393eaf84c3 Move notification states out of the NotificationBadge component
Fixes https://github.com/vector-im/riot-web/issues/14153
2020-06-30 13:34:44 -06:00
Michael Telatynski
54419878fa Add room notifications context menu and non-default indicator to RoomTile2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-30 00:16:51 +01:00
Michael Telatynski
adf186f568 Fix RoomTile2 Context Menu to match Figma
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-29 23:03:44 +01:00
Travis Ralston
175ade8ac4 Merge branch 'develop' into travis/room-list/todo-cleanup 2020-06-28 20:04:41 -06:00
Travis Ralston
ee2c216c4d Clean up TODO comments for new room list
All relevant TODOs should still be present, and reference an issue for easy finding.
2020-06-28 20:03:04 -06:00
Travis Ralston
753f7aa5b8 Remove the DM button from new room tiles
Fixes https://github.com/vector-im/riot-web/issues/14221
2020-06-27 22:48:54 -06:00
☕ Tim
c8381021b8 Hide room list show less button if it would do nothing
Signed-off-by:  Tim <tim@wants.coffee>

On the new rooms list, if the show less button wouldn't result in a
smaller list, don't show it.

Fixes vector-im/riot-web#14219
2020-06-28 04:08:06 +08:00
Travis Ralston
67cc84d00d Merge branch 'develop' into travis/room-list/preview-copy 2020-06-26 07:29:49 -06:00
Michael Telatynski
85c5bb3bc3
Merge pull request #4835 from matrix-org/t3chguy/notifications0
More small tweaks in preparation for Notifications rework
2020-06-25 23:34:28 +01:00
Travis Ralston
30489ce819
Merge pull request #4840 from matrix-org/travis/room-list/resizer-2
Iterate on the new room list resize handle
2020-06-25 16:27:39 -06:00
Travis Ralston
acf56559e1 Introduce an entirely new system for handling message preview copy
This reverts earlier changes made to textForEvent as they are no longer needed.

This also implements an entire tree of textForEvent-like behaviour as the previews need to be different, which is easiest done with its own stack.
2020-06-25 16:26:49 -06:00
Travis Ralston
555078a993 Iterate on the new room list resize handle
Only show shadow when resizing, increase the hit area, and make the handle show up when the list itself is hovered.
2020-06-25 16:03:56 -06:00
Travis Ralston
0af1507eed Update sublists for new hover states
Fixes https://github.com/vector-im/riot-web/issues/14135
Unblocks https://github.com/vector-im/riot-web/issues/14089
2020-06-25 12:11:10 -06:00
Travis Ralston
5efa5d2c80 Implement new resize handle for dogfooding
Smaller handle width, small shadow on the top of the show more button if there's more rooms to be shown. The resize handle also only shows when you're hovering in the area now.

The original design called for the shadow to show up only if the user is cutting a tile or dragging, however that is complicated implementation-wise. For speed and encouraging a dogfooding pattern we're going ahead with this behaviour instead.
2020-06-25 10:08:44 -06:00
Travis Ralston
c920cf784e Create a StaticNotificationState for representative purposes 2020-06-25 16:35:54 +01:00
Travis Ralston
37a415693f Allow the user to resize the new sublists to 1 tile
For dogfooding https://github.com/vector-im/riot-web/issues/14137

To change the default: `localStorage.setItem("mx_dogfood_rl_defTiles", 4);`
2020-06-24 20:08:26 -06:00
Travis Ralston
752b2acc56 Move MessagePreviewStore into the room list namespace 2020-06-24 19:51:55 -06:00
Hubert Chathi
74e4ea7d48
Merge pull request #4797 from matrix-org/uhoreg/distrust_backup
Mark messages with a black shield if the megolm session isn't trusted
2020-06-23 15:38:03 -04:00
Travis Ralston
fc5ee64fce Fix read receipt handling in the new room list
Fixes https://github.com/vector-im/riot-web/issues/14064
Fixes https://github.com/vector-im/riot-web/issues/14082

Turns out the event doesn't reference a room, so we need to use the accompanied room reference instead.
2020-06-22 15:12:30 -06:00
Travis Ralston
fb551781c2 Force DMs to always be red notifications
This also passes the tagId to the sublist so it doesn't have to rip it out of the `layout`. It doesn't get a layout until later anyways, which causes some null issues.
2020-06-22 14:52:17 -06:00
Travis Ralston
894357f7f6 Merge branch 'develop' into travis/room-list/unread-2 2020-06-22 14:16:52 -06:00
Travis Ralston
cf92fc37d4 Fix layout of minimized view for new room list 2020-06-22 12:51:53 -06:00
Travis Ralston
63ad14ae1e Clean up imports 2020-06-22 10:35:55 -06:00
Travis Ralston
8201eed929 Encourage counts if the user has a mention (red state) 2020-06-22 10:26:37 -06:00
Travis Ralston
eeb408a081 Update badge logic for new setting and behaviour
For https://github.com/vector-im/riot-web/issues/14084
2020-06-22 10:26:19 -06:00
Hubert Chathi
c690cfc6c5 mark messages with a black shield if the megolm session isn't trusted 2020-06-18 21:57:33 -04:00
Travis Ralston
7191c01265 Fix crash when filtering new room list too fast
Fixes https://github.com/vector-im/riot-web/issues/14092

We were simply assuming we had a reference to a notification state, which might not be the case if we're between renders.
2020-06-18 15:52:55 -06:00
Jorik Schellekens
291997421b Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/semicolon 2020-06-18 14:54:20 +01:00
Travis Ralston
4a5cc8557c
Merge pull request #4785 from matrix-org/travis/room-list/show-less-is-more
Don't show a 'show less' button when it's impossible to collapse
2020-06-18 07:46:32 -06:00
Jorik Schellekens
05d0309081 Lint a few semicolons 2020-06-18 14:32:43 +01:00
Travis Ralston
245181cf80 Fix show less/more button occluding the list automatically
When the user would click 'show more' they would be presented with a 'show less' button that occluded the last room. 

Similarly, if they resized the list so that all their rooms would be shown and refreshed the page, they would find their last room covered by the button.

This changes the handling so that showAllClick() sets the height to numTiles + button padding, and adjusts the height calculations on render to deal with relative tiles.

This also removes the conditional padding of the resize handle, as we always occupy the 4px of space. It was leading to rooms getting trimmed slightly by the show N button.
2020-06-17 22:09:59 -06:00
Travis Ralston
1735da8cb1 Don't show a 'show less' button when it's impossible to collapse
Fixes https://github.com/vector-im/riot-web/issues/14076
2020-06-17 22:04:34 -06:00
Travis Ralston
58671f014b
Merge pull request #4765 from matrix-org/travis/room-list/show-less
Add a 'show less' button to the new room list
2020-06-17 10:24:50 -06:00
Travis Ralston
d2831ffb0c
Merge pull request #4758 from matrix-org/travis/room-list/sticky
Sticky and collapsing headers for new room list
2020-06-17 08:28:38 -06:00
Travis Ralston
9878c1dc34 and another 2020-06-16 17:42:26 -06:00
Travis Ralston
7a71ef9b6b Fix another space 2020-06-16 17:40:25 -06:00
Travis Ralston
daa552e250 Refactor listener usage 2020-06-16 17:35:56 -06:00
Travis Ralston
b69a5a525d Fix spaces 2020-06-16 17:29:36 -06:00
Travis Ralston
e4a51a7c01 Add presence icons; Convert to generic icon component
For https://github.com/vector-im/riot-web/issues/14039
2020-06-16 14:44:37 -06:00
Travis Ralston
bcebef7e56 Add a globe icon to public rooms
For https://github.com/vector-im/riot-web/issues/14039
2020-06-16 12:13:12 -06:00
Travis Ralston
84e60ee439 Add a 'show less' button to the new room list 2020-06-15 20:00:09 -06:00
Travis Ralston
4186070489 Support list collapsing and jumping
Fixes https://github.com/vector-im/riot-web/issues/14036
2020-06-15 19:47:43 -06:00
Travis Ralston
eeac80096c Float the badges with the sticky headers 2020-06-13 19:07:19 -06:00
Travis Ralston
9eb965878a
Merge pull request #4754 from matrix-org/travis/room-list/per-list-algo
Support per-list options and algorithms on the new room list
2020-06-12 08:40:23 -06:00
Travis Ralston
4aa15ee191 Wire up the context menu to the room list store
Updates are passed along magically to the sublist, so we don't need to listen for the room list store's response to our changes.

This just hits the functions introduced in the last commit.
2020-06-11 22:04:10 -06:00
Travis Ralston
2c04a56784 Add a minimized view to the new room list
This covers everything except breadcrumbs, as those are somewhat undecided from a design perspective.
2020-06-11 14:39:28 -06:00
Travis Ralston
2e04414331
Merge pull request #4750 from matrix-org/travis/room-list/leak
Add some resource leak protection to new room list badges
2020-06-11 12:33:11 -06:00
Travis Ralston
6ccb566587 Show message previews on the new room list tiles
They're heavily cached.
2020-06-10 18:37:59 -06:00
Travis Ralston
d1c2ecb6cc Add some resource leak protection to new room list badges
Most of the leaks were because we never set `this.rooms` in the notification state, which meant we were constantly triggering the `diff.added` loop.
2020-06-10 16:04:27 -06:00
Travis Ralston
0f16d7f32d Merge branch 'develop' into travis/room-list/layout 2020-06-10 15:53:33 -06:00
Michael Telatynski
ed7f4755cc use ButtonEvent instead of MouseEvent | KeyboardEvent for AccessibleButton (make CI happy)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-10 22:05:29 +01:00
Travis Ralston
be366bdd7f Fix various layout concerns with the new room list
It had ~32px of overflow causing a horizontal scrollbar. Turns out the layout engine gets confused when hidden elements are at the end of a flexbox, so we just move them higher in the DOM (where they logically still make sense).

The remaining changes are all alignment and misc changes in that respect, and probably not obvious.
2020-06-10 15:05:17 -06:00
Michael Telatynski
601e8209d8 Prioritize text on the clipboard over file
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-10 21:48:39 +01:00
Jorik Schellekens
b63d73e3b6
Merge pull request #4729 from matrix-org/joriks/appearance-tab
Move Settings flag to ts
2020-06-10 16:57:18 +01:00
Travis Ralston
72bb89d4ee
Merge pull request #4743 from matrix-org/travis/room-list/tile-menu
Add a context menu to rooms in the new room list
2020-06-10 07:46:09 -06:00
Travis Ralston
a3391d9a08 Merge branch 'develop' into travis/room-list/hover-state 2020-06-10 07:42:41 -06:00
Travis Ralston
78e1db9d30
Merge pull request #4741 from matrix-org/travis/room-list/resize-handle
Update resize handle for new designs in new room list
2020-06-10 07:40:34 -06:00
Travis Ralston
0755b4c148 Add a context menu to rooms in the new room list
The tag options are not implemented out of concern for diff size. 

This splits the context menu classes out to a new "iconized" style which is common across a number of context menus, including the UserMenu.

Some of the badge/sublist styles had to change to better accommodate the menu icon lining up.

This also contains the framework required for https://github.com/vector-im/riot-web/issues/13961
2020-06-09 23:09:15 -06:00
Travis Ralston
2180a56074 Remove irrelevant property 2020-06-09 21:15:38 -06:00
Travis Ralston
111394df6d Add hover states and basic context menu to new room list
The 'sort by' radio buttons are blocked by https://github.com/matrix-org/matrix-react-sdk/pull/4731 as it contains the styles needed.

The 'unread rooms' checkbox is intentionally not hooked up. This is a more complicated refactoring that needs to be done.

The message preview checkbox works, though the previews remain hardcoded in this change. The primary intent of this change is to have a good enough context menu and the hover states.

The hover states are as described in the design.
2020-06-09 21:12:49 -06:00
Travis Ralston
5f8b7187cf Update resize handle for new designs
The diff should have information on what this does and how it is supposed to work.
2020-06-09 19:48:31 -06:00
Travis Ralston
b84af372b9 Bump animation time for breadcrumbs up to 640ms
This matches the design, unlike the 300ms which was too fast.
2020-06-09 15:35:07 -06:00
Travis Ralston
1467191a5d Update the CSS transition for breadcrumbs
The actual transition length might need adjusting, but this is fairly close to what was requested.
2020-06-09 15:06:54 -06:00
Travis Ralston
b5f9c4ba8a Merge branch 'develop' into travis/room-list/breadcrumbs 2020-06-09 08:12:56 -06:00
Travis Ralston
9377fa513f Merge branch 'develop' into travis/room-list/breadcrumbs 2020-06-09 08:11:08 -06:00
Travis Ralston
eefc40e0f8 Use IDestroyable instead of IDisposable
For consistency within our project
2020-06-09 08:08:47 -06:00
Travis Ralston
8632d56e97 dispose -> destroy 2020-06-09 08:05:35 -06:00
Travis Ralston
0354bf9b6d Reimplement breadcrumbs for new room list
This all-new component handles breadcrumbs a bit more smoothly for the app by always listening to changes even if the component isn't present. This allows the breadcrumbs to remain up to date for when the user re-enables breadcrumbs.

The new behaviour is that we turn breadcrumbs on once the user has a room, and we don't turn it back off for them.

This also introduces a new animation which is more stable and not laggy, though instead of sliding the breadcrumbs pop. This might be undesirable - to be reviewed.
2020-06-08 17:11:58 -06:00
Travis Ralston
086b9101fa Add sublist badge counts to new room list
Also add IDLE state to rooms
2020-06-08 13:42:18 -06:00
Jorik Schellekens
d6a532040e lint 2020-06-08 16:57:39 +01:00
Travis Ralston
000c92a53f Merge branch 'develop' into travis/room-list/css-layout 2020-06-08 09:40:21 -06:00
Jorik Schellekens
a7bc722b3f Use px where images use px width 2020-06-08 14:45:12 +01:00
Travis Ralston
1d8833e9f8 Selected state, cleanup, and profile display 2020-06-05 14:08:20 -06:00
Travis Ralston
ea6b0a60ab Merge branch 'develop' into travis/room-list/css-layout 2020-06-05 13:19:00 -06:00
Travis Ralston
ee3d2c51d8
Merge pull request #4697 from matrix-org/travis/room-list/scrolling-resize
New room list scrolling and resizing
2020-06-05 13:17:59 -06:00
Travis Ralston
e93a41c5fb Minor clarity 2020-06-05 13:14:44 -06:00
Travis Ralston
68e59a3655
Merge pull request #4696 from aaronraimist/empty-formatbar
Don't show FormatBar if composer is empty
2020-06-05 11:27:00 -06:00