Fix Threads list stuttering#7070
Conversation
|
Thank you for your contribution! Here are a few things to check in the PR to ensure it's reviewed as quickly as possible:
|
bmarty
left a comment
There was a problem hiding this comment.
Thanks for the PR!
I have tested the feature and it's working well.
For the new empty view, I let @mxandreas / @americanrefugee confirm that this is what we want, or provide an alternative design / wording if necessary. The threads icon will be always displayed and in case there are no threads in the room, this view will be displayed:
Thanks!
jmartinesp
left a comment
There was a problem hiding this comment.
A couple of comments about the changes. Also, if we want to have an empty screen, it might make sense to use an AsyncData wrapper for the thread list, and check whether its dataOrNull() value contains something instead of creating a new variable and exposing it in the state. There are several examples of this in the app.
|
I've reverted the delay optimization as it's too complicated to do it properly ATM, something like matrix-org/matrix-spec-proposals#4360 is needed for it to work fast and correct but it seems to be WIP (?) and doesn't have an implementation yet. |
|
@bmarty FYI product/deisgn decision isn't required anymore as I've reverted the new screen/UX thing. |
|
Test failures doesn't seems to be related... |
Content
Optimize Threads list:
timelineItemContentFactory.create()on every row again when paginatingThreadsListView.ktto fix the effect restarting on every scroll frameCheck the Threads availability in the view so that we can show the top bar icon instantly by just checking the feature flag, then show a hint text in the view if there are no threads available. Also improves UX/discoverability (when we roll-out this and the whole Threads feature) IMO, though maybe needs a product decision, but since this is behind a feature flag I guess it's OK.Motivation and context
Fix the stuttering in the Threads list on opening/scrolling, along with other delays (huge especially on slow network/device).
Screenshots / GIFs
Tests
Tested devices
Checklist