element-hq / element-hq/element-ios
iOS SDK is not updating the list of tracked user/devices after loading members of a Lazy Loaded room
- Dominant language
- Swift
- Stars
- 1.8k
- Forks
- 544
- PR merge metrics
- PR metrics pending
Description
### Steps to reproduce
The first time an API call to members/ is made on an e2e room the MXDeviceList Manager is not updated to track the full user list (like the js-sdk is doing [here](https://github.com/matrix-org/matrix-js-sdk/blob/43bc09f392f871b20552e2751addfe906591891f/src/models/room.ts#L712))
### Outcome
Depending on the PreSharingStrategy, some users might not be tracked at all (and wont receive e2e messages)
The default strategy should be ok thus, because for example in app shareEncryptionKeys is called and then will do a ensureEncryptionInRoom
Any how tracking after a load from server would be more efficient as it could start downloading keys earlier
Contributor guide
Research direction
Start by tracing the iOS handling of the `members/` response for a lazy-loaded room and how it updates the `MXDeviceList Manager`; compare the behavior with the linked JavaScript SDK `room.ts` reference. Check how `PreSharingStrategy` affects tracking, and consider the issue done when the full user list is tracked after loading members so key downloads can begin.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- mobile, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100