Commit Graph

107 Commits (b82aedc3a0cbeb2c17b33944ad44b93b315e4395)

Author SHA1 Message Date
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
8 years ago
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
8 years ago
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
8 years ago
Matthew Chen d639d6557e Add owsFail free function for swift.
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen 1a400f8414 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b6531a8b5d If two users call each other at the same time, ensure they both see “busy”.
// FREEBIE
8 years ago
Michael Kirk f681712ea0 Code Cleanup
- make some logging clearer
- remove noisy unhelpful logging
- clearer method names

// FREEBIE
8 years ago
Matthew Chen 0244e134f5 Block device from sleeping during certain activities.
// FREEBIE
8 years ago
Michael Kirk 1f9f066fa9 print call record when declining a call
// FREEBIE
8 years ago
Michael Kirk 8abde1dff8 Non-Callkit adapter plays audio from notification when app is in
background

// FREEBIE
8 years ago
Matthew Chen 3d0811c03f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 029da7e0ce Hang up current call if we receive a call offer from the same user.
// FREEBIE
8 years ago
Matthew Chen 9fc92990f5 Improve logging in CallService.
// FREEBIE
8 years ago
Michael Kirk 36c09aeb84 cleanup ahead of PR
// FREEBIE
8 years ago
Michael Kirk ff93732ed7 WIP: fix call from contacts when signal hasn't been launched yet 8 years ago
Matthew Chen bd440f0878 Respond to post-holiday code reviews.
// FREEBIE
8 years ago
Matthew Chen 3bc73bea25 Don't return busy signal to untrusted callers.
// FREEBIE
8 years ago
Matthew Chen f5f506d06f Investigate “call stuck on connecting” issue.
// FREEBIE
8 years ago
Michael Kirk 1a3204bf46 create interaction in thread when missing call due to changed identity
// FREEBIE
8 years ago
Michael Kirk 8c592a373a log error on assertion failure
// FREEBIE
8 years ago
Michael Kirk c8d547a08f Only allow callback for identities that were not previously verified
// FREEBIE
8 years ago
Michael Kirk 1127553041 restore "confirm and callback" functionality
// FREEBIE
8 years ago
Michael Kirk 41a34e572b Update Safety Number alerts to work with verification
// FREEBIE
8 years ago
Matthew Chen ceb210748e Sketch out OWSIdentityManager.
// FREEBIE
8 years ago
Michael Kirk 5b12f4afae Prevent outgoing calls started from various places unless have been seen
e.g. from contacts app

// FREEBIE
8 years ago
Michael Kirk 130aa132a0 Reject incoming calls from an unseen changed identity
// FREEBIE
8 years ago
Michael Kirk 20fc733bdf Clearer call logging
// FREEBIE
8 years ago
Matthew Chen 716aa772f6 Always sync and log push tokens. Apply OWSAlerts in more places.
// FREEBIE
8 years ago
Matthew Chen ad3a1a671a Merge remote-tracking branch 'origin/hotfix/2.11.3' 8 years ago
Michael Kirk d7c7fff679 Fix some compiler warnings
* explicit optional usage in strings
* remove some unused StringUtil code
* swiftlint affected files
* more concise optional casting (and avoid a `!`)

Compiler warnings: 343 -> 318

(Actually most of these are in external libs, but 115 remain in Signal/SSK)

// FREEBIE
8 years ago
Michael Kirk 6beee7c012 verify peerconnection at proper time
// FREEBIE
8 years ago
Michael Kirk 2ec893d315 Ensure we're retaining all promises to completion
// FREEBIE
8 years ago
Matthew Chen e36c3aaed7 Reconcile audio and video enabling with call state.
// FREEBIE
8 years ago
Matthew Chen 1444cfc630 Merge remote-tracking branch 'origin/hotfix/2.11.2' 8 years ago
Matthew Chen 0f85284b82 Fix speakerphone vs. WebRTC AND Fix CallService edge cases.
// FREEBIE
8 years ago
Matthew Chen 6801963a1b Add SignalAccount class.
// FREEBIE
8 years ago
Matthew Chen d06f358a23 Don't unwrap with ! in CallService.
// FREEBIE
8 years ago
Michael Kirk 700bd6e08a Fix build, remove unnecessary return
Fixup 27e55d2906

// FREEBIE
8 years ago
Michael Kirk 3a0f84cf36 Avoid crash in CallService
Rather than force unwrapping (`!`), use guards/implicit unwrapping to
handle the failure gracefully.

// FREEBIE
8 years ago
Matthew Chen 791dba9242 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3368659d87 Improve handling of call service edge cases.
// FREEBIE
8 years ago
Matthew Chen b4464f91a2 Improve handling of call service edge cases.
// FREEBIE
8 years ago
Matthew Chen 3c4955840d Improve handling of call service edge cases.
// FREEBIE
8 years ago
Matthew Chen f920300f28 Improve handling of call service edge cases.
// FREEBIE
8 years ago
Matthew Chen 9db33a9651 Remove RedPhone code.
// FREEBIE
8 years ago
Matthew Chen 814c6d2505 Only initiate WebRTC calls, not RedPhone calls.
// FREEBIE
8 years ago
Michael Kirk b5403175f1 Call sounds - connecting, outgoing ring, busy sound.
Also add vibration for remote hangup so you're not talking to dead air.

// FREEBIE
8 years ago
Michael Kirk 4b8a5f8ccb TURN-only option, and for unknown caller
Now, by default, we only use TURN for incoming calls from unknown
contacts. We will potentially directly connect for outgoing calls and
for incoming calls from known contacts.

Optionally, the user can disable direct connection altogether, at the
cost of some call quality.

// FREEBIE
8 years ago
Matthew Chen dea37b422b Respond to CR.
// FREEBIE
8 years ago