Matthew Chen
e77c3e6717
Retain changes from session database branch.
2018-01-10 12:18:23 -05:00
Matthew Chen
f9ce34f553
Improve background task logic.
2017-12-19 11:05:17 -05:00
Matthew Chen
7a1e47cd26
Add asserts around Swift singletons.
2017-12-07 13:57:45 -05:00
Matthew Chen
9da165b846
Continue conversion of app setup.
2017-12-05 11:19:11 -05:00
Matthew Chen
b4e8df79da
Migrate environment to SignalMessaging.
2017-12-05 10:29:29 -05:00
Matthew Chen
8cc33b3de1
Refine loading view of share extension.
2017-12-01 10:48:18 -05:00
Michael Kirk
a11d83187b
WIP: Framework-friendly - compiles but crashes on launch
...
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
81f097c1f5
Don't drop critical data messages
...
Assigning dataChannel sometimes happens after iceConnect.
Fixes symptom where Alice calls Bob.
Bob answers and sees the call UI as normal
but Alice sees call as continuing to ring
// FREEBIE
2017-11-20 14:35:16 -05:00
Michael Kirk
91f25bec3c
Remove overzealous assert
...
// FREEBIE
2017-11-20 14:35:16 -05:00
Matthew Chen
fc07c7c04f
Respond to CR.
...
// FREEBIE
2017-11-09 03:14:58 -05:00
Matthew Chen
5cc292fb6c
Don't ask for camera permissions if app is not active.
...
// FREEBIE
2017-11-09 03:02:05 -05:00
Matthew Chen
f86882b5ff
Don't ask for camera permissions if app is not active.
...
// FREEBIE
2017-11-09 02:57:15 -05:00
Michael Kirk
b77e331732
Unify Mute/Hold audio handling
...
// FREEBIE
2017-11-02 08:49:46 -04:00
Michael Kirk
c7642cc628
Fix volume burst when call connects
...
By centralizing AudioSession management onto the AudioService, we can
avoid enabling the RTCAudioSession while we're mid-ring.
Also allows us to centralize and remove redundant audio session logic.
// FREEBIE
2017-11-02 08:49:46 -04:00
Michael Kirk
36a39caad6
Remove overzealous assert
...
// FREEBIE
2017-11-02 08:49:46 -04:00
Michael Kirk
dd5a19d1fd
Suspend while answering shows "Missed Call"
...
When awakened by a voip push, we get some arbitrary amount of background
time to connect the call (in practice this is ~30s) before the app is
suspended.
Though we were properly terminating the call upon being suspended, we
were not notifying the user that they had missed a call.
// FREEBIE
2017-10-12 14:34:36 -04:00
Michael Kirk
39e5875a36
remove overzealous assert
2017-10-05 13:02:38 -04:00
Michael Kirk
f171c56488
Video calls use MetalKit when available
...
Taking advantage of the new RTCMTLVideoView where available
(64bit && >=iOS9), should help performance (battery and rendering
quality).
// FREEBIE
2017-10-05 13:02:38 -04:00
Matthew Chen
7b1b532b19
Respond to CR.
...
// FREEBIE
2017-09-18 16:05:01 -04:00
Matthew Chen
43370ffc3f
Fix assert during calls without camera permission.
...
// FREEBIE
2017-09-18 16:03:03 -04:00
Michael Kirk
3d9796db77
Debug actions for calling
...
For testing stale hangup/busy messages
Extracted MessageSender promise API
Moved call debug actions to their own page
// FREEBIE
2017-08-11 09:21:11 -04:00
Michael Kirk
8da3108b53
Drop stale EndCall/BusyCall messages
...
// FREEBIE
2017-08-11 07:35:48 -04:00
Matthew Chen
d9bc3ac806
Respond to CR.
...
// FREEBIE
2017-08-03 10:49:37 -04:00
Matthew Chen
791e270578
Terminate call if call view presentation is delayed.
...
// FREEBIE
2017-08-03 10:29:40 -04:00
Matthew Chen
634617b7d4
Terminate call if call view presentation is delayed.
...
// FREEBIE
2017-08-03 10:26:22 -04:00
Michael Kirk
81d7f28253
Timer to ensure call screen shown
...
// FREEBIE
2017-08-02 19:13:46 -04:00
Matthew Chen
dd13119f12
Add more instrumentation to CallService.
...
// FREEBIE
2017-07-27 13:57:29 -04:00
Matthew Chen
904515994f
Add more instrumentation to CallService.
...
// FREEBIE
2017-07-27 13:28:05 -04:00
Matthew Chen
465711c2cb
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:45:29 -04:00
Matthew Chen
0cf9c01af2
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:27:48 -04:00
Matthew Chen
8aff95c44e
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:26:02 -04:00
Matthew Chen
b4f348ad14
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:26:02 -04:00
Matthew Chen
31ab9a00da
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:26:02 -04:00
Matthew Chen
863fd27abe
Respond to CR.
...
// FREEBIE
2017-07-26 10:52:15 -04:00
Matthew Chen
8e51b5ade1
Clean up ahead of PR.
...
// FREEBIE
2017-07-26 10:01:43 -04:00
Matthew Chen
958a8b4c80
Instrument CallService.
...
// FREEBIE
2017-07-26 10:01:43 -04:00
Michael Kirk
03f1bbca62
Move state from CallViewController -> Call
...
I think whenever reasonable we prefer to consodlidate state on the call
// FREEBIE
2017-07-13 17:08:42 -04:00
Matthew Chen
ac616d6936
Reject the “call connected” promise immediately when clearing a call.
...
// FREEBIE
2017-07-12 18:12:27 -04:00
Michael Kirk
b82aedc3a0
Assertion failures for unexpected promise state
...
These don't currently result in failed calls, but we should at least
know about it in debug.
// FREEBIE
2017-07-12 16:15:22 -04:00
Michael Kirk
438635393b
Don't send ICE updates until after the CallOffer has been sent.
...
This ensures message ordering for clients that can't handle out of order
call messages (legacy iOS and Android).
Even when we revert the previous commit, to send ICE Updates sooner,
we'll want to keep this (until we're confident all clients can receive
out of order call messages)
// FREEBIE
2017-07-12 16:15:22 -04:00
Michael Kirk
d910da0157
Partial revert of: Send ICE updates immediately - 2dcfb4e3b8
...
That change makes it more likely that the remote client will receive an
ICE update before their peer connection client is set.
We want to ship the robustness fix (waitForPeerConnection in
handleRemoteAddedIceCandidate) before we have the caller start sending
ICE updates immediately, in a future release.
At that time, we can simply revert this commit.
// FREEBIE
2017-07-12 16:15:22 -04:00
Matthew Chen
d639d6557e
Add owsFail free function for swift.
...
// FREEBIE
2017-07-11 16:20:20 -04:00
Michael Kirk
2dcfb4e3b8
Send ICE updates immediately.
...
Now that SN changes do not block incoming messages, the caller does not
need to enqueue outgoing ICE updates.
However this introduces the possibility that the call recipient could
recieve an ICE update before their peerConnectionClient is set up - so
now we ensure that call service waits for it's peerConnectionClient
before processing incoming ICE updates.
// FREEBIE
2017-07-10 11:49:38 -05:00
Matthew Chen
1a400f8414
Respond to CR.
...
// FREEBIE
2017-07-10 12:39:44 -04:00
Matthew Chen
b6531a8b5d
If two users call each other at the same time, ensure they both see “busy”.
...
// FREEBIE
2017-07-10 12:25:22 -04:00
Michael Kirk
f681712ea0
Code Cleanup
...
- make some logging clearer
- remove noisy unhelpful logging
- clearer method names
// FREEBIE
2017-07-10 11:09:39 -05:00
Matthew Chen
0244e134f5
Block device from sleeping during certain activities.
...
// FREEBIE
2017-07-06 17:35:47 -04:00
Michael Kirk
1f9f066fa9
print call record when declining a call
...
// FREEBIE
2017-07-05 12:45:34 -05:00
Michael Kirk
8abde1dff8
Non-Callkit adapter plays audio from notification when app is in
...
background
// FREEBIE
2017-07-05 11:53:16 -05:00
Matthew Chen
3d0811c03f
Respond to CR.
...
// FREEBIE
2017-06-21 18:06:29 -04:00