Commit Graph

2116 Commits (b579ea59152fa01637a63eae954fd98a578fe5c9)

Author SHA1 Message Date
Matthew Chen 83d01eed76 Don’t encrypt/decrypt avatar URL or digest.
// FREEBIE
8 years ago
Matthew Chen f6bcff5427 Fix rebase breakage.
// FREEBIE
8 years ago
Matthew Chen 37ce388eb6 Add “add to profile whitelist” offer.
// FREEBIE
8 years ago
Michael Kirk ed4de7e8af Simplify code / pre-cache localNumber
Now that localNumber is read from a dedicated dbConnection we don't have
to worry about it blocking.

// FREEBIE
8 years ago
Michael Kirk f99d4e9df9 Merge branch 'hotfix/2.15.2' 8 years ago
Michael Kirk 7836867780 pull latest translations
// FREEBIE
8 years ago
Michael Kirk b29d87cb3e bump build
// FREEBIE
8 years ago
Matthew Chen 03774216a0 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 6ac4d8e971 Delete profile avatars on disk when unregistering.
// FREEBIE
8 years ago
Matthew Chen ddf3929be1 Auto-add groups to profile whitelist groups when you make them.
// FREEBIE
8 years ago
Matthew Chen ba506bf092 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 49e65ba1b1 Update user profile update date on successful update.
// FREEBIE
8 years ago
Matthew Chen 9c0f94f1c0 Fetch profiles from profile manager. Update profile manager with profile fetch results.
// FREEBIE
8 years ago
Matthew Chen 6ec756de44 Move profile manager to Signal.
// FREEBIE
8 years ago
Matthew Chen 540a0a8e48 Refine UserProfile class. Move local user properties to UserProfile.
// FREEBIE
8 years ago
Matthew Chen a70bd3307d Show threads if possible.
// FREEBIE
8 years ago
Michael Kirk 8a4712bf4c Only access localNumber on AccountManager and cache it
// FREEBIE
8 years ago
Michael Kirk 357eb62502 [DEBUG-UI] Add avatar to (some) fake contacts
// FREEBIE
8 years ago
Matthew Chen 43b3abe321 Merge branch 'hotfix/2.15.2' 8 years ago
Matthew Chen 539490ee19 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d9bc3ac806 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9c5934359e Don’t dismiss call view controller to present other view.
// FREEBIE
8 years ago
Matthew Chen 138301975c Don’t dismiss call view controller to present other view.
// FREEBIE
8 years ago
Matthew Chen 791e270578 Terminate call if call view presentation is delayed.
// FREEBIE
8 years ago
Matthew Chen 634617b7d4 Terminate call if call view presentation is delayed.
// FREEBIE
8 years ago
Michael Kirk 81d7f28253 Timer to ensure call screen shown
// FREEBIE
8 years ago
Michael Kirk c6069376d8 more logging
// FREEBIE
8 years ago
Matthew Chen f8e153fb71 Bump build from to 2.15.2.1.
// FREEBIE
8 years ago
Matthew Chen 5c4019b9c5 Bump version to 2.15.2.0.
// FREEBIE
8 years ago
Matthew Chen 282ac4bb29 Add “share profile” row to conversation settings.
// FREEBIE
8 years ago
Matthew Chen 26b668cce7 Add profile key to proto schema. Send and receive profile keys. Cache profile manager state.
// FREEBIE
8 years ago
Matthew Chen a3b16812ec Add convenience category for YapDatabaseConnection.
// FREEBIE
8 years ago
Matthew Chen a748987d72 Add option to clear profile avatar.
// FREEBIE
8 years ago
Matthew Chen 03a4ebc4d8 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 8a8f3d81fc Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen c331788c06 Modify the profile view to update profile manager state.
// FREEBIE
8 years ago
Matthew Chen 873f5208c4 Sketch out the profile view.
// FREEBIE
8 years ago
Matthew Chen 72ea096970 Sketch out the profile view.
// FREEBIE
8 years ago
Matthew Chen b62ab3f666 Merge remote-tracking branch 'origin/hotfix/2.15.1' 8 years ago
Matthew Chen 99c948568b Remove iOS 9-only APIs from layout code.
// FREEBIE
8 years ago
Michael Kirk 249a3fcabc Show proper setting for CallKitPrivacy
// FREEBIE
8 years ago
Michael Kirk 845c286b43 bump version
// FREEBIE
8 years ago
Michael Kirk 742f8cf902 Avoid unnecessariy flashing avatars
Make avatar building sync

