Commit graph

332 commits

Author SHA1 Message Date
Matthew Chen 31ab9a00da Add script to extract and gather analytics event names.
// FREEBIE
2017-07-27 12:26:02 -04:00
Matthew Chen 1009b1ba77 Fix tests.
// FREEBIE
2017-07-26 13:26:49 -04:00
Matthew Chen f0cecfad11 Surface memory leaks by logging the deallocation of view controllers.
// FREEBIE
2017-07-26 11:59:00 -04:00
Matthew Chen 863fd27abe Respond to CR.
// FREEBIE
2017-07-26 10:52:15 -04:00
Michael Kirk a5f067936c migration to fix any half-registered users
// FREEBIE
2017-07-24 13:01:43 -04:00
Matthew Chen 04fb3642b2 Remove .xib for home view cells; adapter home view to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen e15432720c Add arabic translation; begin work on right-to-left layout.
// FREEBIE
2017-07-21 14:48:52 -04:00
Michael Kirk 84e9c33f12 Optionally link Metal/MetalKit frameworks used by WebRTC
// FREEBIE
2017-07-19 15:52:42 -04:00
Michael Kirk 17b1b70726 Remove verification debug UI
There is a more true-to-life way to set verification state - mark
someone as verified or default via the SN UI.

If they are marked as verified, you can mark them as no-longer-verified
by toggling a keychange in the debug UI

// FREEBIE
2017-07-19 09:43:30 -04:00
Matthew Chen 81555d1225 Add “new contact” and “add to existing contact” buttons in 1:1 conversation settings view.
// FREEBIE
2017-07-12 13:18:14 -04:00
Michael Kirk c0aa455714 fix tests
// FREEBIE
2017-07-12 09:44:11 -04:00
Michael Kirk 3eb90ba383 Disable singleton assert for tests
introduce a new build configuration, used by tests, which disables
singleton asserts

// FREEBIE
2017-07-11 16:36:50 -04:00
Michael Kirk 82180f6a97 fix compilation problems
// FREEBIE
2017-07-11 16:36:50 -04:00
Matthew Chen d639d6557e Add owsFail free function for swift.
// FREEBIE
2017-07-11 16:20:20 -04:00
Matthew Chen 0244e134f5 Block device from sleeping during certain activities.
// FREEBIE
2017-07-06 17:35:47 -04:00
Matthew Chen 944cd7beef Show app update nag on launch if necessary.
// FREEBIE
2017-07-06 12:56:27 -04:00
Matthew Chen 284d55ef6c Rework the debug UI.
* Move debug stats to the about view.
* Convert about view to OWSTableView.
* Add DebugUIPage.
* Add non-thread Debug UI.

// FREEBIE
2017-07-04 11:57:13 -04:00
Matthew Chen 6a5fe94d59 Improve perf of attachment stream file path upgrade.
// FREEBIE
2017-06-21 10:38:41 -04:00
Michael Kirk 4f3278db1e Fix layout of timestamp for system messages
Incorporate topLabelSize into cell size for system messages.

We are using the term "bubble size" to describe the interaction specific
views of a collection cell. It's a crappy name, but coincides with other
usage.

// FREEBIE
2017-06-19 09:16:37 -04:00
Matthew Chen c7426f9343 Avoid crashing on startup due to database view creation.
* Substitute unread view for unseen view until unseen view is ready.
* Register as many views as possible async.
* Perform blocking, safe migrations before async registration of views.
* Add debug settings view for internal app stats.
* Show blocking overlay until async registration of database views is complete.
* Convert version migrations to use AppVersions.

