Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSS: After clearing cache, slightly old rooms (4 days old) take minutes to show up when searching the room list. #3165

Closed
ara4n opened this issue Aug 14, 2024 · 7 comments · Fixed by matrix-org/matrix-rust-sdk#3853
Assignees
Labels
A-SSS Regression or bug observed when using Simplified Sliding Sync O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect X-Needs-Rust This issue needs a Rust SDK change. It must have a link to a Rust SDK issue

Comments

@ara4n
Copy link
Member

ara4n commented Aug 14, 2024

Steps to reproduce

  1. I cleared cache to test SSS: Room list doesn't update after initial sync #3089
  2. The app took a surprisingly long time to sync (~10s or so)
  3. Then, i kept searching the roomlist for a test room which is about 4 days idle. In practice, this means that it's probably 100-200 rooms down my room list.
  4. The room didn't show up in the roomlist search results though.
  5. I kept searching about 6 times, until eventually it showed up a few minutes after the cache clear.

Outcome

What did you expect?

  1. the roomlist search results should warn you if they're incomplete because the list is still being paginated from the server, and avoid the user thinking that the room they're looking for doesn't exist. Shoving a spinner in the search results could be enough.
  2. The roomlist should paginate in more rapidly. I'd have expected the first 100-odd rooms to load in a few seconds, not a few minutes.

Your phone model

No response

Operating system version

No response

Application version

679

Homeserver

matrix.org

Will you send logs?

Yes

@ara4n ara4n added the T-Defect label Aug 14, 2024
@ara4n
Copy link
Member Author

ara4n commented Aug 14, 2024

Is it possible that the results only turned up once the whole roomlist had been paginated? Which might explain why it took so long.

@ara4n ara4n added the A-SSS Regression or bug observed when using Simplified Sliding Sync label Aug 14, 2024
@Hywan
Copy link
Member

Hywan commented Aug 14, 2024

It is dynamic. As soon as the room is created, it will appear in your search results. Maybe the server is just slow to give the rooms back: that's the only sane explanations. I'll investigate.

@Hywan Hywan self-assigned this Aug 14, 2024
@erikjohnston
Copy link
Member

@Hywan is this because when we're growing the room list we set a timeout=30000? As even if you grow the range, if nothing new has happened then the server will still block the request on new data? I could easily imagine it taking minutes to finish growing the list

@ara4n
Copy link
Member Author

ara4n commented Aug 14, 2024

if the list has grown, shouldn't it return immediately with the new rooms, despite the timeout?

@erikjohnston
Copy link
Member

if the list has grown, shouldn't it return immediately with the new rooms, despite the timeout?

If there are no updates for the rooms now in the range, no we don't. We could try and track changes to the ranges and immediately return if they do, though the clients can also just not set a timeout when growing the lists

@Hywan
Copy link
Member

Hywan commented Aug 19, 2024

@erikjohnston We can tweak the timeout if that helps. Your suggestion is to lower the timeout or to remove it entirely when the range doesn't cover all the rooms?

@erikjohnston
Copy link
Member

@Hywan I would suggest setting timeout=0 whenever the app expects a quick response (e.g. when it would show a spinner, waiting to update the UI, etc). So yeah, I'd probably say that timeout=0 should be set in all states other than Running maybe?

@Velin92 Velin92 added X-Needs-Rust This issue needs a Rust SDK change. It must have a link to a Rust SDK issue S-Minor Impairs non-critical functionality or suitable workarounds exist O-Occasional Affects or can be seen by some users regularly or most users rarely labels Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-SSS Regression or bug observed when using Simplified Sliding Sync O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect X-Needs-Rust This issue needs a Rust SDK change. It must have a link to a Rust SDK issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants