matrix-rust-sdk
matrix-rust-sdk copied to clipboard
I want to see my room list
We need to display:
- [ ] Room avatar, display name
- [ ] Last message, last message sender display name, timestamp
- [ ] Unread count, missed notification count
The app has different ways to present room list. We need to be able to query the SDK :
- [ ] Sorting by:
- [ ] Recently updated
- [ ] Alphabetically by room name
- [ ] Filter by:
- [ ] Room name
- [ ] Tags (Favorites, ...)
- [ ] Type: DM, room, space
- [ ] Invitation
- [ ] Pagination for performance reasons
We also need from the SDK:
- [ ] Room list updates
- [ ] Cache for displayed data. This is the first displayed screen by the app. It must be instant (It currently takes 10s to load the big test account on EIX)
For reference, here are the models exposed by mobile SDKs and used by the apps to build items for the room list:
- android: https://github.com/matrix-org/matrix-android-sdk2/blob/v1.4.14/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomSummary.kt#L30-L67
- iOS: https://github.com/matrix-org/matrix-ios-sdk/blob/v0.23.4/MatrixSDK/Data/MXRoomSummaryProtocol.h#L36-L150
All this data is cached. There is no need to compute anything to get it. They are some differences but the are very similar . We do not need everything at first.
SS exposes most of that now.