Travis Ralston
a8829f09d0
Ensure RoomListStore2 gets reset when the client becomes invalidated
...
Fixes https://github.com/vector-im/riot-web/issues/14384
We also make use of the new AsyncStore type to handle this more safely.
2020-07-13 13:15:44 -06: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
Travis Ralston
1f57b85b30
Merge pull request #4962 from matrix-org/travis/room-list/leave-fix
...
Ensure tag changes (leaving rooms) causes rooms to move between lists
2020-07-13 12:44:23 -06:00
Jorik Schellekens
6bf6ae2031
try to fix test
...
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/delabs-font-scaling
2020-07-13 19:08:44 +01:00
Travis Ralston
d6ca05938d
Merge pull request #4960 from matrix-org/travis/room-list/default-order
...
Fix default sorting mechanics for new room list
2020-07-13 12:01:37 -06:00
Travis Ralston
d2c7a55fa0
Ensure tag changes (leaving rooms) causes rooms to move between lists
...
Fixes https://github.com/vector-im/riot-web/issues/14442
Turns out that we are so good at moving a room that when it flows through as a TIMELINE update the algorithm no-ops and does nothing, so don't do that.
2020-07-13 12:00:56 -06:00
J. Ryan Stinnett
995a7879a1
Merge remote-tracking branch 'origin/develop' into element
2020-07-13 18:49:55 +01:00
J. Ryan Stinnett
f0c6139803
Update analytics host tracking for new structure
2020-07-13 17:57:56 +01:00
J. Ryan Stinnett
231c26c8a4
Update CustomServerDialog to use brand token
2020-07-13 17:57:56 +01:00
Michael Telatynski
33422f1744
Switch out Labs spinner to be the Flow-generated from Design
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-13 17:39:57 +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
Bruno Windels
02b27086da
swap search field and breadcrumbs
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
Travis Ralston
40ab3e23c6
Add a null guard on the client
2020-07-13 10:09:46 -06:00
Michael Telatynski
3060cdf934
Iterate PR
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-13 17:01:50 +01:00
Travis Ralston
9a3744ebb2
Fix default sorting mechanics for new room list
...
Fixes https://github.com/vector-im/riot-web/issues/14445
2020-07-13 09:54:15 -06:00
Michael Telatynski
b3c3ef594e
i18n
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-13 16:39:59 +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
Jorik Schellekens
59e153e024
Merge branch 'develop' into joriks/delabs-font-scaling
2020-07-13 16:15:52 +01:00
Jorik Schellekens
ea15725164
Merge pull request #4895 from jugglinmike/gh-12743-ignore-user-names
...
"ignore"/"unignore" commands: validate user ID
2020-07-13 16:07:31 +01:00
Jorik Schellekens
71e97177b0
Merge pull request #4957 from matrix-org/joriks/room-list-avatar-aspect-ratio
...
Stop classname from overwritting baseavatar's
2020-07-13 16:02:06 +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
Jorik Schellekens
3e2280a6f4
Stop classname from overwritting baseavatar's
2020-07-13 15:43:34 +01:00
Michael Telatynski
3c096fdf23
Merge pull request #4953 from matrix-org/t3chguy/fix/14402
...
Fix RoomAvatar viewAvatarOnClick to work on actual avatars instead of default ones
2020-07-13 15:28:29 +01:00
Michael Telatynski
97734395f7
Merge pull request #4955 from matrix-org/t3chguy/fix/13991
...
Be consistent with the at-room pill avatar configurability
2020-07-13 15:28:12 +01:00
Michael Telatynski
72407a30d3
Merge pull request #4954 from matrix-org/t3chguy/room-list/14409
...
Room List v2 Enter in the filter field should select the first result
2020-07-13 15:27:16 +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
c3789245b8
Be consistent with the at-room pill avatar configurability
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-12 19:25:43 +01:00
Michael Telatynski
d253c58830
Room List v2 Enter in the filter field should select the first result
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-12 19:06:47 +01:00
Michael Telatynski
71ecd5dc85
clean-up
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-12 18:40:24 +01:00
Michael Telatynski
3f51bb84e1
Fix RoomAvatar viewAvatarOnClick to work on actual avatars instead of default ones
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-12 18:24:28 +01:00
Travis Ralston
1c52c2777e
Merge pull request #4949 from matrix-org/travis/room-list/mute-floats
...
Convert ImportanceAlgorithm over to using NotificationColor instead
2020-07-12 11:00:18 -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
J. Ryan Stinnett
0c06975e7a
Merge remote-tracking branch 'origin/develop' into element
2020-07-11 19:16:26 +01:00
Travis Ralston
31f1fbd962
Merge pull request #4951 from matrix-org/travis/room-list/fix-sublist-menu
...
Internalize algorithm updates in the new room list store
2020-07-11 12:15:53 -06:00
Travis Ralston
b924dcc6ad
Merge pull request #4950 from matrix-org/travis/room-list/cleanup-resizing
...
Remove now-dead code from sublist resizing
2020-07-11 12:11:51 -06:00
Travis Ralston
0e49c4343c
Internalize algorithm updates in the new room list store
...
Fixes https://github.com/vector-im/riot-web/issues/14411
The act of setting/changing the algorithm was causing the update function to be marked, meaning we wouldn't trigger an update until something else happened later. To get around this, and still support internal functions spamming calls without multiple updates, we simply move the guts to an internalized function and make the public interface do a trigger.
2020-07-10 21:59:12 -06:00
Travis Ralston
c153232575
Merge branch 'develop' into travis/room-list/enable
2020-07-10 21:33:35 -06:00
Travis Ralston
cfc39dc4a9
Remove now-dead code from sublist resizing
2020-07-10 16:10:05 -06:00
Travis Ralston
3062d14a78
Convert ImportanceAlgorithm over to using NotificationColor instead
...
Fixes https://github.com/vector-im/riot-web/issues/14362 implicitly
By re-using constructs we already have, we don't need to invent code which figures it out.
2020-07-10 16:07:40 -06:00
Travis Ralston
87120c6c26
Ensure triggered updates get fired for filters in the new room list
...
Fixes https://github.com/vector-im/riot-web/issues/14404
2020-07-10 15:58:39 -06:00
Travis Ralston
bb6d46f926
When the algorithm changes, re-add the filter listener
2020-07-10 15:57:05 -06:00
J. Ryan Stinnett
e808cdbe2f
Remove translations missing the brand variable
2020-07-10 19:57:01 +01:00
J. Ryan Stinnett
fa55f9fda2
Prune translations for strings that no longer exist
2020-07-10 19:57:01 +01:00
J. Ryan Stinnett
f1ad49e745
Replace brand name in stranslated strings
2020-07-10 19:57:01 +01:00
J. Ryan Stinnett
9085627a28
Use brand name from config in all strings
2020-07-10 19:57:01 +01:00
J. Ryan Stinnett
bb5107a60b
Change default brand name
2020-07-10 19:57:01 +01:00
J. Ryan Stinnett
5f78522681
Move the default brand into the config module
2020-07-10 19:57:01 +01:00
J. Ryan Stinnett
7686039874
Work around timeout types for now
2020-07-10 18:32:43 +01:00
J. Ryan Stinnett
063e6e3e9c
Fix a few types
2020-07-10 18:23:27 +01:00
J. Ryan Stinnett
353eae44f2
Merge remote-tracking branch 'origin/develop' into element
2020-07-10 18:14:21 +01:00
Travis Ralston
bdb641279a
Merge branch 'develop' into travis/room-list/enable
2020-07-10 11:11:25 -06:00
David Baker
503159c1c8
Merge branch 'dbkr/in-app-rebrand-prompt' into 'element'
...
Add in-app rebranding toasts & prompts
See merge request new-vector/element/element-web/matrix-react-sdk!1
2020-07-10 17:09:17 +00:00
Travis Ralston
9e76a2cebf
Handle off-cycle filtering updates in the new room list
2020-07-10 11:07:47 -06:00
Bruno Windels
b7ded18fde
Merge branch 'element' of https://gitlab.matrix.org/new-vector/element/element-web/matrix-react-sdk into element
2020-07-10 19:05:46 +02:00
Bruno Windels
952200f031
Merge branch 'develop' into element
2020-07-10 19:04:45 +02: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
Travis Ralston
314250a6e4
Add a test mode flag to the store
2020-07-10 10:38:07 -06: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
f8db0a4637
Resolve complex merge conflicts
2020-07-10 10:21:00 -06:00
Travis Ralston
bf0a503e44
[WITH CONFLICTS] Merge branch 'develop' into travis/room-list/enable
2020-07-10 10:18:12 -06:00
Travis Ralston
3a3bfb39ee
Make the theme switcher switch between Element themes
2020-07-10 09:18:53 -06:00
J. Ryan Stinnett
28bbac8574
Merge remote-tracking branch 'origin/develop' into element
2020-07-10 16:03:11 +01:00
David Baker
8701e9293e
Add in-app rebranding toasts & prompts
...
Either shows an informational dialog telling you the name has changed,
or a more naggy one if the user needs to log in on a different URL.
The new URL (if any) is hardcoded based on the current URL, and also
with a bonus config param in case other deployments need to do similar.
2020-07-10 15:32:34 +01:00
Travis Ralston
26427817f2
Fix potential listener conflict with RVS
...
If the RVS ever emits something that contains `trigger: false`, we're pretty screwed, so avoid that.
2020-07-10 08:18:40 -06:00
Travis Ralston
46d53e5c8c
Reset before trigger just in case the function triggers too
2020-07-10 08:14:33 -06:00
Travis Ralston
a5ba0cad1f
Rename to trigger and add docs
2020-07-10 08:13:23 -06:00
Travis Ralston
ef18cd5ca1
Merge branch 'develop' into travis/room-list/perf/dedupe-recalc
2020-07-10 07: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
Bruno Windels
7880c10b21
Merge branch 'element' of https://gitlab.matrix.org/new-vector/element/element-web/matrix-react-sdk into element
2020-07-10 12:28:47 +02:00
Bruno Windels
6dc7a5631b
make tag panel less wide
2020-07-10 12:27:48 +02:00
J. Ryan Stinnett
ab51dd28dc
Merge remote-tracking branch 'origin/develop' into element
2020-07-10 11:08:33 +01:00
Bruno Windels
f2f813c43c
make tag panel context menu icons follow text color
2020-07-10 10:20:26 +02:00
Travis Ralston
75dbd5f1d4
Merge branch 'develop' into travis/room-list/enable
2020-07-09 22:28:16 -06:00
Jorik Schellekens
60695838d6
Merge pull request #4927 from matrix-org/joriks/room-list-auto-expand-on-search
...
Auto expand room list on search
2020-07-10 02:45:13 +01:00
Jorik Schellekens
ceff68476d
Remove useless dispatches
2020-07-10 02:25:47 +01: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
8624e8beeb
Break up the event loop tasks for the room list
...
The room list does a hefty amount of work, so instead of blocking the event loop with a `/sync` request and a bunch of room updates (as we can get multiple per sync) we can instead run it over several smaller tasks. The smaller tasks help the event loop do other things between our tasks, ensuring we don't inadvertently block the UI from rendering too slowly.
On my account and machine, this cuts the time to render in half (~30ms, down from ~60ms) .
2020-07-09 15:11:21 -06:00
Travis Ralston
1315f34662
Dedupe room list store updates by marking for updates
...
The core of this is in the MarkedExecution class, with the remainder of the commit ensuring that the right marks and triggers are in place to do the firing.
Because everything is async/await and run through the RoomListStore, we don't have to worry about self-fed updates in the algorithm classes. This also means we have to trigger pretty much all the time.
Changes to tag ordering / list sorting get hit through two paths, so we mark before we do a bulk update and otherwise assume the call is coming in from outside.
2020-07-09 14:53:14 -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
Travis Ralston
f8e1996e2f
Handle NewRoom and PossibleTagChange updates correctly
...
For new rooms, we need to append to our list of known rooms. For tag changes, we need to be sure to update our cache when the tag can reasonably be assumed to have changed.
Fixes https://github.com/vector-im/riot-web/issues/14389
2020-07-09 12:08:40 -06:00
Travis Ralston
00fc34924c
Fix rooms disappearing that were created by the user
...
Fixes https://github.com/vector-im/riot-web/issues/14388
We were receiving a read receipt before a room object, leading to the algorithm to assume the room is archived (no membership), which was causing later index issues when the room tried to get moved from archived to untagged.
To prevent this, we just ignore nonsensical updates.
2020-07-09 11:39:40 -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
096cd482f1
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/room-list-auto-expand-on-search
2020-07-09 18:22:26 +01:00
Bruno Windels
c2d4e45495
theme name translation
2020-07-09 19:19:19 +02:00
Travis Ralston
ae09bfb8fd
Don't destroy room notification states when replacing them
...
The "should never happen" now happens a lot by design. We shouldn't destroy the state as it'll stop badge counts for everything.
Fixes https://github.com/vector-im/riot-web/issues/14391
2020-07-09 10:22:04 -06: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
d90fc57469
Merge branch 'develop' into element
2020-07-09 17:59:56 +02:00
Jorik Schellekens
d94b6e2b36
Merge pull request #4937 from matrix-org/joriks/appearance-tab-irc-setting-in-advanced
...
Move irc layout option to advanced
2020-07-09 16:20:37 +01:00
Jorik Schellekens
1033eda7fb
Move irc layout option to advanced
2020-07-09 15:54:44 +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
bd8e1f7198
Merge pull request #4931 from matrix-org/travis/room-list/sticky-headers
...
Improve performance and stability in sticky headers for new room list
2020-07-09 08:00:56 -06: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
Bruno Windels
0d53521e83
dark theme WIP
2020-07-09 14:48:15 +02: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
545f11d742
Convert devtools dialog to use new room state format
2020-07-08 22:23:51 -06: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
Travis Ralston
62b4596c04
Be consistent with other stores
2020-07-08 18:36:56 -06:00
Travis Ralston
c8f90be81d
Ensure the map gets cleared upon logout
2020-07-08 18:32:12 -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
Travis Ralston
74ca0618ac
Improve scrolling performance for sticky headers
...
The layout updates are anecdotal based on devtools flagging the values which are "changing" even if they aren't. The scrolling feels better with this as well, though this might be placebo.
2020-07-08 14:55:28 -06:00
Travis Ralston
f9aca7c05e
Avoid bounding box usage in sticky headers & improve reliability
...
We now use offsets and scroll information to determine where the headers should be stuck to, still supporting the transparent background.
Some scroll jumps were originally introduced as part of the change in numbering, so they have been fixed here. By proxy, some additional scroll jump/instability should be fixed as well.
This has a lingering problem of still causing a huge number of no-op UI updates though, which will be dealt with in a future commit.
2020-07-08 14:37:35 -06:00
Travis Ralston
6e20850567
Remove sanity check from requestAnimationFrame
...
It should be in all major browsers as of years ago, and we use it unguarded elsewhere in the app. The performance benefits of it appear to be worthwhile enough to keep it, though it's not a perfect solution.
2020-07-08 12:17:51 -06:00
Michael Telatynski
3abf1586f9
Merge pull request #4930 from matrix-org/t3chguy/room-list/14380
...
Don't render the context menu within its trigger otherwise unhandled clicks bubble
2020-07-08 19:13:20 +01:00
Michael Telatynski
e2d65222a2
Don't render the context menu within its trigger otherwise unhandled clicks will re-trigger
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-08 18:59:27 +01:00
Travis Ralston
9b48130f4f
Protect rooms from getting lost due to complex transitions
...
Fixes https://github.com/vector-im/riot-web/issues/14378
Rooms transitioning between multiple states are often at risk of going missing due to the sticky room handling. We now protect that transition by bluntly ensuring the room can't go missing, and by always ensuring we have an updated reference to the room.
2020-07-08 11:48:34 -06:00
Jorik Schellekens
23754ae2bd
i18n
2020-07-08 18:07:01 +01:00
Jorik Schellekens
bb18e677f9
Lint semis
2020-07-08 18:05:07 +01:00
Jorik Schellekens
fe2bb355ab
Hide archive button
2020-07-08 18:02:20 +01:00
Jorik Schellekens
8773d67df7
Auto expand room list on search
2020-07-08 17:28:15 +01:00
Bruno Windels
7390baf451
Merge branch 'develop' into element
2020-07-08 18:09:38 +02:00
Travis Ralston
eb38d80bd5
Merge pull request #4920 from matrix-org/joriks/room-list-priorities
...
Enable options to favourite and low priority rooms
2020-07-08 10:08:02 -06:00
Bruno Windels
d5747ad6c0
Merge branch 'develop' into element
2020-07-08 18:07:45 +02:00
Travis Ralston
0368bff5b1
Merge pull request #4904 from matrix-org/joriks/room-list-voip
...
Move voip previews to bottom right corner
2020-07-08 10:07:42 -06:00
Jorik Schellekens
5ba64aa4e1
Back to defaul orientation
2020-07-08 17:03:08 +01:00
Bruno Windels
571bd30898
update call icons
2020-07-08 18:02:30 +02:00
Jorik Schellekens
9dd28a9ce0
semi
2020-07-08 17:02:26 +01:00
Jorik Schellekens
4ae64aff9a
lint line length
2020-07-08 16:14:04 +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
Jorik Schellekens
fb6791e221
Merge pull request #4923 from matrix-org/joriks/room-list-focus-search
...
Focus room filter on openSearch
2020-07-08 15:20:08 +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
b4f3b8ab11
Use the right variables when detecting max height
2020-07-08 07:53:55 -06:00
Travis Ralston
b2abe61fc5
clarify which NumberSize to use
2020-07-08 07:51:48 -06:00
Travis Ralston
9b0eeae2eb
Clarify who is meant to use the polyfill
2020-07-08 07:51:04 -06:00
Bruno Windels
7dad56ca86
Merge branch 'develop' into element
2020-07-08 15:50:17 +02:00
Bruno Windels
269c30f8e8
Revert "also blur the sticky headers"
...
This reverts commit 82e0816d86
.
2020-07-08 15:47:01 +02: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
Bruno Windels
0d94cfa97a
put sticky headers in padding of wrapper
...
this way they don't need a background, as the list is already clipped
2020-07-08 14:49:38 +02:00
Bruno Windels
75751abc60
add wrapper we can then add padding to when sticking headers
2020-07-08 14:49:04 +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
5ef93686d9
Merge pull request #4925 from matrix-org/t3chguy/room-list/14352
...
Use html innerText for org.matrix.custom.html m.room.message room list previews
2020-07-08 13:23:58 +01:00
Michael Telatynski
64d7580494
Merge pull request #4913 from matrix-org/t3chguy/fix/14363
...
Fix MELS summary of 3pid invite revocations
2020-07-08 13:23:45 +01:00
Michael Telatynski
7b115056b0
Fix sticky headers being left on display:none if they change too quickly
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-08 09:21:33 +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
Michael Telatynski
8d5d3b1c92
Use html innerText for org.matrix.custom.html m.room.message room list previews
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-08 08:50:25 +01:00
Michael Telatynski
c5e8a0b5af
Convert HtmlUtils to TypeScript
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-08 08:40:58 +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
8679d90703
lint semi
2020-07-08 00:27:29 +01:00
Jorik Schellekens
70c1bf3e5c
Focus room filter on openSearch
2020-07-08 00:25:43 +01:00
Travis Ralston
8357461c9b
Merge branch 'develop' into travis/room-list/enable
2020-07-07 16:20:38 -06:00
Jorik Schellekens
f4e05142db
lint
2020-07-07 23:17:56 +01:00
Travis Ralston
774e32ecf0
Fix DM handling in new room list
2020-07-07 16:16:46 -06:00
Jorik Schellekens
b3f50b6e17
Enable options to favourite and low priority rooms
2020-07-07 23:14:04 +01:00
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
85e018111b
Merge pull request #4918 from matrix-org/travis/room-list/respect-old-settings
...
Respect and fix understanding of legacy options in new room list
2020-07-07 15:19:56 -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
a59a8b76a9
Update TODO comments to point to new issue
2020-07-07 14:51:43 -06:00
Travis Ralston
a4ef5909f9
Respect and fix understanding of legacy options
...
Fixes https://github.com/vector-im/riot-web/issues/14372
We read/use the options in multiple places, and those places were not in sync. Now when algorithms change and on initial load, both will come to the same conclusions about how to order & sort the rooms.
2020-07-07 14:45:08 -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
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
853b280673
Fix MELS summary of 3pid invite revocations
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 18:30:57 +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
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
Jorik Schellekens
e3dbda2abf
Fix tests
2020-07-07 16:44:15 +01:00
Jorik Schellekens
dad3dce364
Merge branch 'develop' into joriks/room-list-voip
2020-07-07 15:45:45 +01:00
Jorik Schellekens
bc4167180c
Lint whitespaces and semis
2020-07-07 15:40:05 +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
eb05c86e50
clean-up
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 15:32:20 +01:00
Michael Telatynski
8c2286a044
Move all the ContextMenu semantic helper (ARIA) components out to separate modules
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-07 15:24:46 +01:00
Jorik Schellekens
8458572032
lint
2020-07-07 15:18:10 +01:00
Jorik Schellekens
0d6e7759d0
Fix review details
...
- spelling mistake
- unwatch watched setting
- lint (indentation)
- use more performant component
2020-07-07 15:11:08 +01:00
Jorik Schellekens
527fe24cd6
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/room-list-voip
2020-07-07 15:04:22 +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
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
7115c07c65
Merge branch 'develop' into element
2020-07-07 13:21:49 +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
Bruno Windels
1ef73958f3
change hide community icon in context menu
2020-07-07 12:16:31 +02:00
Bruno Windels
38ff58f8dd
remove upload icon
2020-07-07 12:16:16 +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
Michael Telatynski
1259a8e1af
Merge branch 'travis/room-list/room-safety' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/12345
2020-07-07 10:27:09 +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
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
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
Jorik Schellekens
5176685d20
Implement incoming call box
2020-07-06 23:05:00 +01: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
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
f038dd52e6
Merge pull request #4903 from matrix-org/t3chguy/room-list/14353
...
null-guard against groups with a null name in new Room List
2020-07-06 22:01:41 +01:00
Michael Telatynski
60225154e6
delint
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 21:58:44 +01:00
Michael Telatynski
97d4295bf5
Merge pull request #4902 from matrix-org/t3chguy/room-list/14306
...
Allow vertical scrolling on the new room list breadcrumbs
2020-07-06 21:53:54 +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
Bruno Windels
7647072b05
remove prop instead of assigning unset
2020-07-06 14:36:07 -06:00
Bruno Windels
201f6ebe83
make stick headers jump in a bit later so the transition is less jumpy
2020-07-06 14:36:01 -06:00
Bruno Windels
a2cf641c0e
don't need to set width with javascript?
2020-07-06 14:35:53 -06:00
Bruno Windels
61a5807fd1
only show topmost top sticky header
2020-07-06 14:35:46 -06:00
Michael Telatynski
c9bc318ca7
Allow vertical scrolling on the new room list breadcrumbs
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 21:32:46 +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
2c1eb07768
Merge pull request #4883 from matrix-org/t3chguy/ts123
...
Convert things to Typescript, including languageHandler
2020-07-06 18:54:19 +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
8acec1f417
delint
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 17:58:39 +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
2da1320d99
Type view_room_delta as ViewRoomDelta
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 17:57:40 +01:00
Michael Telatynski
6042e015e0
Remove unused dispatches view_indexed_room and view_prev_room
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 17:49:37 +01:00
Bruno Windels
8fd9dbf1d8
moar icon changes
2020-07-06 18:28:54 +02:00
Jorik Schellekens
1e0ff01d50
De labs font-scaling
2020-07-06 15:43:49 +01:00