Tests on a iPhone5 with 1k threads, 3k contacts show no noticeable lag.

Profiling shows ~4% of usage goes to contact avatar building, but once
cached, even that goes towards zero.

// FREEBIE
8 years ago
Michael Kirk 092578045e [DEBUG-UI] create fake contact threads
// FREEBIE
8 years ago
Matthew Chen 63e20cd8bb Sketch out profile manager.
// FREEBIE
8 years ago
Matthew Chen 74009a3207 Modify l10n string extraction script to reflect SSK move.
// FREEBIE
8 years ago
Matthew Chen 3c3bd3c914 Tweaks to registration views.
// FREEBIE
8 years ago
Matthew Chen 1e002f7ef2 Bump build from to 2.15.0.4.
// FREEBIE
8 years ago
Matthew Chen a0eead37c7 Ensure size of message mappings range increases monotonically.
// FREEBIE
8 years ago
Michael Kirk a196693425 Make sure DB views are ready before kicking processing job
// FREEBIE
8 years ago
Michael Kirk 6a5c6a9fc9 didBecomeActive kicks the processing queue
// FREEBIE
8 years ago
Matthew Chen 31d65c3d77 Fix RTL alignment of message footers.
// FREEBIE
8 years ago
Michael Kirk feb1061c04 Fix spinner layout on iphone5
// FREEBIE
8 years ago
Matthew Chen 43f451e236 Remove errant assert.
// FREEBIE
8 years ago
Matthew Chen 5acb3714e9 Add debug UI to enable manual censorship circumvention.
// FREEBIE
8 years ago
Matthew Chen 75c7cc4abf Add debug UI to enable manual censorship circumvention.
// FREEBIE
8 years ago
Matthew Chen d22e29ec09 Include local number when creating debug groups.
// FREEBIE
8 years ago
Matthew Chen 8f17730d9b Modify “create groups” debug UI to use current 1:1 contact.
// FREEBIE
8 years ago
Matthew Chen 653f7faca8 Add debug UI for creating groups.
// FREEBIE
8 years ago
Matthew Chen 1c3dd8cac4 Bump build from to 2.15.0.3.
// FREEBIE
8 years ago
Matthew Chen 1890039165 Hide empty conversations in home view.
// FREEBIE
8 years ago
Matthew Chen 103a7fab36 Hide empty conversations in home view.
// FREEBIE
8 years ago
Matthew Chen 6dff283de4 Update l10n strings.
// FREEBIE
8 years ago
Matthew Chen 75fb55e018 Merge tag '2.14.1.2'
// FREEBIE
8 years ago
Matthew Chen bca736a2b7 Merge tag '2.13.4.0'
// FREEBIE
8 years ago
Matthew Chen 3f805d31d5 Bump build from to 2.15.0.2.
// FREEBIE
8 years ago
Matthew Chen dd13119f12 Add more instrumentation to CallService.
// FREEBIE
8 years ago
Matthew Chen 904515994f Add more instrumentation to CallService.
// FREEBIE
8 years ago
Matthew Chen 465711c2cb Add script to extract and gather analytics event names.
// FREEBIE
8 years ago
Matthew Chen f1807cd709 Add script to extract and gather analytics event names.
// FREEBIE
8 years ago
Matthew Chen 0cf9c01af2 Add script to extract and gather analytics event names.
// FREEBIE
8 years ago
Matthew Chen 8aff95c44e Add script to extract and gather analytics event names.
// FREEBIE
8 years ago
Matthew Chen b4f348ad14 Add script to extract and gather analytics event names.
// FREEBIE
8 years ago
Matthew Chen 31ab9a00da Add script to extract and gather analytics event names.
// FREEBIE
8 years ago
Matthew Chen 6858a1e944 Fix assert in conversation view around nil title.
// FREEBIE
8 years ago
Matthew Chen 803e91c3ce Fix assert in conversation view around nil title.
// FREEBIE
8 years ago
Matthew Chen 4ac7600c07 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d4af62adcc Instrument registration happy path with analytics.
// FREEBIE
8 years ago
Matthew Chen f973af5a83 Streamline analytics properties.
// FREEBIE
8 years ago
Matthew Chen 013bf62f7c Streamline analytics properties.
// FREEBIE
8 years ago
Michael Kirk 3f4dcecf15 ensure blocking keychange message has identityKey before proceeding
This is increasingly irrelevant due to recent safety number changes, but
legacy clients with old messages can still run into this.

