Commit Graph

1279 Commits (20a9fa602e23e1b7c7a5619f14ee45fc834593f6)

Author SHA1 Message Date
Michael Kirk 6a573b87d2 bump release target
// FREEBIE
8 years ago
Michael Kirk cebfc479f8 Fixup acf3a6e syntax
// FREEBIE
8 years ago
Michael Kirk ab2bfb3a67 Fix spacing of custom back button
...and use it (only) in Messages VC

Otherwise we'd have to do lots of manual handling of
interactivePopGesture

// FREEBIE
8 years ago
Michael Kirk c182a05961 Fix swipe-back-to-pop gesture.
The interactivePopGestureRecognizer machinery doesn't work when you have
a custom back button.

// FREEBIE
8 years ago
Michael Kirk 0a09330d35 Delete unused code
// FREEBIE
8 years ago
Matthew Chen e724acc978 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c6a280e005 Only initiate WebRTC calls, not RedPhone calls.
// FREEBIE
8 years ago
Matthew Chen 814c6d2505 Only initiate WebRTC calls, not RedPhone calls.
// FREEBIE
8 years ago
Michael Kirk 8973881d3d Fix switches for those who like to "slide"
There's more than one way to flip a switch.

// FREEBIE
8 years ago
Michael Kirk d76d04b8e8 Fixup 4814edf3d3
// FREEBIE
8 years ago
Michael Kirk 0b81523597 Clearer logging and added an assert per CR
// FREEBIE
8 years ago
Michael Kirk 6036e20079 Filter high diacritical text, regardless of length
// FREEBIE
8 years ago
Michael Kirk eb0399f040 Fix "Call failed" due to deadlock when immediately terminating call
It's not clear why we were ever dispatching `sync` here.

Before this:

Place a call
See "connecting..."
Hang up
UI hangs for ~5 seconds
See "call failed" on CallKit screen
Press "cancel" on CallKit screen
returned to responsive app.

// FREEBIE
8 years ago
Matthew Chen 81ed045718 Disable the "scroll to new message" animation.
// FREEBIE
8 years ago
Matthew Chen b9b81ca8ef Honor call privacy settings in call notifications.
// FREEBIE
8 years ago
Michael Kirk da32570dc6 [SSK] remove convoluted dependency
Moved query method to PhoneNumberUtil since that's they only caller.
Moved corresponding tests to SSK

// FREEBIE
8 years ago
Michael Kirk c39a26659e Merge pull request #1860 from WhisperSystems/mkirk/intern-pastelog
Intern pastelog
8 years ago
Matthew Chen 97210b4073 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen bf2db32f85 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 539e665589 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen f0e7e635f2 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9ae047a1da Add progress & disable media views while uploading attachments.
// FREEBIE
8 years ago
Matthew Chen 3dc7f2528f Align the message state indicators with the behavior on Android and desktop.
// FREEBIE
8 years ago
Matthew Chen 029ae00bb2 Align the message state indicators with the behavior on Android and desktop.
// FREEBIE
8 years ago
Matthew Chen 442546fba8 Align the message state indicators with the behavior on Android and desktop.
// FREEBIE
8 years ago
Matthew Chen 1820fdbde8 Merge remote-tracking branch 'origin/hotfix/2.8.3' 8 years ago
Michael Kirk 42975e44e8 better debug log copy
"Email Support" and "Open a Bug Report"

// FREEBIE
8 years ago
Michael Kirk 8adba61b37 intern Pastelog back into Signal.
Not worth the cocaopods/framework/project mgmt machinery for making
changes to 1 class.

