Commit graph

3613 commits

Author SHA1 Message Date
Michael Telatynski
d700a5a78c
Merge pull request #5129 from matrix-org/t3chguy/fix/14989
Clear url previews if they all get edited out of the event
2020-08-19 11:40:57 +01:00
Michael Telatynski
b95956a3a4 Clear url previews if they all get edited out of the event 2020-08-19 10:38:26 +01:00
Michael Telatynski
0bda80c57d Consider tab completions as modifications for editing purposes to unlock sending 2020-08-19 10:32:24 +01:00
Michael Telatynski
24a390f840
Merge pull request #5123 from matrix-org/t3chguy/room-list/14466
Room List filtering visual tweaks
2020-08-18 17:22:05 +01:00
Bruno Windels
5c6a36f89a
Merge pull request #5072 from matrix-org/bwindels/make-reply-not-overlay
Make reply preview not an overlay so you can see new messages
2020-08-18 11:48:41 +00:00
Michael Telatynski
697ba12b3a Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/room-list/14466 2020-08-18 12:48:32 +01:00
Michael Telatynski
d1971cb163
Merge pull request #5113 from matrix-org/t3chguy/room-list/14959
Allow room tile context menu when minimized using right click
2020-08-18 12:45:55 +01:00
Bruno Windels
5d98805d77 Merge branch 'develop' into bwindels/make-reply-not-overlay 2020-08-18 13:39:06 +02:00
Bruno Windels
fa1e27076d remove dupe method 2020-08-18 12:34:43 +02:00
Travis Ralston
96087d61f6 Convert feature setting usages to regular settings 2020-08-17 13:12:18 -06:00
Michael Telatynski
e20b375433 Add filter results count and explore prompt 2020-08-17 18:20:00 +01:00
Michael Telatynski
21cdf5073c Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/room-list/14617 2020-08-14 18:58:26 +01:00
Michael Telatynski
8f0e4dae9d Allow room tile context menu when minimized using right click 2020-08-14 12:01:16 +01:00
Michael Telatynski
4ec602b960 Make cutout in the decorated room avatar transparent rather than fixed 2020-08-14 10:20:59 +01:00
Michael Telatynski
b8a260bb84 Change add room action for rooms to context menu 2020-08-13 16:18:26 +01:00
Jorik Schellekens
0060acbb33
Merge pull request #5056 from matrix-org/joriks/style-fighting
Quick win session 24/07/2020
2020-08-12 15:21:06 +01:00
Travis Ralston
d866b2d9ef Generate previews for rooms when the option changes
Fixes https://github.com/vector-im/element-web/issues/14853

This likely regressed in https://github.com/matrix-org/matrix-react-sdk/pull/5048 when the message preview information was made state, and the component wasn't updating the preview when the control flags changed.
2020-08-10 20:52:05 -06:00
Michael Telatynski
4799f0ee43
Merge pull request #5085 from matrix-org/t3chguy/notifications11
Factor out Iconized Context menu for reusability
2020-08-08 11:41:28 +01:00
Michael Telatynski
a095f858b0
Merge pull request #5087 from matrix-org/t3chguy/fix/14868
Make the room sublist show more/less buttons treeitems
2020-08-08 10:46:57 +01:00
Michael Telatynski
0da31de5ad
Merge pull request #5086 from matrix-org/t3chguy/notifications12
Create Map comparison utilities and convert Hooks to Typescript
2020-08-05 16:28:52 +01:00
J. Ryan Stinnett
7748e3ae1a
Merge pull request #5083 from matrix-org/jryans/riot-to-element
Replace Riot with Element in docs and comments
2020-08-05 12:25:45 +01:00
Michael Telatynski
f1505833b7 Make the room sublist show more/less buttons treeitems 2020-08-05 09:56:31 +01:00
Michael Telatynski
cd29edb442 Write more typescript defs 2020-08-05 09:13:01 +01:00
Michael Telatynski
d126f5c1e6 tidy up IconizedContextMenu CSS 2020-08-04 21:42:45 +01:00
Michael Telatynski
b30ce0355e Factor out Iconized Context Menu for reusabilit 2020-08-04 21:42:39 +01:00
Jorik Schellekens
271eeeabee Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/style-fighting 2020-08-04 15:04:56 +01:00
J. Ryan Stinnett
ce226ab534 Replace Riot with Element in docs and comments
This only covers the simple cases of references to issues and repos. More
complex areas, such as deployment scripts, will be handled separately.

