element-hq / element-hq/element-ios

Element iOS doesn't need to send VoIP push notifications again through Sygnal; can use local on-device API

Open
#5,260 2 comments 1 reaction 0 assignees View on GitHub
A-Notifications T-Enhancement Z-R30
Dominant language
Swift
Stars
1.8k
Forks
544
PR merge metrics
PR metrics pending

Description

[I was adding some documentation to Sygnal](https://github.com/matrix-org/sygnal/pull/285#discussion_r763914625) describing the workaround that we use for VoIP calls and push notifications (basically: from the Notification Service Extension, sending a special VoIP notification to Sygnal which then comes back to iOS).

David noticed that there appears to be a function you can call (https://developer.apple.com/documentation/callkit/sending_end-to-end_encrypted_voip_calls) allowing you to avoid contacting Sygnal — it *sounds like* it is doable entirely on device (I'm not sure when this appeared; it might be new).

Some related links:

* https://github.com/vector-im/element-ios/pull/3531 (the original PR when this was introduced — I think)
* https://github.com/matrix-org/sygnal/issues/235#issuecomment-885741255 (this workaround was mentioned here)

I thought I should bring it to your attention. Equally, if you know why this isn't usable, I'd like to be able to add that to the Sygnal documentation for other app developers. Thank you! :)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.