FIXES: https://github.com/WhisperSystems/Signal-iOS/issues/2346

// FREEBIE
8 years ago
Michael Kirk 4d8429186d Store undecrypted envelopes before doing any processing.
This lets us clear the server side queue immediately, and paves the way
for retry, give up logic.

// FREEBIE
8 years ago
Matthew Chen f4fc6de6ed Bump build from to 2.15.0.1.
// FREEBIE
8 years ago
Matthew Chen d80f470c2c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2e7fe5cfd5 Rework database observation in home and message views.
// FREEBIE
8 years ago
Matthew Chen 1f1a681180 Rework database observation in home and message views.
// FREEBIE
8 years ago
Matthew Chen c1139a3a28 Fix many leaks in the view controllers.
// FREEBIE
8 years ago
Matthew Chen f0cecfad11 Surface memory leaks by logging the deallocation of view controllers.
// FREEBIE
8 years ago
Matthew Chen 511cbbeaaf Make it easier to tap-to-edit group names in new group and update group vies.
// FREEBIE
8 years ago
Matthew Chen 863fd27abe Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 8e51b5ade1 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 958a8b4c80 Instrument CallService.
// FREEBIE
8 years ago
Matthew Chen 90945609e5 Bump version to 2.15.0.0.
// FREEBIE
8 years ago
Matthew Chen 9587aab37b Instrument network errors.
// FREEBIE
8 years ago
Matthew Chen 117bca7c48 Instrument errors in app delegate.
// FREEBIE
8 years ago
Michael Kirk c74a5c0740 CR: strong reference to migration job, clarify variable
// FREEBIE
8 years ago
Michael Kirk a5f067936c migration to fix any half-registered users
// FREEBIE
8 years ago
Matthew Chen 97772a32ff Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9eaeba9af3 Address yet another edge cases around pasteboards that contain both textual and non-textual content, e.g. a gif and the URL of that gif.
// FREEBIE
8 years ago
Matthew Chen ceb243b30b Always reload home view table when changing grouping.
// FREEBIE
8 years ago
Matthew Chen 03aacbd682 [SSK] Try applying national prefixes when parsing phone numbers.
// FREEBIE
8 years ago
Matthew Chen fdac0305cb Update analytics macros.
// FREEBIE
8 years ago
Matthew Chen 14621e1288 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 34f7cd1a47 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 02c510691c Adapt number formatting to RTL.
// FREEBIE
8 years ago
Matthew Chen 5edec99fd6 Adapt number formatting to RTL.
// FREEBIE
8 years ago
Matthew Chen 04fb3642b2 Remove .xib for home view cells; adapter home view to RTL.
// FREEBIE
8 years ago
Matthew Chen eaacac9d8b DRY up common table cell patterns.
// FREEBIE
8 years ago
Matthew Chen 96fd5e11e5 Adapt more UI elements to RTL.
// FREEBIE
8 years ago
Matthew Chen c799e18c74 Adapt voice messages UI to RTL.
// FREEBIE
8 years ago
Matthew Chen 8005cf0227 Adapt conversation settings view to RTL.
// FREEBIE
8 years ago
Matthew Chen d4e62efce5 Adapt call view to RTL.
// FREEBIE
8 years ago
Matthew Chen e2125978de Adapt "new group" and "update group" views to RTL.
// FREEBIE
8 years ago
Matthew Chen 693e74e868 Adapt conversation settings view to RTL.
// FREEBIE
8 years ago
Matthew Chen 656cc47de5 Adapt registration views to RTL.
// FREEBIE
8 years ago
Matthew Chen d4f012fbb7 Fix contact table cell and “add to block list” view.
// FREEBIE
8 years ago
Matthew Chen e15432720c Add arabic translation; begin work on right-to-left layout.
// FREEBIE
8 years ago
Michael Kirk e52248fe39 Localize JSQMessagesViewController within Signal
// FREEBIE
8 years ago
Michael Kirk 18ff072763 bump build
// FREEBIE
8 years ago
Michael Kirk be731b7b2a sync translations
// FREEBIE
8 years ago
Michael Kirk 3cbab3fe34 bump build
// FREEBIE
8 years ago
Matthew Chen a9ce1cde2f Simplify CallViewController.
// FREEBIE
8 years ago
Matthew Chen 149c64ce49 Refine call service.
// FREEBIE
8 years ago
Michael Kirk 46ddaa9cae fix: unregistered user shows "add to contacts"
// FREEBIE
8 years ago
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
8 years ago
Michael Kirk df0cf76603 Assert that mapping is set whenever accessing
// FREEBIE
8 years ago
Michael Kirk 1c9ce5eaf3 CR: Don't just build, but present, alert controller
// FREEBIE
8 years ago
Michael Kirk 5c66e5584c Adding to existing contact requires contact access
Previously we'd show an empty "list" of existing contacts.