Part of https://github.com/vector-im/element-web/issues/14864
2020-08-03 18:33:36 +01:00
Bruno Windels
fe1d375dd2 Merge remote-tracking branch 'origin/develop' into bwindels/remove-composer-overlay-icons 2020-08-03 18:05:26 +02:00
Travis Ralston
3443761007
Merge pull request #5062 from matrix-org/travis/settings/ts
Convert SettingsStore to TypeScript
2020-07-31 11:07:07 -06:00
Bruno Windels
a3ca80b206 move the reply preview one level higher so the buttons and avatar don't get centered with it 2020-07-31 18:27:07 +02:00
Bruno Windels
5c05b494df remove emoji icons in autocomplete/reply by designer request 2020-07-31 14:14:37 +02:00
Bruno Windels
d24ddc415b Notify the timeline it's height has changed, so it can keep being at the bottom
this way new messages will appear in the timeline without needing to scroll
2020-07-31 14:02:40 +02:00
Bruno Windels
01d624fdaf Make the reply preview not an overlay on the timeline anymore
As users can't scroll down all the way down to the timeline like this to
see the last message (and perhaps adjust their reply to it)

This also remove the wrapper div as it is not needed anymore
2020-07-31 13:47:40 +02:00
J. Ryan Stinnett
af49639bd8
Merge pull request #5065 from matrix-org/travis/echo/audit
Add local echo for notifications in the new room list
2020-07-31 12:20:20 +01:00
Travis Ralston
49abfc1fb2 Ensure sublists are updated when rooms are removed from them
Fixes https://github.com/vector-im/riot-web/issues/14798 (part 2)

This is in two parts itself: The `RoomSublist` needs to break its references to the `RoomListStore`, so it now clones the room arrays. The `Algorithm` is the other part, which is slightly more complicated.

It turns out that we weren't handling splicing as a change in the `ImportanceAlgorithm`, therefore the `Algorithm` wasn't really feeling like it needed to change anything. Further, the `Algorithm` was using the wrong reference to where it should be dumping rooms (`this.cachedRooms` is a getter which returns a different object depending on conditions), so having fixed that we need to ensure that the filtered and sticky maps are also updated when we remove a room. Because we send the new tag through a Timeline update, we'll end up updating the tag later on and don't need to update the filter and sticky collections.
2020-07-30 15:06:04 -06:00
Travis Ralston
5b15d12865 Ensure list visibility changes get counted as list changes
Fixes https://github.com/vector-im/riot-web/issues/14799

We were checking to see if the tags were visible at render time, but we needed to ensure that they were(n't) included when checking for diffs. This introduces a new kind of object cloning for semantic reasons.

This also fixes the selection indicator being a bit off on custom tags.
2020-07-30 14:18:54 -06:00
Travis Ralston
e953bfbf88 Replace flawed objectHasValueChange usage with objectHasDiff
Fixes https://github.com/vector-im/riot-web/issues/14782

We need to check if the keys changed, not just the values.
2020-07-30 14:08:18 -06:00
Travis Ralston
968fbd5cba Merge branch 'develop' into travis/echo/audit 2020-07-30 10:18:30 -06:00
Travis Ralston
fca6def588 Rename and document what local echo is 2020-07-30 09:15:19 -06:00
Travis Ralston
9bbb7a5310 Merge branch 'develop' into travis/settings/ts 2020-07-30 08:51:42 -06:00
Jorik Schellekens
b1f8fe40d6
Merge pull request #5036 from swapnilraj/swapnilraj/right-panel-ts
Convert right_panel to TS
2020-07-30 13:37:01 +01:00
Travis Ralston
0f1b9937a9 Connect RoomTile's notification volume to local echo
This presumes success as we don't yet have a UI for failures.
2020-07-29 16:54:33 -06:00
Travis Ralston
1f7f40736b Fix imports for SettingLevel to point at new file 2020-07-28 11:53:43 -06:00
Jorik Schellekens
f64ef65f97 Use StyledRadioGroup 2020-07-28 17:13:58 +01:00
J. Ryan Stinnett
79348b44cb
Merge pull request #4075 from MarcoZehe/SuppressSpeechWhenSending
Don't speak the outgoing message if it is in the Sending state.
2020-07-28 16:24:28 +01:00
Michael Telatynski
2d918a6dfc
Merge pull request #5052 from matrix-org/t3chguy/fix/14501
Remove poorly contrasted "dark style" heading in Room Preview Bar
2020-07-28 16:13:43 +01:00
Jorik Schellekens
4ab3ea395a lint 2020-07-28 13:56:18 +01:00
Jorik Schellekens
9cd232617d Unify composer and room header icons 2020-07-28 13:19:11 +01:00
Travis Ralston
2a8881f753 Fix typing error 2020-07-27 17:41:23 -06:00
Travis Ralston
900c234434 Internalize notification state handling for lists
This reduces the update cost of rooms changing, and fixes a bug where when a sublist became filtered it would change the notification count of the sublist.

This does change the expected usage of the state store to ensuring that only one place updates the rooms on the list states, which is currently the room list store. Ideally the state store could listen to the room list store to update itself, however due to a complicated require() loop it is not possible.
2020-07-27 17:33:27 -06:00
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