// FREEBIE
2017-06-15 13:44:30 -04:00
Matthew Chen 11ca51c95f Show verification state banner. Show verification state in conversation settings view.
// FREEBIE
2017-06-09 16:21:59 -04:00
Matthew Chen 58ebebc97f Move QR code scanning to a separate view.
// FREEBIE
2017-06-09 07:48:48 -04:00
Matthew Chen 3508feaec3 Convert FingerprintViewController to programmatic layout.
// FREEBIE
2017-06-08 14:55:26 -04:00
Michael Kirk d77addc01e extract session state debug utils into section
// FREEBIE
2017-06-07 10:56:23 -04:00
Matthew Chen b6ddea9eae Sketch out OWSIdentityManager.
// FREEBIE
2017-06-07 10:18:16 -04:00
Matthew Chen a013a7206e Rework and unify the system messages.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen 2cbf1e1d05 Rework and unify the system messages.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen a69c6cce4e Decompose MessagesViewController, add “scroll to bottom button”, improve scrolling behavior.
// FREEBIE
2017-06-05 16:21:26 -04:00
Michael Kirk 130aa132a0 Reject incoming calls from an unseen changed identity
// FREEBIE
2017-06-01 12:59:34 -07:00
Michael Kirk 9a2f218bf3 show SN confirmation before adding to group
* Extract SN confirmation dialog

// FREEBIE
2017-05-30 13:10:45 -07:00
Michael Kirk 1a03be8ae7 Fetch safety number upon entering thread
* uniform method to get recipients in group/contact thread
  * use it to clean up markAsSeenJob

// FREEBIE
2017-05-26 09:50:09 -07:00
Michael Kirk bb25d2beb6 IdentityKeyStore changes
1) Always accept keys from incoming messages

2) Block sending only if it's a recent change, or if always
   block is enabled

// FREEBIE

// FREEBIE
2017-05-24 18:01:24 -07:00
Matthew Chen 4680a2465a Remove registration storyboard.
// FREEBIE
2017-05-24 17:46:32 -04:00
Matthew Chen db097ab8de Fix caching of message bubble sizes.
// FREEBIE
2017-05-23 13:24:10 -04:00
Matthew Chen bc501b16f2 Let users manually specify the domain fronting country.
// FREEBIE
2017-05-22 20:34:56 -04:00
Matthew Chen 867eb7d741 Convert CountryCodeViewController.
// FREEBIE
2017-05-22 20:23:53 -04:00
Matthew Chen a37b194dc0 Add debug functions for sending media messages.
// FREEBIE
2017-05-22 20:17:56 -04:00
Matthew Chen 7b70fe674a “Add to contacts” offer.
// FREEBIE
2017-05-22 18:27:11 -04:00
Matthew Chen ac458cc7ad Add unread indicator.
// FREEBIE
2017-05-19 14:30:27 -04:00
Matthew Chen 0ec095f216 Nag users on iOS 8 to upgrade.
// FREEBIE
2017-05-18 10:09:07 -04:00
Michael Kirk 557488bc7d return iOS8 support in project files
// FREEBIE
2017-05-18 10:05:39 -04:00
Matthew Chen ea34cec0d9 Clean up ahead of PR.
// FREEBIE
2017-05-12 09:46:54 -04:00
Matthew Chen 96e155c75e Rework appearance of voice messages and audio attachments.
// FREEBIE
2017-05-12 09:46:54 -04:00
Matthew Chen 19b80d1f4b Rework the “disappearing messages” logic.
// FREEBIE
2017-05-10 15:02:16 -04:00
Matthew Chen ad3a1a671a Merge remote-tracking branch 'origin/hotfix/2.11.3' 2017-05-08 16:47:20 -04:00
Matthew Chen 34a7f9cba5 Respond to CR.
// FREEBIE
2017-05-08 14:24:32 -04:00
Michael Kirk fbcda40400 rename class, extract color
per code review

// FREEBIE
2017-05-08 11:15:45 -04:00
Michael Kirk a58a71f8f4 no contacts banner -> system settings 2017-05-08 11:15:45 -04:00
Matthew Chen 0c4351a908 Use SignalAccount class to sync contacts.
// FREEBIE
2017-05-05 20:57:35 -04:00
Michael Kirk ce2ee759f8 Update to latest recommended xcode.proj settings
// FREEBIE
2017-05-05 14:26:29 -04:00
Matthew Chen 363d84fd2d Update “new conversation” view to use OWSTableView, contacts view helper, etc.
// FREEBIE
2017-05-05 10:42:42 -04:00
Michael Kirk 2ec893d315 Ensure we're retaining all promises to completion
// FREEBIE
2017-05-04 15:15:14 -04:00
Michael Kirk b24cf29189 don't request contacts until necessary
Most commonly this will be after hitting the "compose" button

