-
Notifications
You must be signed in to change notification settings - Fork 269
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
[SlidingSync] unique room identifiers #1977
Comments
Thank for the issue, How do you get invalidated rooms? When a room is marked as |
I cannot confirm or deny that we get duplicated filled rooms. We get duplicates atm but I can't tell whether it's because we merge together 2 different lists that update at different times or because this is actually a problem. Let's imagine the following scenario: you start off with the following room list
and let assume d and e get new messages and move to the top of the list
This is what I believe happens and you end up with duplicated IDs between a filled and invalid room. On the other hand this might yet again be a side effect of us using 2 different lists so I'm definitiely willing to wait until we adopt the RoomList API and see if it's actually a problem |
I don't want to set the problem on you, but it's more likely that the problem is happening on your “merge 2 lists” algorithm. Let's see with the real |
Ensured by #1911 (and already ensured by |
Given certain sliding sync operations we can end up with multiple "invalid" rooms with the same identifier. This is a problem for SwiftUI that expects all items to be unique. We're currently trying to work around this swift side by trying to assign custom identifiers to whatever rooms are duplicated. The downside is that SwiftUI won't be able to infer differences in the room and instead just replace the whole cell.
It would be great if the new RoomList API can take this into consideration
The text was updated successfully, but these errors were encountered: