Commit Graph

449 Commits (d81e400693760fca2ff11f16d4d45db67c9b5cb4)

Author SHA1 Message Date
Matthew Chen d2f2dd273a Fix edge cases in migrations. 7 years ago
Michael Kirk 4ac9a1019b Media page view controller
First pass at a swipe-through media view for conversations.

Future work could include

- title label per item
  - sender name
  - date/time
- photo rail
- include caption

// FREEBIE
7 years ago
Matthew Chen 4746948dfe Respond to CR. 7 years ago
Matthew Chen 76b4deffe4 Respond to CR. 7 years ago
Matthew Chen 5035cb040e Implement backup import logic. 7 years ago
Matthew Chen a91eea9a17 Fix rebase breakage. 7 years ago
Matthew Chen 593f7da72d Upload test file to CloudKit. 7 years ago
Michael Kirk c5ff9a94a0 Merge tag '2.22.0.3' 7 years ago
Michael Kirk 173008fba9 Clarify reminder view, touchup layout
Layout needs to be kept tight for small form factors, but it was overly
cramped on larger devices.

// FREEBIE
7 years ago
Collin B. Stuart 6f7b4a6e43 Strip media metadata.
- removes non-orientation metadata from image and video attachments

- option to disable the feature

// FREEBIE
7 years ago
Michael Kirk 319e0d808f Merge tag '2.21.0.14' into release/2.22.0 7 years ago
Michael Kirk 3aebaefc31 A lighter touch for the fix-call connect.
Though it should be fine, reloading the callUIAdapter is a bit heavy
handed. And the current implementation is prone to being broken, since
we sometimes forget not to treat callUIAdapter as a singleton.

Longer term we can find a way to either: make callUIAdapter a true
singleton or possibly make callUIAdapter a private member of something
which *is* a true singleton.

Since we only *need* it to be reloaded the one time the migration runs
(or when a user changes settings which should be rare) it makes sense to
remove it from the happy path.

// FREEBIE
7 years ago
Michael Kirk bbdcd0c768 Call connection fixups
callUIAdapter is not a singleton (for better or for worse)

No one should hold a reference directly to it, but rather via the
CallService, which is a singleton

Wait a bit longer for initial call screen before terminating. Especially
first call can hit this limit.

When call *does* take too long to show, terminate properly to ensure
we're not left with a phantom call

// FREEBIE
7 years ago
Michael Kirk 74ccdfdf2c Fix redundant profile downloads
// FREEBIE
7 years ago
Michael Kirk a1de99f1f1 Merge tag '2.21.0.9' 7 years ago
Michael Kirk 39b87b702b Fix debuglogs.org integration
// FREEBIE
7 years ago
Matthew Chen db430d6aa7 Revert unwanted changes. 7 years ago
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 7 years ago
Michael Kirk f459c9ce6d CR: rename SignalClassic constant
// FREEBIE
7 years ago
Michael Kirk 5739f074ae Show migration screen at first launch.
sort sounds alphabetically (other than Default/None)

// FREEBIE
7 years ago
Michael Kirk 55a4b66ca3 Run call settings migration
// FREEBIE
7 years ago
Michael Kirk 1ddf3bb4e1 Fix "use ambient" for notifications
// FREEBIE
7 years ago
Michael Kirk 126a4cb7ca Fix build break
// FREEBIE
7 years ago
Michael Kirk 79ee5ed216 Be more conservative about logging legacy users into "Recents"
// FREEBIE
7 years ago
Michael Kirk 4e64b09ad6 Don't set audio to ambient while other audioActivity exists
// FREEBIE
7 years ago
Michael Kirk 830e9f1bfd Make "Signal Classic" audio stand out more
// FREEBIE
7 years ago
Michael Kirk 7883167265 Fix "None" audio for fallback notifications.
// FREEBIE
7 years ago
Michael Kirk d3be2b4a3b Vibrate when playing sound as alert
// FREEBIE
7 years ago
Michael Kirk d7fcac8a5a In-App notifications don't pause background audio
// FREEBIE
7 years ago
Matthew Chen 4f55079a79 Respond to CR. 7 years ago
Matthew Chen 2d6b9a7c81 Respond to CR. 7 years ago
Matthew Chen 9db9409561 Share background tasks. 7 years ago
Michael Kirk 07ee3ea843 Merge tag '2.21.0.5' 7 years ago
Michael Kirk 1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

// FREEBIE
7 years ago
Michael Kirk 6077367e66 Notification sounds should respect silent switch
// FREEBIE
7 years ago
Michael Kirk 1ff2f3f42e Merge tag '2.21.0.1' 7 years ago
Matthew Chen 864f1cc8ee Clean up ahead of PR. 7 years ago
Matthew Chen 4834a85fb5 Add share option for debug logs. 7 years ago
Matthew Chen 06d16bdec5 Revert "Revert "Merge branch 'charlesmchen/debugLogs' into hotfix/2.20.1""
This reverts commit b1dd325ce8.
7 years ago
Matthew Chen e89a0f815b Respond to CR. 7 years ago
Matthew Chen 5e02032fc3 Fix profile avatar downloads. 7 years ago
Matthew Chen 69c49d4a7b Fix profile avatar downloads. 7 years ago
Matthew Chen b62a43217f Fix profile avatar downloads. 7 years ago
Matthew Chen 15921fa0b5 Fix profile avatar downloads. 7 years ago
Matthew Chen dfa082238e Fix profile avatar downloads. 7 years ago
Michael Kirk 1d7e2e367e Fix migration to work with fallback notifications as well
// FREEBIE
7 years ago
Michael Kirk 46d944740b Make default audio tone more prominent
Label Note as (default)
Move it to the second item in the list, just after "None"

// FREEBIE
7 years ago
Matthew Chen 59c745756a Clean up codebase. 7 years ago
Matthew Chen 3acdd84398 Elaborate request factory. 7 years ago
Matthew Chen 004479a2ce Elaborate request factory. 7 years ago
Matthew Chen c17a819366 Elaborate request factory. 7 years ago
Matthew Chen a87b79341f Respond to CR. 7 years ago
Matthew Chen baf6fcc535 Add 2FA registration view. 7 years ago
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 7 years ago
Matthew Chen 1f6cbd399e Sketch out 2FA feature. 7 years ago
Michael Kirk fa37fdd300 Fix legacy sounds for voip pushes
This way users who were unknowingly upgraded in the night will continue
to hear the ka-klunk until they've seen the splash screen announcing the
feature.

// FREEBIE
7 years ago
Michael Kirk e5ab6f101b Clean up audio files
- remove unused classic-ringtone
- move classic with the rest of the message sounds

// FREEBIE
7 years ago
Matthew Chen bf48ccd4ad Merge remote-tracking branch 'origin/hotfix/2.20.1' 7 years ago
Michael Kirk cf6dfe08bb Custom audio notifications upgrade experience
TODO: update art
7 years ago
Matthew Chen b1dd325ce8 Revert "Merge branch 'charlesmchen/debugLogs' into hotfix/2.20.1"
This reverts commit de5d17a396, reversing
changes made to d32e90c3d1.
7 years ago
Matthew Chen e4ee3e0007 Revert "Respond to CR."
This reverts commit 45201d45ed.
7 years ago
Matthew Chen 45201d45ed Respond to CR. 7 years ago
Matthew Chen 47a6d844c9 Refine handling of unsafe filename characters. 7 years ago
Matthew Chen 920c2b1d76 Rework log upload. 7 years ago
Michael Kirk f1f7f87457 Use aifc files for all notification sounds so we can confidently copy
them over the statically named "NewMessage.aifc" which is used by
fallback notifications

// FREEBIE
7 years ago
Michael Kirk e020b0ff99 Persist default sound so we can use it for fallback notifications
// FREEBIE
7 years ago
Michael Kirk 658b8c3223 CR: typos and doc changes
// FREEBIE
7 years ago
Michael Kirk 5959cdf070 Simplify call privacy settings
We've long allowed users to configure what shows up in message
notifications:

- name: content (by default)
- just name (no content)
- generic notification (no name nor content)

Now we're dual purposing that setting to apply to calls. If someone
doesn't want to show names in the message notifications, presumably also
don't want that name showing up in the call log.

Also, since the earlier CallKit/iCloud issues had been addressed before
iOS11, we upgrade all iOS11 users to the more intuitive CallKit
interface.

Also: introduce "use system call logs" toggle when available. It will be
enabled by default, but we disable it for legacy users who'd explicitly
opted *out* of CallKit.

// FREEBIE
7 years ago
Matthew Chen 5b9ab0cf5d Auto-disable CallKit privacy in iOS 11 and later. 7 years ago
Matthew Chen 38ff82ab97 Rebrand OWSAudioPlayer. 7 years ago
Matthew Chen 306af29d6f Restore "sonar ping" for "call connecting." 7 years ago
Matthew Chen 32b87d0e58 Remove custom ringtones. 7 years ago
Matthew Chen e54cf313e8 Use quiet versions of the notification sounds in foreground. 7 years ago
Matthew Chen 55b9aa4089 Preserve 'classic' Signal notification and ringtone for legacy users. 7 years ago
Matthew Chen 390cf3c80a Revive the 'classic' Signal notification and ringtone. 7 years ago
Matthew Chen 62af7ddc15 Add "none" option for sounds. Use AVPlayer for everything. 7 years ago
Matthew Chen 99aedca45f Strip out special casing for pre-iOS 9 users. 7 years ago
Matthew Chen 899799af92 Improve sound settings view. 7 years ago
Matthew Chen 5e8f3086de Update call sounds. 7 years ago
Matthew Chen a0f4723fa2 Update call sounds. 7 years ago
Matthew Chen a44a117612 Add custom ringtone sounds. 7 years ago
Matthew Chen 396fe82707 Add UI for editing per-thread notification sounds. 7 years ago
Matthew Chen dc8b8ca0bd Add per-thread custom notification sounds. 7 years ago
Matthew Chen 9aa02489b8 Custom notification sounds in local notifications. 7 years ago
Matthew Chen a837c5d41b Custom notification sounds. 7 years ago
Matthew Chen 60d839d7a4 Custom notification sounds. 7 years ago
Matthew Chen 5c3f6b0ee5 Custom notification sounds. 7 years ago
Michael Kirk 5af1123219 Fix freeze in host app after "dismissing" select thread VC
We must call these completion handlers whenever we exit the SAE

// FREEBIE
7 years ago
Matthew Chen 152c570900 Respond to CR. 7 years ago
Matthew Chen 5444fc73b0 Improve handling of db modifications while conversation view is not observing. 7 years ago
Matthew Chen 706006539f Improve the robustness of the migration logic. 7 years ago
Matthew Chen d91507d897 Improve the robustness of the migration logic. 7 years ago
Matthew Chen 7132179c5c Fix handling of HEIF/HEIC when attaching image "as document." 7 years ago
Michael Kirk 707ab5f5a8 Minimize changes around call audio activity
// FREEBIE
7 years ago
Michael Kirk 4dd1c7813a Instrument calls to ensure audio session is maintained
// FREEBIE
7 years ago
Michael Kirk abb51b565a Don't de-activate audio sesion when other audio activities are happening
// FREEBIE
7 years ago
Matthew Chen 283fe17649 Apply Indic script fixes to SAE and master. 7 years ago
Matthew Chen 6935298f6f Improve handling of the not migrated case. 7 years ago
Matthew Chen 03f6d473a3 Fix issues around profile updates. 7 years ago
Matthew Chen d648a258d1 Merge branch 'hotfix/2.19.7' 7 years ago
Matthew Chen 3ab33b997e Respond to CR. 7 years ago
Matthew Chen 33cb8b7e4c Revert "Surface error messages in SAE as alerts."
This reverts commit bd51ae1646.
7 years ago
Matthew Chen bd51ae1646 Surface error messages in SAE as alerts. 7 years ago
Matthew Chen 9508761f09 Respond to CR. 7 years ago
Matthew Chen 4b62faf2f8 Aggressively nag iOS 8 users to upgrade iOS. 7 years ago
Michael Kirk 3d5f7e6bf3 Clean up logging
- tag all log lines for easier filtering
- use up-to-date database path

// FREEBIE
7 years ago
Matthew Chen 48b6c3dafb Refine message date/time formatting. 7 years ago
Michael Kirk 44678e3951 CR: weak capture and clearer comments
// FREEBIE
7 years ago
Michael Kirk debd556e09 Fix notification % escaping, debug UI
Consolidated the notifications debug UI (and fixed it) to make testing
this a bit easier.

// FREEBIE
7 years ago
Joshua Lund 2c18a75d12 Update to the new GitHub organization name 7 years ago
Matthew Chen ba42ac73d8 Revisit TODOs in the SAE work. 7 years ago
Matthew Chen d54f6aba0a Refine SAE UI. 7 years ago
Matthew Chen 114df18372 Refine SAE UI. 7 years ago
Michael Kirk 5e95c90606 Fix "caption toolbar not showing" for RTL
// FREEBIE
7 years ago
Matthew Chen 862172072c Respond to CR. 7 years ago
Matthew Chen 6b357f9445 Respond to CR. 7 years ago
Matthew Chen 43765ef3b5 Respond to CR. 7 years ago
Matthew Chen d3e16583eb Add protocol context to protocol kit. 7 years ago
Matthew Chen 074046b98e Add protocol context to protocol kit. 7 years ago
Matthew Chen 39e353503f Add protocol context to protocol kit. 7 years ago
Michael Kirk a1d3073705 Cannot open settings from share extension
// FREEBIE
7 years ago
Michael Kirk c646f76335 Garther audio concerns, clean up session when done
- sync speakerphone state manipulated from system call screen
  - Revert audio session after call failure, ensures media plays out of
    speaker after placing a failing call.
  - Replace notification with delegate pattern since we're already using
    delegate pattern here.
- Fixes voiceover accessibility after voice memo
- Avoid audio blip after pressing hangup
- Rename CallAudioSession -> OWSAudioSession
  Going to start using it for other non-call things since we want to
  gather all our audio session concerns.
- Resume background audio when done playing video
  - Extract OWSVideoPlayer which ensures audio is in proper state before
    playback
  - Move recording session logic to shared OWSAudioSession
  - Deactivate audio session when complete

// FREEBIE
7 years ago
Michael Kirk 0f9dd46b91 Fix attachment approval layout on iPhoneX
convert captioning toolbar to autolayout in the process

// FREEBIE
7 years ago
Matthew Chen 4bfdef520a Respond to CR. 7 years ago
Matthew Chen be1fde905c Don't mark app as ready until all version migrations are done. 7 years ago
Matthew Chen aeeef43416 Register all database views asynchronously. 7 years ago
Matthew Chen b21f793756 Register all database views asynchronously. 7 years ago
Matthew Chen 5cf89a0f3d Register all database views asynchronously. 7 years ago
Matthew Chen 9c84bdb105 Add support for images as documents. 7 years ago
Michael Kirk 456a931b9f Fix block handling for ContactThreads, previously it only worked for
recipients without a thread.

// FREEBIE
7 years ago
Matthew Chen 41b7a8dd75 Fix build breakage. 7 years ago
Matthew Chen e2fa695fc4 Fix build break. 7 years ago
Matthew Chen 79ee6fa318 Add Debug UI around sharing UIImage. 7 years ago
Matthew Chen 6a7f06f940 Respond to CR. 7 years ago
Matthew Chen 56ef293ed1 Clean up ahead of PR. 7 years ago
Matthew Chen b61c716ea7 Clean up ahead of PR. 7 years ago
Matthew Chen d1c17167c6 Don't send text files as text messgaes. 7 years ago
Matthew Chen 64e4f054b8 Add message approval view. 7 years ago
Matthew Chen e905098fb1 Add message approval view. 7 years ago
Matthew Chen 069587b150 Add message approval view. 7 years ago
Matthew Chen 9845ef6dac Add message approval view. 7 years ago
Matthew Chen 3cfc778358 Add message approval view. 7 years ago
Matthew Chen 2af858c529 Add message approval view. 7 years ago
Matthew Chen 979386ee9e Improve handling of text and url shares. 7 years ago
Matthew Chen 5770a18b08 Handle text shares like URLs. 7 years ago
Matthew Chen 9718387af5 Send URLs as text messages. 7 years ago
Matthew Chen 085975ebe9 Prepopulate caption field with URL. 7 years ago
Matthew Chen 2e8a53b4a5 Don't add captions to text messages. 7 years ago
Matthew Chen 992e926142 Unpack oversize text messages if possible. 7 years ago
Matthew Chen b9bd21e73f Improve presentation of text attachments in attachment approval view. 7 years ago
Matthew Chen 6a80db7844 Enable support for sharing urls in SAE. 7 years ago
Matthew Chen d8f72dbec5 Clean up ahead of PR. 7 years ago
Matthew Chen 0cc7f3e00e Clean up ahead of PR. 7 years ago
Matthew Chen 2375cc2f76 Add support for key specs. 7 years ago
Matthew Chen 5d422e03d1 Add support for key specs. 7 years ago
Matthew Chen c5079ed3d7 Add support for key specs. 7 years ago
Matthew Chen 224c24e685 Use key spec for databases. 7 years ago
Matthew Chen a05acd0174 Add protocol context to protocol kit. 7 years ago
Matthew Chen d0f1706a49 Modify YapDatabase to read converted database. 7 years ago
Michael Kirk 3cd1b2c96c WIP comment 7 years ago
Michael Kirk acc97b197b Properly force checkpoint at end of conversion
// FREEBIE
7 years ago
Matthew Chen eadb64b75a Elaborate test suite around database conversion. 7 years ago
Matthew Chen 9801689c0e Modify YapDatabase to read converted database. 7 years ago
Michael Kirk 0a2439937b cleanup
// FREEBIE
7 years ago
Matthew Chen 45e44ca085 Modify YapDatabase to read converted database, part 3. 7 years ago
Matthew Chen d7a43d00d7 Modify YapDatabase to read converted database, part 2. 7 years ago
Matthew Chen 173da64bc4 Modify YapDatabase to read converted database, part 1. 7 years ago
Matthew Chen 3b681aba36 Successfully convert database. 7 years ago
Matthew Chen cc15092eb7 Resolve issues around database conversion. 7 years ago
Michael Kirk 11a709a621 WIP: set plaintext header length
Fix test to try to convert test db, previously it was using the
non-existent TSStorage database.

// FREEBIE
7 years ago
Michael Kirk 71dc7f55d3 Copy DB setup / keying from Yap into conversion
// FREEBIE
7 years ago
Matthew Chen 1bff0f2b0e Incomplete commit starting work on loading databases for conversion. 7 years ago
Matthew Chen 5ba5b763e4 Add tests around database conversion. 7 years ago
Matthew Chen dc73342573 Convert databases if necessary. 7 years ago
Michael Kirk 886c0174a8 Rename color per code review
// FREEBIE
7 years ago
Michael Kirk baa312f449 Timer button with duration label
// FREEBIE
7 years ago
Michael Kirk 5c2075cdb6 Show disappearing messages timer in share extension
// FREEBIE
7 years ago
Michael Kirk 3ca5ec2726 Ensure media-library permissions when accessing media library
// FREEBIE
7 years ago
Michael Kirk 5dde17d939 Show approval/caption view in app.
ApprovalView/Captioning is shown for:
- Images/Videos from Library
- Images/Video from Camera
- Document Picker
- GIFs

Voice notes are intentionally not captionable.

Also, in main app, hide status bar when ApprovalView is presented

// FREEBIE
7 years ago
Michael Kirk 94d58b88b8 Play video inline in approval view
Previously we launched the MPMoviePlayerController

// FREEBIE
7 years ago
Michael Kirk 0c6a42003f clang-format after RI
// FREEBIE
7 years ago
Michael Kirk a423fe8a0e WIP Merge tag '2.19.4.4'
- restore video playback in fullscreen

This was a large merge, so I'm opting to make some changes in separate
commits.
7 years ago
Matthew Chen 2b528ad894 Don't use mainApplicationState in business logic. 7 years ago
Matthew Chen 17907dca10 Clean up ahead of PR. 7 years ago
Matthew Chen 15b8e58324 Retain changes from session database branch. 7 years ago
Matthew Chen 980b3d25a7 Rework "export backup" UI. 7 years ago
Matthew Chen 58e9252689 Let users send to non-contacts, non-threads in SAE. 7 years ago
Matthew Chen 4d6ee9e2de Let users send to non-contacts, non-threads in SAE. 7 years ago
Matthew Chen 9e89502fdb Let users send to non-contacts, non-threads in SAE. 7 years ago
Matthew Chen e77c3e6717 Retain changes from session database branch. 7 years ago
sdkjfhsdkjhfsdlkjhfsdf 3a6ddd4bf8 CR: cleanup
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 6e2d9c8141 identity change vs. share extension
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 6b5883dc10 Don't resize attachment view when switching between alerts.
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 4e6816ec5e Code cleanup
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 14723f3e7f Fix profile avatar flicker
- We were clobbering our saved avatar filepath.
- Our "should notify" check was too aggressive.
- Only fetch profiles when entering a conversation.
- Only fetch profiles in main app

Also added (a little) debounce time to debug profile fetching.

// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 01fa3c89cc CR: cleanup comments, extract callback into method
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf b87079d4b4 Sharing attachment shows progress / retry dialog
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 42ea1dfbbe CR: more margin, match button size to default text field, fix layout
when rotated.

There was an issue with captions changing line-count when rotated.

// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 7907a64dfe move gradient up with keyboard
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 653a272b54 Don't obscure attachment when keyboard is popped.
// FREEBIE
7 years ago