- Author: Denis Morozov
- Organization: Matrix.org
- Proposal
This summer I spent working on a project of interesting organization Matrix.org. More specifically I worked on an iOS application of Riot.im to improve VoIP calls. I was pleased to work with my mentor Emmanuel and his colleague Giom. They were helping a lot and quickly responding to all my questions. So the communication process was built on a very high level. All our communication took place in a public room.
The major part of my work was dedicated to CallKit support. This feature was requested by a number of Riot users, so it was important for me to make it work perfectly. Also I integrated PushKit framework, so users can accept incoming calls even if the application not running and do it right from the lock screen. For users who don't want to share their private data with Apple or have an old iOS version there is a new incoming call screen which looks like nicer than the system alert.
These implemented features were the point of my proposal but I decided to go further and added SiriKit support. It helps making calls using your voice. Just say that you want to make a call to your friend.
My work also includes bug fixings, code improvements and new API features.
- Add CallKit support to Riot
- Add CallKit support to MatrixSDK
- Fix issues with sound
- Add playRingtone property
- Add notification about AVAudioSession activation
- Add Intents handling
- Change value that is passed to CXHandle instance
- PushKit support
- Add option to settings for enable\disable showing decrypted content in notifications
- Add showDecryptedContentInNotifications property to MXKAccount
- Add background mode handling
- Add Siri support for calls
- Add new async method for loading users with particular userIds
- Start background task when handling call intent in the background
- Remove unnecessary construction methods from CallViewController
- Fix crash on decline button
- Fix remote notifications registration even if user hasn't provide access
- Improvements in notification registration flow
- Add screen for incoming calls
- Fix issue #1480
- Improvements in VoIP-related classes
- MXCall improvements
- Calls improvements
- Update value that is set to localizedCallerName for outgoing calls
- Improvements in MXFileStore
- Add possibility to place an outgoing call for unprepared MXSession
- Fixes in MXHTTPClient
- Fix problem with regex in MXPushRuleEventMatchConditionChecker
- Fix returning old data for some properties of MXRoomState
- Prevent override of user selected output port by WebRTC
- Fix issue #933
- Prevent MXKAlert from being retained in action handler
- Improvements for PR #282
- Fix for issue 1101
- Small improvements
- Update MXAppSettings with a new setting value for CallKit
- Make creation methods of MXKCallViewController to be generic
- Update method calls in MXKCallViewController
- Fix problems with MXCallViewController dismissing
- Add support for incoming calls view
- Fix issue #933