// FREEBIE
8 years ago
Matthew Chen b9705cfe06 Fix sending attachments from the camera.
// FREEBIE
8 years ago
Michael Kirk 1e3f0fffeb Invert logging condition. (#1855)
We don't want to log here normally, only when we detect weird strings.

// FREEBIE
8 years ago
Matthew Chen a264d9aa9b Responding to CR.
// FREEBIE
8 years ago
Matthew Chen a226a4a1b3 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen e5fdaa1323 Fix filtering of country codes in registration flow.
* Filtering wasn't working; it has been fixed.
* I've added support for arbitrary partial matches and matching based on country code and calling code.

// FREEBIE
8 years ago
Matthew Chen 3440746173 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen e6e4290fa9 Limit size of outgoing text messages.
// FREEBIE
8 years ago
Matthew Chen 82179c6d47 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3048a0146f Fix non-contact lookup for non-US users.
// FREEBIE
8 years ago
Matthew Chen 47df77f38c Only run "enable video calling" migration if user is registered.
// FREEBIE
8 years ago
Matthew Chen e00449172d bump build
// FREEBIE
8 years ago
Michael Kirk 62073a14a5 Maintain AR when scaling avatar
// FREEBIE
8 years ago
Michael Kirk 861e074c15 clarify call integration copy
// FREEBIE
8 years ago
Matthew Chen 19aac08bec Fix thread-safety assert when sending video attachments.
// FREEBIE
8 years ago
Michael Kirk 8c81b4c82e update translations
// FREEBIE
8 years ago
Michael Kirk fed7569366 bump build
// FREEBIE
8 years ago
Michael Kirk aa268e36c2 This constructor can return nil
seeing frequent crash in the wild on this line, maybe this is why?

// FREEBIE
8 years ago
Michael Kirk 3ee1d5568c Migrate existing users to RTC calling
// FREEBIE
8 years ago
Matthew Chen dc422f7b00 Convert "is logging enabled" methods to class methods so that they can safely be used before Environment has been initialized.
// FREEBIE
8 years ago
Matthew Chen 5a130703f9 Update conversation view title when group name changes.
// FREEBIE
8 years ago
Matthew Chen 081956c2b4 Update conversation view title when group name changes.
// FREEBIE
8 years ago
Matthew Chen 1c95eb5d51 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 43857a4c78 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 68838dbaa7 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen bcf43683f6 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 58e273b1a3 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen bdc729ad29 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 164db41c29 Move TSImageQuality enum.
// FREEBIE
8 years ago
Matthew Chen 27b515ea45 Add AttachmentApprovalViewController.
// FREEBIE
8 years ago
Matthew Chen cd928cd9be Update MessagesViewController to use SignalAttachment.
// FREEBIE
8 years ago
Matthew Chen 7f2810af3f Update MessagesViewController to use SignalAttachment.
// FREEBIE
8 years ago
Matthew Chen ec595f53d0 Gather attachment-related logic in SignalAttachment class.
// FREEBIE
8 years ago
Ian Henderson 58f1a71ce2 Separate safety number camera image into a separate image view so it can be properly centered.
Insted of using fixed image and text insets to try to center this image,
split the image out into a separate view and center it properly using a
constraint.  Touches still pass through to the button underneath.

Fixes #1622.  FREEBIE
8 years ago
Kevin Beaulieu bc1b2fe473 Restrict default avatars to alphanumeric initials (#1519) (#1563) 8 years ago
christophhagen 9178b69f97 Issue1602 + small bug fix FREEBIE (#1799)
- Dismiss Fingerprint View Controller after successful verification
- Restore Fingerprint View Controller layout after failed verification
8 years ago
Kamal Nath Narayanan 153d4addb9 requestAccessForMediaType completionHandler to be called in UI thread. This leads to inconsistent behaviour once the permission is given 8 years ago
Michael Kirk d8c4558c80 [SSK] Attachment digests
// FREEBIE
8 years ago
Matthew Chen 15e14a9b5c Convert "is logging enabled" methods to class methods so that they can safely be used before Environment has been initialized.
// FREEBIE
8 years ago
Michael Kirk fb474a2a1a Bump version
// FREEBIE
8 years ago
Michael Kirk 3b1c5214c7 pull latest translations
// FREEBIE
8 years ago
Michael Kirk 28bcf0fc31 bump build
// FREEBIE
8 years ago
Michael Kirk 3e651fb8df filter undisplayable text
// FREEBIE
8 years ago
Michael Kirk a9b722ae16 bump build
// FREEBIE
8 years ago
Michael Kirk 6e46571627 Fix type error, cast to proper type
// FREEBIE
8 years ago
Michael Kirk 5ec8a24d34 Turn off screen when held to ear
// FREEBIE
8 years ago
Michael Kirk 61a3765cf7 bump build
// FREEBIE
8 years ago
Michael Kirk e3eca4db7b stop videoCapture until video track is enabled to save some battery
Instruments showed a reduction from ~65% -> ~45% while on audio only
call on iPhone5c.

// FREEBIE
8 years ago
Michael Kirk 337c408810 pull latest translations
// FREEBIE
8 years ago
Michael Kirk 3cfcdb8aba Bump build
// FREEBIE
8 years ago
Matthew Chen a26afdbca9 Refine icons and spacing.
// FREEBIE
8 years ago
Michael Kirk f9cb5d4243 bump build
// FREEBIE
8 years ago
Michael Kirk 505aaa3795 tweak copy
// FREEBIE
8 years ago
Michael Kirk bb9d96efc3 pull latest translations
// FREEBIE
8 years ago
Michael Kirk 28af9d33a2 bump build
// FREEBIE
8 years ago
Michael Kirk 9b2eb80392 Code review on new-features
* use page view controller
* UIPageControl instead of arrows for idiomatic swiping
* Nudge title lower
* better hit area for dismiss
* use darker blue for text
* Open privacy settings from callkit update screen
* tweak copy
* latest translations

// FREEBIE
8 years ago
Michael Kirk 6aa6f4895b Combine callkit sections
// FREEBIE
8 years ago
Michael Kirk b371e627c4 one-time carousel of changes
// FREEBIE
8 years ago
Matthew Chen d49d6077da Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5db7a79356 Fix calling codes in registration flow.
// FREEBIE
8 years ago
Michael Kirk f37b8bac0f Fix test to use updated PeerConnectionClient API
// FREEBIE
8 years ago
Matthew Chen e96692d702 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 012dd3d192 Add “nag” to call settings view that prods the user to change their privacy settings after calls.
// FREEBIE
8 years ago
Matthew Chen ad3b3f924d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5d60b7caad Fix back button in “new conversation” view.
// FREEBIE
8 years ago
Matthew Chen c1aea91d1b Fix build break.
// 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
Matthew Chen 4515b7fbc0 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a20a21867e Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c35c118dcd Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 01d2582074 Add and honor the “CallKit Privacy” setting.
// FREEBIE
8 years ago
Matthew Chen f5004b27ab Add and honor the “CallKit Privacy” setting.
// FREEBIE
8 years ago
Matthew Chen 065d383c15 Add and honor the “CallKit Privacy” setting.
// 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
Michael Kirk 7a3da3fa68 Bump release target
// FREEBIE
8 years ago
Matthew Chen f4453eb995 Enable WebRTC-based audio and video calls by default.
// FREEBIE
8 years ago
Matthew Chen 165e5238cf Simplify the prekey check on app launch and activation.
// FREEBIE
8 years ago
Darren W bf3a673443 Add accessibility labels for the Create New Group and Settings navigation bar buttons. FREEBIE. 8 years ago
Michael Kirk e5c6d0db9a fix potential deadlock
// FREEBIE
8 years ago
Matthew Chen a4093a5f7f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b1744c2b4a Refine the settings button of the home view.
// FREEBIE
8 years ago
Matthew Chen 29b30099a0 Refine icons sizes and layout again.
// FREEBIE
8 years ago
Matthew Chen 353fa57544 Rework messages view's navigation bar.
// FREEBIE
8 years ago
Matthew Chen daa87974dc Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 57c60deda2 Further refine the registration and verification views.
// FREEBIE
8 years ago
Matthew Chen 04409e0cd3 Improve image scaling quality.
// FREEBIE
8 years ago
Matthew Chen 2fb89ae8b4 Merge remote-tracking branch 'origin/release/2.7.1'
// FREEBIE
8 years ago
Matthew Chen ed0c16855d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5bd44673ea Add sharing of attachments.
// FREEBIE
8 years ago
Matthew Chen 5d48b126e9 Don’t ignore WebRTC setting changes if user dismisses settings before success.
// FREEBIE
8 years ago
Matthew Chen 927eed7a15 Remove “beta” copy from WebRTC calling setting UI.
// FREEBIE
8 years ago
Matthew Chen 6b2af9ca87 Bump build number to 2.7.1.2.
// FREEBIE
8 years ago
Matthew Chen 34d4d6520a Bump build number.
// FREEBIE
8 years ago
Matthew Chen c7d08fba46 Avoid checking prekeys twice on app launch.
// FREEBIE
8 years ago
Michael Kirk cfecb03968 Update translations
// FREEBIE
8 years ago
Matthew Chen 2b15deaa7a Flush logs before submitting logs.
// FREEBIE
8 years ago
Matthew Chen 89c7bc74ce Bump version and build number.
// FREEBIE
8 years ago
Matthew Chen 49ba0ff942 Flush logs before exiting the app.
// FREEBIE
8 years ago
Matthew Chen dde8132f0e Flush logs before submitting logs.
// FREEBIE
8 years ago
Matthew Chen 6b3fabc0c1 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1a7425d63d Fix auto-formatting and filtering issues in code verification view.
// FREEBIE
8 years ago
Matthew Chen 3c3f782e7d Clean up prekey usage.
// FREEBIE
8 years ago
Matthew Chen 21e55d3be5 Mark "attempting out" messages as "unsent" on app launch.
// FREEBIE
8 years ago
Matthew Chen a52771e286 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen e48efe01c9 Improve formatting of message view controller.
// FREEBIE
8 years ago
Matthew Chen 3b1cc0dfa2 Fix present & dismiss animations for video attachment view & ensure this view is cleaned up.
// FREEBIE
8 years ago
Matthew Chen 593c3d53d4 Clean up present & dismiss animations for image attachment view.
// FREEBIE
8 years ago
Matthew Chen 6a3b462541 Add save/copy menu to the image attachment view.
// FREEBIE
8 years ago
Matthew Chen 6cf454b3b4 Improve rate-limiting error message in registration and code verification views.
// FREEBIE
8 years ago
Matthew Chen ef8735e238 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen cf828dc1cf Rework “verify code” view.
* Ensure all controls visible at all times, on all form factors, even with keyboard active.
* Improve focus (i.e. auto-focus textfield on arrival and after errors).
* Move to programmatic view creation and layout.
* Improve spacing and sizing.
* Replace “change number” button with “back” button.
* Submit code with return key.
* Improve copy for clarity.

// FREEBIE
8 years ago
Michael Kirk 2791b9551e bump build
// FREEBIE
8 years ago
Michael Kirk 4a8cfde6b3 Sync translations
// FREEBIE
8 years ago
Matthew Chen 97001018ae Clean up prekey logic.
// FREEBIE
8 years ago
Michael Kirk da2cb228ab bump build
// FREEBIE
8 years ago
Michael Kirk b3ce705541 sync translations
// FREEBIE
8 years ago
Michael Kirk 447590ac06 bump build
// FREEBIE
8 years ago
Matthew Chen dea37b422b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 06a775b41a Improve the call status messages in conversation view.
// FREEBIE
8 years ago
Michael Kirk 3ab65a2c88 Prevent CallKit timeout when placing outgoing call
More fallout from the outbound call timeout which was causing all
CallKit calls not promptly answered to show "Call Failed"

Inserting the timeout exacerbated an existing issue: We can't wait for
long before choosing to fulfill/fail an action without CallKit falling
over and assuming the call failed.

We don't actually need to consider the case where we "fail to initiate"
the outgoing call. Instead we say it started "successfully, and if there
is an error, the existing promise error handling will fail the call at
that time.

// FREEBIE
8 years ago
Michael Kirk 6cdf13ea5f Only time out the intended call
previously a followup call could get clobbered by the previous calls
timeout

// FREEBIE
8 years ago
Matthew Chen 192264e45b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen adfbcc3e27 Update views that show contacts to reflect updates.
// FREEBIE
8 years ago
Michael Kirk c087c56b0c Fix call timeout
- Previously only incoming calls had their timeout promise fulfilled
- Previously we'd stop the timeout once ringing started, but we
should continue the timeout clock until the users are speaking.

// FREEBIE
8 years ago
Michael Kirk 31378d4d9a sync translations
// FREEBIE
8 years ago
Michael Kirk b82584f22c bump build
// FREEBIE
8 years ago
Michael Kirk 2f6bf0e551 Code cleanup per CR
// FREEBIE
8 years ago
Michael Kirk 108720c2e7 End outgoing call with "No Answer" after 2 minutes
// FREEBIE
8 years ago
Michael Kirk 59059bc06c Remove unused code
A couple of weird things left after the CallInitiator refactor:

removed unused segue

confusingly, call direction was *always* incoming, even for outgoing
calls. But we weren't using it anyway.

// FREEBIE
8 years ago
Michael Kirk bf1ed9a277 Don't show callkit description pre-iOS10 (#1722)
// FREEBIE
8 years ago
Michael Kirk 633e4a157e sync latest translations
// FREEBIE
8 years ago
Michael Kirk c3971934fb bump build
// FREEBIE
8 years ago
Matthew Chen 734dec12e9 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c43063e1d6 Add “interstitial call view” that is shown during lengthy “webrtc supported” check.
// FREEBIE
8 years ago
Matthew Chen fc6035e3ff Fix layout issue with inbox unread count on home view.
// FREEBIE
8 years ago
Michael Kirk c621e3a000 [SSK] Missed calls increment unread counter
Avoid deadlock by moving unrelated DB work out of transaction

// FREEBIE
8 years ago
Michael Kirk dc9ffe40e5 Better translation comments
in response to some confusion received from translators

// FREEBIE
8 years ago
Matthew Chen ce9d9befb3 Prevent device lock during calls.
// FREEBIE
8 years ago
Matthew Chen 7eeac0c6f1 Fix bad frames in remote video.
// FREEBIE
8 years ago
Michael Kirk 6e7c18bbdd sync translations
// FREEBIE
8 years ago
Michael Kirk 31abe1178e bump build
// FREEBIE
8 years ago
Matthew Chen c6a55ee2a5 Refine video icons. 8 years ago
Michael Kirk b8711f9abc contact can be nil for outgoing redphone call
Now that it's easier to start a thread with a non-contact recipient this
is more relevant.

// FREEBIE
8 years ago
Matthew Chen 80963d88f0 Respond to CR. Remove colon from call view status prefix.
// FREEBIE
8 years ago
Matthew Chen 9a08449d83 Add “signal” copy to call view.
// FREEBIE
8 years ago
Matthew Chen 217866c588 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 228b0e7dc6 Synchronize access to remoteVideoTrack.
// FREEBIE
8 years ago
Matthew Chen ca76ec6f36 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 6f3a45ff8c Avoid crashes when deallocating remote video tracks.
// FREEBIE
8 years ago
Matthew Chen 4ae786d0a2 Ignore CallService events related to obsolete calls.
// FREEBIE
8 years ago
Matthew Chen d9bcd563b1 Avoid possible deadlock in PeerConnectionClient.
// FREEBIE
8 years ago
Michael Kirk b7fd7d7683 bump build
// FREEBIE
8 years ago
Matthew Chen 8f6483e9b4 Fix bug in the busy logic.
// FREEBIE
8 years ago
Michael Kirk ef3df49fd2 bump build
// FREEBIE
8 years ago
Matthew Chen 17fe3f66c0 Ensure audio service observation of call is always correctly wired up.
// FREEBIE
8 years ago
Michael Kirk 007d9aca7e Latest translations
// FREEBIE
8 years ago
Michael Kirk ed5e4d3c88 bump build
// FREEBIE
8 years ago
Matthew Chen b883b5c547 Show hidden call view controls when app reactivates.
// FREEBIE
8 years ago
Michael Kirk ef5c2c5416 Only show CallKit footer when showing the CallKit cell
// FREEBIE
8 years ago
Michael Kirk 90388ebd63 Coordinate "busy" state across redphone and webrtc
Previously a redphone call didn't know when the user was busy due to
webrtc and vice versa

// FREEBIE
8 years ago
Michael Kirk c4a677a0bc Fix: Second call fails
The callController exists after a first call fails due to busy. It is
not sufficient to check for it's existence.

// FREEBIE
8 years ago
Matthew Chen e34d529620 Prevent system edge swipe gestures from showing/hiding call controls.
// FREEBIE
8 years ago
Matthew Chen 53cb36e537 Callkit option should only be visible when "Video Call (Beta)" is enabled.
// FREEBIE
8 years ago
Matthew Chen 05f123c5eb Fix ongoing call check in OutboundCallInitiator.
// FREEBIE
8 years ago
Matthew Chen d7e434eb03 Modify OutboundCallInitiator to abort if there is an ongoing RedPhone or WebRTC call.
// FREEBIE
8 years ago
Matthew Chen d7138b6c83 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 660ff056e2 Modify handling of INStartVideoCallIntent and INStartAudioCallIntent if there already is an ongoing WebRTC or RedPhone call.
// FREEBIE
8 years ago
Matthew Chen 581ba937f4 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 52ba5c1325 Don’t assert when two devices call each other simultaneously.
// FREEBIE
8 years ago
Matthew Chen 6e390d40b7 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 732144c9ed Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 98caeb6a03 Be even more cautious when tearing down a PeerConnectionClient.
// FREEBIE
8 years ago
Michael Kirk a328759f0d Don't crash when incoming call on NonCallKit iOS10
Previous logic assumed "VoiceChat" mode, but when the ringer goes off,
we set "SoloAmbient" which is incompatible with that mode, causing
assertion failure.

// FREEBIE
8 years ago
Michael Kirk 43e7defa28 Stop any lingering audio session if provider resets.
I've never actually seen this happen, but I think it makes sense.

// FREEBIE
8 years ago
Matthew Chen 2216dc8d37 Revert "revert WebRTC related changes to AppAudioManager"
This reverts commit 6b4dedfefe.
8 years ago
Matthew Chen 4f9ce0c0e2 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen f9c20a36a4 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 26b3be4ec5 Improve "new conversation" view.
* Add "search by phone number" to "no contacts" mode.
* Coordinate "invite flow", "invite by SMS" and "new conversation with non-contact" to ensure only one (at most) is shown.
* Show "new conversation with non-contact" IFF phone number is known to correspond to a signal account.

// FREEBIE
8 years ago
Matthew Chen 3ae85ce2d8 Add button to start a new conversation with non-contact based on phone number in search field.
// FREEBIE
8 years ago
Michael Kirk 0a95dac616 pull latest translations
Most of these haven't actually been translated yet.

// FREEBIE
8 years ago
Michael Kirk 158fe78ae2 bump build
// FREEBIE
8 years ago
Michael Kirk a6b5555910 fixup, return nil, not 0
// FREEBIE
8 years ago
Michael Kirk 2a9aa4c852 users can opt out of CallKit
// FREEBIE
8 years ago
Michael Kirk d8df4b9e35 Can receive calls while in settings
The existing presented settings (or fingerprint verification) modals
were preventing the display of the incoming call modal.

// FREEBIE
8 years ago
Matthew Chen 5687925513 Prevent simultaneous incoming and outgoing calls from leaving CallService in a bad state.
// FREEBIE
8 years ago
Matthew Chen 0893930485 Handle “busy signal” appropriately.
// FREEBIE
8 years ago
Michael Kirk 08425853cf re-use shared call strings
// FREEBIE
8 years ago
Michael Kirk a339f52564 Only touch mutable dict only main thread
* and make nonatomic since we're only assigning it in init

// FREEBIE
8 years ago
Michael Kirk 5d0d1b725b Already on the main thread
* simplify code
* fix typo

// FREEBIE
8 years ago
Michael Kirk 6b4dedfefe revert WebRTC related changes to AppAudioManager
Initially we were using AppAudioManager in our WebRTC calling
implementation to manage call related audio, but our differences from
how redphone uses the AppAudioManager diverged too much, so instead
we're instead using CallAudioManager.

reverting these changes lest we inadvertently break something re:
RedPhone.

// FREEBIE
8 years ago
Michael Kirk b6f098bfa7 Log when receiving unknown call datachannel message
// FREEBIE
8 years ago
Matthew Chen b868f07c33 Merge remote-tracking branch 'origin/feature/webrtc' into release/2.7.0 8 years ago
Matthew Chen 36356fbff6 Avoid crashes when closing peer connection client.
// FREEBIE
8 years ago
Matthew Chen dacb2840f2 Avoid crashes when closing peer connection client.
// FREEBIE
8 years ago
Matthew Chen f81feca2d6 Avoid crashes when closing peer connection client.
// FREEBIE
8 years ago
Michael Kirk 7361418274 Merge remote-tracking branch 'origin/master' into feature/webrtc 8 years ago
Michael Kirk cd36123bf1 rename method to better reflect how its used
// FREEBIE
8 years ago
Michael Kirk 7e825648ef Show alert when trying to call a non-signal contact from Contacts.
// FREEBIE
8 years ago
Michael Kirk b35c20a06b Don't handle intents pre iOS10.
// FREEBIE
8 years ago
Michael Kirk 17b89f44aa share global callUIAdapter, outboundCallInitiator
// FREEBIE
8 years ago
Michael Kirk bbfd9ba74d Place Signal/Redphone calls from system contacts
// FREEBIE
8 years ago
Matthew Chen 535770a92e Avoid crashes when closing peer connection client.
// FREEBIE
8 years ago
Matthew Chen 4dec1e2ded Avoid crashes when closing peer connection client.
// FREEBIE
8 years ago
Matthew Chen d4ba4c446b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b415b6142f Respond to CR, mainly by fixing broken tests.
// FREEBIE
8 years ago
Matthew Chen 49bb3d942d Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen d294557bdd Rework concurrency in the signaling logic.
// FREEBIE
8 years ago
Matthew Chen dd374afdaa Rework concurrency in the signaling logic.
// FREEBIE
8 years ago
Matthew Chen d6c849eab3 Revert whitespace changes.
// FREEBIE
8 years ago
Matthew Chen af289145b5 Rework concurrency in the signaling logic.
// FREEBIE
8 years ago
Matthew Chen d0b2aaac27 Specify AVAudioSession modes for calls.
// FREEBIE
8 years ago
Michael Kirk f1d8434868 More space for non-callkit incoming call buttons (#1660)
* More space for non-callkit incoming call buttons

The "decline" and "accept" were too close together. Added a spacer, the
same size as an extra button between the two.

* Tweak spacing in call view rows.

// FREEBIE
8 years ago
Matthew Chen 8454c7dc2f Log reconnect events as such.
// FREEBIE
8 years ago
Matthew Chen 5dd4655672 Ensure audio state when call connects.
// FREEBIE
8 years ago
Michael Kirk f9497240e2 bump release target
// FREEBIE
8 years ago
Matthew Chen b5aab60985 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen e947276f73 Add drop shadows to text in call view.
// FREEBIE
8 years ago
Matthew Chen 40b3d038db Disable local video in background.
// FREEBIE
8 years ago
Michael Kirk 141a1bd176 Disable half-working call-holding feature all together
consolidated feature-disable logic for incoming/outgoing calls to make
it easier to document, and less likely to break when we *do* implement
CallHolding

// FREEBIE
8 years ago
Michael Kirk 969b73cad8 Implement call holding (call swapping still broken).
- Alice calls Bob on Signal and they start talking
- Charlie calls Alice on Not-Signal.
- Alice chooses to "Hold & Accept" putting Bob on Hold while the call with
  Charlie connects.
- If Alice ends the call with Charlie, we're back in Signal-iOS and
  talking to Bob, no problem.
- However, if, before ending the call with Charlie, Alice tries to swap
  *back* to bob, bob won't hear any audio in the callkit screen. Alice
  has to switch back to the Signal screen before the audio is transmitted.

// FREEBIE
8 years ago
Michael Kirk e425d351c7 WIP: incoming non-signal call while in outgoing signal call
Marking Signal-Call as started, changes the incoming call screen for
subsequent calls to show "Accept & End", "Send to VoiceMail" and "Accept
& Hold" instead of just "Accept" & "Decline"

Though - we don't support Holding. What we really want to see is just
"Accept & End" and "Decline | Send to Voicemail"

// FREEBIE
8 years ago
Matthew Chen c8e5884087 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9a0a7bb6b1 Show alert when user tries to activate local video without camera permissions.
// FREEBIE
8 years ago
Matthew Chen da53368bc2 Show alert when user tries to activate local video without camera permissions.
// FREEBIE
8 years ago
Matthew Chen 2ef80e569d Improve thread safety in call ui adapter and adatapees.
// FREEBIE
8 years ago
Matthew Chen 50addfa4e8 Remove camera constraints.
// FREEBIE
8 years ago
Matthew Chen 6ce33381a8 Prevent screen from dimming or device from locking during video call.
// FREEBIE
8 years ago
Matthew Chen 40d7944120 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9e34f87f0d Fix issues around how remote/local video states affect call view.
// FREEBIE
8 years ago
Matthew Chen 699b364ec7 Show/hide call view controls in remote video mode if user taps screen.
// FREEBIE
8 years ago
Michael Kirk 459d0d6012 Working around a bizarre crash on iOS 9
Without this, I get a SEGFAULT on iOS 9.3 device 1 in 3 calls when
accessing the RTC extern constants. Swift bug?

Currently using XCode 8.2

// FREEBIE
8 years ago
Michael Kirk fff061ff3f Make sure WebRTC preferences are synced *every* call
This slows the UI, but only for people who have locally opted into
WebRTC calls, and the alternative is that users are likely to have stale
settings the first time a pair of people opt-in.

// FREEBIE
8 years ago
Matthew Chen fe140b0da5 Updated the button icons in the call view’s “remote video” mode.
// FREEBIE
8 years ago
Matthew Chen bc00b87783 Reply to CR.
// FREEBIE
8 years ago
Matthew Chen 9c3ecbc77d Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen d560aa022a Reworked call view’s remote video mode. 8 years ago
Matthew Chen e2d6c574df Fix guard syntax.
// FREEBIE
8 years ago
Matthew Chen 204aeab69c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen ec1f77c630 Polish video calls.
* Send and handle messages around video status.
* Fix handling of callee data channel.
* Fix layout of local video view.

// FREEBIE
8 years ago
Matthew Chen 48ca4fe865 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 0c7f183ac8 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a65d3b7c4e Add video-related views.
// FREEBIE
8 years ago
Michael Kirk 814aec6cdd Recover CallKit state when remote client fails to hangup
Distinguish between localHangup, remoteHangup, and call failure.

This allows us to put CallKit in the proper state, ready to receive new
calls without having a backlog of phantom calls which haven't been
properly removed.

Note the "call error" occurs at the point ICE fails, which takes a
while. Anecdotally, like 10 seconds, which feels like a long to be
talking into the ether.

I briefly considered failing at 'disconnected', which happens much
sooner, but that's actually a recoverable state. E.g. if you toggle
airplane mode you can see that you bounce into `disconnected` and then
back to `connected`, so I don't think we'd want to fail the call as long
as WebRTC considers it "recoverable".

// FREEBIE
8 years ago
Michael Kirk 20e037ad8a bump build
// FREEBIE
8 years ago
Michael Kirk 6c14f2f500 Fix "Answer" from iOS9 notification doesn't init audio
The removed code was from an older eon. CallService shouldn't be touched
except via the CallUIAdapter since only there is the omnipresent
distinction between CallKit vs. NonCallKit made.

i.e. when the RTCAudioSession get's started depends on the
CallUIAdaptee.

// FREEBIE
8 years ago
Michael Kirk d3e6747499 Merge remote-tracking branch 'origin/master' into feature/webrtc 8 years ago
Michael Kirk 5856e351ae Respect WebRTC calling preference (#1640)
TODO: this is going to be weird when two parties are *just* enabling
webrtc for the first time. We might want to do something as drastic as
refetch contact information before completing the call.

// FREEBIE
8 years ago
Michael Kirk 1de5a51fea Pull latest translations
// FREEBIE
8 years ago
Michael Kirk 4e72ab92c8 Prevent session corruption by using a single serial queue for encrypt and decrypt
coordinate SignalProtocol encryption/decryption on a single serial
queue. Previously message sending encrypted on the sending thread, while
message receiving decrypted on the main thread.

// FREEBIE
8 years ago
Michael Kirk c4eecb24d7 bump release target
// FREEBIE
8 years ago
Michael Kirk a6029f2545 Merge remote-tracking branch 'origin/master' into feature/webrtc 8 years ago
Michael Kirk 6af933c17d Merge branch 'release/2.6.13' 8 years ago
Michael Kirk 333fb6c60f assert on main thread
// FREEBIE
8 years ago
Michael Kirk b2091431dc Fix retain cycle
// FREEBIE
8 years ago
Michael Kirk 87ed662116 Persist AudioService if CallViewController is dismissed
...in response to CR, move the AudioService off of the CallViewController

Adopt multiple observer pattern vs. a singular delegate. Doing so
required implementing some machinery to address the ARC (see:
Weak.swift)

// FREEBIE
8 years ago
Michael Kirk 3ee94d57d9 Only NonCallKit adaptee uses manual ringing
- stop executing ringer code on CallKit which manages ringing for us.
- Organize ringing code more clearly.

// FREEBIE
8 years ago
Michael Kirk 4c23b5e23f Remove dependency on AppAudioManager
Implement speakerphone toggle directly. Previously we were using
AppAudioManager for several things, but this is that last lingering bit.
Much of the AppAudioManager code is based on RedPhone calling, so by
removing the dependency we pave the way to throw that code away.

// FREEBIE
8 years ago
Michael Kirk 4374e431a2 Respect silent switch in and out of app.
// FREEBIE
8 years ago
Michael Kirk a89bde933d Respect silent-switch pre-CallKit
8 Cases considered:

(Silent Switch toggled vs. Silent Switch not-toggled)
x (App in Foreground vs. App in Background)
x (CallKit vs. NonCallKit)

CallKit already does the "right thing"

// FREEBIE
8 years ago
Matthew Chen d4dbe7f44f Disable unused CallKit buttons.
// FREEBIE
8 years ago
Matthew Chen 229d95ecbf Respond to CR.
// FREEBIE
8 years ago
Michael Kirk d6f2fa92a6 remove negative notification
There isn't much the user can do in response to it, and the user will
get a subsequent "new message" notification when the fallback push
triggers.

// FREEBIE
8 years ago
Michael Kirk 907e122d62 Migrate legacy db stored logging preferences to NSUserDefaults
This is part of making sure we can log *before* the DB is initialized.

// FREEBIE
8 years ago
Michael Kirk 2355c74173 fixup condition
// FREEBIE
8 years ago
Michael Kirk 870fb960a2 Start logging earlier in app setup.
Because logging-preference was previously stored on the storageManager
this meant we couldn't possible log anything related to the init'ing the
storage manager.

TODO: migrate old logging preference to use the new NSUserDefaults
setting

// FREEBIE
8 years ago
Michael Kirk d9cfb38854 bump build
// FREEBIE
8 years ago
Michael Kirk 9516ab1106 Bail on startup if DB password is inaccessible
Most likely this would be  because the user hasn't unlocked their device
since last restart.

This behavior existed once before, but the startup ordering is pretty
delicate. So, we're now redundantly checking in SSK in case this
delicate startup logic gets mis-ordered again.

Also fixed the AppDelegate method to check for the proper
applicationState, since it will never be "active" in didFinishLaunching.

fixes https://github.com/WhisperSystems/Signal-iOS/issues/1627

// FREEBIE
8 years ago
Matthew Chen 9e739433c5 Start work on video.
// FREEBIE
8 years ago
Matthew Chen 698b914049 Elaborate logging in app delegate.
// FREEBIE
8 years ago
Michael Kirk 0e7083ed4e [SSK] remove Cuba from domain fronting
Current implementation is blocked in Cuba, plus there are reports of
Signal working w/o domain fronting anyway.

// FREEBIE
8 years ago
Michael Kirk dbb29d7d7e Don't require recording permissions until call is ringing.
We do this by manually managing the RTCAudioSession.
Unfortunately to do this we have to include a couple of RTC headers not
exported by the default build of WebRTC.framework (see: Libraries/WebRTC)

// FREEBIE
8 years ago
Michael Kirk ca218ebb64 update call signatures for test fakes
// FREEBIE
8 years ago
Michael Kirk 0797df19b9 Only update label on timer
The rest of the UI only changes on Call.state change.

// FREEBIE
8 years ago