element-x-android
element-x-android copied to clipboard
Creating several rooms results in a room preview being displayed
Steps to reproduce
- From the room list, create a new room, you should be taken into it immediately.
- Go back to the room list.
- Now create another room.
- Instead of opening the new room, you'll see the room preview of the just created room instead.
- If you go back to the room list, you won't be able to find the room in the list either until the app is restarted.
Outcome
What did you expect?
The create room flow to be consistent.
What happened instead?
After the first room is created, the flow is broken.
Your phone model
Xiaomi Mi 9
Operating system version
Android 14
Application version and app store
Element X Nightly (0.4.17)
Homeserver
No response
Will you send logs?
Yes
Are you willing to provide a PR?
Yes
Status when testing on 2024-07-23 nightly:
- New rooms appear at the top of list as expected 🥳
- The room preview screen can still be displayed after the room creation 😢 . I got this bug 33% of the time.
@ganfra was not able to reproduce it on 0.4.16. The regression happened between 0.4.16 and 0.5.0.
Ok so after some digging, the steps are :
- we create the room
- we wait for the room to appear in the RoomList
- we try to get a room from the associated
RoomListItem=> we got an exception from rust sdkRoomListException$InitializingTimeline: error=Room!DKIcUGPMMbrsaYEPYC:matrix.org` not found`` - It never recovers from that as we are expecting to have a full room at this point
I can't reproduce the issue anymore. @ganfra do you know a good way to make it easy to reproduce?
I tested it on the today nightly. The room preview screen appears every time I create a room on matrix.org, even for the first created room. I linked a rageshake to this issue in case it helps.
Project management trick: I moved this issue from the SSS project tasklist to the release blockers tasklist. Now, it is less related to SSS but more a global issue.
This should be fixed by https://github.com/matrix-org/matrix-rust-sdk/pull/3979 once we build a new SDK version and add the new API call to wait until the room is synced.
Let's close the issue and open it again if it does not work as expected.