matrix-org / matrix-org/matrix-ios-sdk
MXRoom isDirect returns YES for rooms that are not direct
Nobody has claimed this yet.
- Dominant language
- Objective-C
- Stars
- 484
- Forks
- 225
- PR merge metrics
- No merged PRs in 30d
Description
MXRoom objects may think that an instance is a direct room when in fact it is not.
(Present in Riot IOS using SDK 0.8.1, but not with SDK 0.7.11 or Riot Desktop)
How to replicate:
User A (riot desktop) creates a room (not a conversation, but a room) and invites only user B.
User B accepts the invitation (riot iOS). For user B, the room shows under people instead of Rooms.
User A invites user C. User C accepts (Riot iOS). User B still sees the room under People, and the MXRoom object of that particular room still returns YES when calling isDirect.
User C also sees the room under People.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating MXRoom and its isDirect implementation in the Objective-C SDK. Reproduce the described invitation flow with users A, B, and C, then verify that the room is no longer reported as direct after C joins. Done means the affected users no longer see the room categorized under People.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- objective-c
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100