But also we'll do it in the SignalViewController once you've received a
message.

- get rid blocking contacts nag
- use Contacts framework simplifies logic
- remove dead AB code

// FREEBIE
2017-05-04 09:47:04 -04:00
Matthew Chen 2bec1db541 Respond to CR.
// FREEBIE
2017-05-02 10:54:07 -04:00
Matthew Chen 6801963a1b Add SignalAccount class.
// FREEBIE
2017-05-02 09:28:50 -04:00
Matthew Chen 42768294ee Extract labels for phone numbers.
// FREEBIE
2017-05-02 09:28:50 -04:00
Matthew Chen 61f59067b6 Improve contact-related views.
* Add support for contacts with more than one Signal account using ContactAccount class.
* Use OWSTableViewController in contact-related views.
* Let users add non-contacts to groups.
* Improve the "new group" and "edit group" views.
* Add utility methods for displaying alerts.
* Warn users before discarding unsaved changes in "edit group" view.
* Pull out "contact view helper" to de-duplicate common logic among contact-related views.
* Pull out "group view helper" to de-duplicate common logic among group-related views.
* Pull out new base class for view used to add accounts to groups or the block list.

// FREEBIE
2017-05-02 09:28:02 -04:00
Matthew Chen 6e36ce97a5 Let users share imported files to a thread or contact of their choice.
// FREEBIE
2017-04-26 13:29:56 -04:00
Michael Kirk 70d235a670 Choose arbitrary attachments from iCloud/GDrive/Dropbox/etc
// FREEBIE
2017-04-20 18:49:30 -04:00
Matthew Chen eb23252c6c Fix timer retain cycle.
// FREEBIE
2017-04-20 17:54:08 -04:00
Matthew Chen 980d726a48 Add audio attachment player.
* Fix two bugs around play/pause button appearance.
* Fix bugs around stopping playback when leaving view/entering background.
* Fix bugs around cleaning up playback state  when leaving view/entering background.
* Fix audio playback vs. hardware mute button.
* Improve handling of invalid audio attachments.