// FREEBIE
8 years ago
Matthew Chen 8b60765627 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 81a4ebdaf5 Apply OWSTableViewController to more views.
// FREEBIE
8 years ago
Matthew Chen dc3f07cb54 Apply OWSTableViewController to more views.
// FREEBIE
8 years ago
Michael Kirk 7c6d900314 sync translations
// FREEBIE
8 years ago
Michael Kirk 33e9f2e62e bump version
// FREEBIE
8 years ago
Michael Kirk f027d400ba Bump build
// FREEBIE
8 years ago
Michael Kirk 2d23e365cb sync translations
// FREEBIE
8 years ago
Michael Kirk 9287b8560c clean up comments per code review
// FREEBIE
8 years ago
Michael Kirk fb5c17a6b4 minimize sound overlap
Because there is some asynchrony involved, there may be a blip during
the switch between sounds/audio sessions

// FREEBIE
8 years ago
Michael Kirk e3faddedbc Disallow bluetooth when user has opted for local receiver
// FREEBIE
8 years ago
Michael Kirk 524ba80b75 WIP: have ensureAudioSession set preferred input
Call it all the time, but only mutate the AVAudioSession when necessary

TODO

Can't switch to iPhone

// FREEBIE
8 years ago
Michael Kirk 220cd345f6 add comments
// FREEBIE
8 years ago
Michael Kirk ba97ff3f5f Label tweaks for device listing
// FREEBIE
8 years ago
Matthew Chen d36e60b0e9 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b6264383d3 Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
8 years ago
Matthew Chen 90dabe1c81 Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
8 years ago
Matthew Chen f52814bb70 Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
8 years ago
Matthew Chen 3f805cd4cd Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
8 years ago
Matthew Chen 5e58079e13 Update l10n strings.
// FREEBIE
8 years ago
Matthew Chen 5633982262 Bump build from to 2.14.0.3.
// FREEBIE
8 years ago
Michael Kirk b8ec353d77 Use recommended approach for speakerphone mode
From: https://developer.apple.com/library/content/qa/qa1754/_index.html

Q:  Can you explain the difference between calling the AVAudioSession method overrideOutputAudioPort: with the value AVAudioSessionPortOverrideSpeaker and using the category option AVAudioSessionCategoryOptionDefaultToSpeaker with setCategory:withOptions:error:.

A: The difference is that setting the AVAudioSessionPortOverride by calling overrideOutputAudioPort: is more transient than using the category option AVAudioSessionCategoryOptionDefaultToSpeaker.

Important: The use of both AVAudioSessionPortOverrideSpeaker and AVAudioSessionCategoryOptionDefaultToSpeaker are only applicable to the AVAudioSessionCategoryPlayAndRecord category.
Calling overrideOutputAudioPort: and setting the AVAudioSessionPortOverride to AVAudioSessionPortOverrideSpeaker is a way of temporarily overriding the output to play to the speaker. Any route change or interruption will cause the audio to be routed back to its normal route, following the last-in wins rule. Think of using overrideOutputAudioPort: in terms of what you might use to implement a Speakerphone button where you want to be able to toggle between the speaker (AVAudioSessionPortOverrideSpeaker) and the normal output route (AVAudioSessionPortOverrideNone).

Note: This property is intended to allow 3rd party applications to mimic the behavior of a Speakerphone button and therefore may change the input route as well as output route. For example, setting the AVAudioSessionPortOverride to AVAudioSessionPortOverrideSpeaker while a headset is plugged in will cause the route to change to built-in mic / built-in speaker.

// FREEBIE
8 years ago
Michael Kirk fa42b4a45b Respect disappearing message timer from lockscreen
// FREEBIE
8 years ago