Fix a couple of race conditions when observing room info updates for calls. #3487
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is the iOS part for element-hq/element-meta#2599. There were 2 issues at play:
hasRoomCall
and it being used in the publisher which could result in a room info update being dropped when it shouldn't be.These issues also affected the ringing not being stopped when the caller hung up as well as the issue mentioned in the story (although honestly, the grace period for ringing is short enough that until I added logs I was often unsure if I had hit a timeout or the app was doing its thing correctly).
Note: I think there are still a couple of smaller issues with call ringing (possibly just matrix.org being slow as sometimes e.g.
Call notification is too old
would happen) and I wouldn't see CallKit appear at all or it would cancel almost immediately.Screen.Recording.2024-11-05.at.1.29.11.pm.mov