// FREEBIE
2017-04-20 09:44:25 -04:00
Michael Kirk d9e3e87735 New downloading progress view (#2006)
Replace previous "scary" warning-style attachment notifications with
something less alarming.

Includes file name and file type emoji when discernable.

// FREEBIE
2017-04-19 18:50:27 -04:00
Matthew Chen b2664158b1 Pause animated gifs when offscreen; clean up media views more aggressively.
// FREEBIE
2017-04-19 11:45:06 -04:00
Matthew Chen bfd29cd994 Send contacts sync messages whenever the contacts change.
// FREEBIE
2017-04-19 10:25:33 -04:00
Matthew Chen f38f3d8887 [SSK] Update SignalAttachment to allow arbitrary attachments.
// FREEBIE
2017-04-13 15:27:55 -04:00
Matthew Chen 54cd8cfa3c Add blacklist controls to 1:1 conversation view.
// FREEBIE
2017-04-05 09:09:13 -04:00
Matthew Chen 271cc6f07e Sketch out BlockListViewController and AddToBlockListViewController.
// FREEBIE
2017-04-03 17:49:06 -04:00
Matthew Chen a155df161f Pull out OWSTableViewController.
// FREEBIE
2017-04-03 17:49:06 -04:00
Matthew Chen d12a582ee3 Rename source directories with a space in their name.
// FREEBIE
2017-03-31 11:58:52 -04:00
Michael Kirk 0b49037179 Remove some more RP related code
// FREEBIE
2017-03-30 11:00:28 -04:00
Matthew Chen 4649fcfd20 Add "oversize test message" view.
// FREEBIE
2017-03-30 09:51:49 -04:00
Matthew Chen 80fbc093d9 Handle oversize text messages and arbitrary attachments.
// FREEBIE
2017-03-29 14:34:21 -04:00
Matthew Chen 6b8d4ea7ae Sketch out debug UI.
// FREEBIE
2017-03-29 12:44:32 -04:00
Matthew Chen 9db33a9651 Remove RedPhone code.
// FREEBIE
2017-03-29 12:25:33 -04:00
Michael Kirk f29ca7851f Move PureLayout back to cocoapods for now
This introduced some unexpected crashes related to frameworks in Swift.

// FREEBIE
2017-03-23 21:48:59 -04:00
Michael Kirk f2728d461b Remember to copy PureLayout.framework
// FREEBIE
2017-03-23 21:00:18 -04:00
Matthew Chen 814c6d2505 Only initiate WebRTC calls, not RedPhone calls.
// FREEBIE
2017-03-22 17:02:42 -04:00
Michael Kirk da32570dc6 [SSK] remove convoluted dependency
Moved query method to PhoneNumberUtil since that's they only caller.
Moved corresponding tests to SSK

// FREEBIE
2017-03-20 15:35:09 -04:00
Michael Kirk c39a26659e Merge pull request #1860 from WhisperSystems/mkirk/intern-pastelog
Intern pastelog
2017-03-20 14:38:29 -04:00
Matthew Chen 9ae047a1da Add progress & disable media views while uploading attachments.
// FREEBIE
2017-03-20 12:55:35 -04:00
Matthew Chen 442546fba8 Align the message state indicators with the behavior on Android and desktop.
// FREEBIE
2017-03-20 12:55:35 -04:00
Matthew Chen 1820fdbde8 Merge remote-tracking branch 'origin/hotfix/2.8.3' 2017-03-20 12:55:05 -04:00
Michael Kirk 8adba61b37 intern Pastelog back into Signal.
Not worth the cocaopods/framework/project mgmt machinery for making
changes to 1 class.

// FREEBIE
2017-03-17 17:37:32 -04:00
Michael Kirk 99c982fbb2 change ZXing to framework for faster incremental compiles in xcode
// FREEBIE
2017-03-16 12:04:45 -04:00
Michael Kirk 3ee1d5568c Migrate existing users to RTC calling
// FREEBIE
2017-03-14 18:59:48 -04:00
Matthew Chen cd928cd9be Update MessagesViewController to use SignalAttachment.
// FREEBIE
2017-03-14 10:23:16 -03:00
Michael Kirk 3e651fb8df filter undisplayable text
// FREEBIE
2017-03-09 17:52:19 -05:00
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
2017-03-02 22:09:33 -05:00
Michael Kirk b371e627c4 one-time carousel of changes
// FREEBIE
2017-03-02 14:37:50 -05:00
Matthew Chen a4093a5f7f Respond to CR.
// FREEBIE
2017-02-17 17:30:49 -05:00
Matthew Chen 5bd44673ea Add sharing of attachments.
// FREEBIE
2017-02-17 09:39:58 -05:00
Michael Kirk 2791b9551e bump build
// FREEBIE
2017-02-10 17:42:21 -05:00
Matthew Chen 97001018ae Clean up prekey logic.
// FREEBIE
2017-02-10 16:35:16 -05:00
Matthew Chen c43063e1d6 Add “interstitial call view” that is shown during lengthy “webrtc supported” check.
// FREEBIE
2017-02-07 17:17:06 -05:00
Michael Kirk bbfd9ba74d Place Signal/Redphone calls from system contacts
// FREEBIE
2017-02-01 18:56:37 -05:00
Matthew Chen 699b364ec7 Show/hide call view controls in remote video mode if user taps screen.
// FREEBIE
2017-01-30 14:04:57 -05:00
Michael Kirk e556a369bb Include missing files to fix tests
// FREEBIE
2017-01-26 15:00:02 -05:00
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
2017-01-26 13:18:06 -05:00
Michael Kirk a6029f2545 Merge remote-tracking branch 'origin/master' into feature/webrtc 2017-01-25 09:54:33 -05:00
Michael Kirk b2091431dc Fix retain cycle
// FREEBIE
2017-01-24 14:13:29 -05:00