Commit graph

228 commits

Author SHA1 Message Date
Michael Kirk ab55e85304 step 1: timestampForSorting audit, change signature
No change in functionality in this commit, I just broke the signature to have a
systematic audit of the callsites. Added TODO's with the plan for each call.
2018-09-26 09:52:33 -06:00
Michael Kirk a60d8eb161 WIP: migration / autoincrement logic
TODO:

-[ ] contact offer
-[ ] verify all paths that utilized timestampForSorting, e.g. make sure SN appear before the message they affect, etc.
-[x] Monotonic ID
-[x] New extension which sorts by id
-[x] Migration
  -[ ] batch migration?
2018-09-26 09:52:33 -06:00
Matthew Chen 87836f506b Move more singletons to SSKEnvironment. 2018-09-21 09:06:48 -04:00
Matthew Chen 3b2c5bfc7b Modify mock environments to register all db views. 2018-09-19 16:29:15 -04:00
Matthew Chen e1db60c1c0 Rework creation of singletons. 2018-09-19 15:11:26 -04:00
Michael Kirk 3df0e72eda Extract SPK rotation and CreatePreKey operations 2018-09-17 10:10:32 -06:00
Matthew Chen 3935b019f4 Add base class for tests. 2018-09-10 17:30:18 -05:00
Matthew Chen df7acfeed3 Simplify OWSPreferences access. 2018-09-07 16:28:21 -04:00
Matthew Chen 106ecf2e8e Respond to CR. 2018-09-07 16:25:10 -04:00
Matthew Chen cc117b385c Modify environment accessors to use our 'shared' convention. 2018-09-07 16:20:59 -04:00
Matthew Chen 3a12446be8 Modify environment accessors to use our 'shared' convention. 2018-09-07 16:20:41 -04:00
Matthew Chen bd05cdc031 Rename TextSecureKitEnv to SSKEnvironment. 2018-09-07 16:19:00 -04:00
Michael Kirk c7662b5a86 Step 2/2 %s/OWSAssert/OWSAssertDebug for existing previous assert semantics
Going forward, we want to prefer safer asserts, but we don't want to blindly
apply crashing asserts across the codebase
2018-09-07 10:00:48 -06:00
Matthew Chen f473f60111 Apply OWS log functions in Objective-C. 2018-08-27 12:58:52 -04:00
Matthew Chen cc5a480baa Apply OWS log functions in Objective-C. 2018-08-27 12:58:52 -04:00
Matthew Chen c0d486b1f1 Apply OWS log functions in Objective-C. 2018-08-27 12:58:52 -04:00
Matthew Chen 3a50377902 Apply OWS log functions in Objective-C. 2018-08-27 12:58:52 -04:00
Matthew Chen 713606271c Rename fail macros in Obj-C. 2018-08-27 10:29:51 -04:00
Matthew Chen 5b50e81b4f Rename fail macros in Swift. 2018-08-27 10:27:48 -04:00
Matthew Chen d4f7b5d45b Respond to CR. 2018-08-27 10:02:28 -04:00
Matthew Chen e1049fdfcc Respond to CR. 2018-08-27 10:02:28 -04:00
Matthew Chen cf6f3841a8 Apply new Swift logging. 2018-08-27 10:02:28 -04:00
Matthew Chen 26001e49d1 Unify log tags. 2018-08-15 10:24:29 -04:00
Michael Kirk c05700fd98 Log in OWSFail
step 1: rename OWSFail->OWSFailNoProdLog
step 2: rename OWSProdLogAndFail->OWSFail
step 3: Convert OWSFailNoProdLog->OWSFail where we want logging
step 4: Rename OWSCFail->OWSCFailNoProdLog
step 5: Rename OWSProdLogAndCFail -> OWSCFail
step 6: Convert OWSCFailNoProdLog -> OWSCFail where we want logging
2018-08-09 15:30:19 -06:00
Matthew Chen 2c9c028504 Clean up. 2018-08-09 09:51:23 -06:00
Matthew Chen 45e782c243 Revamp orphan data cleaner. 2018-08-07 13:07:26 -04:00
Matthew Chen 6be3d2e42d Code generate Swift wrappers for protocol buffers. 2018-08-03 14:05:20 -04:00
Jesse Squires 6dc74ddcaf Fix some project warnings + other fixes
- Prefer checking `.isEmpty` rather than `.count == 0` for Swift collections (can be more optimal)
- Avoid comparing `BOOL` explicitly to `NO` (considered bad practice since `BOOL` is a `signed char`)
- Specify unused `SGX_FLAGS` as `__unused` to silence warnings
2018-07-31 09:48:58 -06:00
Matthew Chen d14f764b50 Streamline SignalRecipient. 2018-07-18 13:57:21 -04:00
Michael Kirk d591fb7f2c Fix some compiler warnings 2018-07-17 19:22:58 -06:00
Matthew Chen 19c9e226fb Respond to CR. 2018-06-01 17:51:18 -04:00
Matthew Chen 3964b78ff7 Reduce usage of JSQ. 2018-06-01 17:44:18 -04:00
Matthew Chen f63d25a172 Migrate to Swift 4. 2018-05-30 15:05:02 -04:00
Matthew Chen da5ae63bbc Migrate to Swift 4. 2018-05-30 15:05:02 -04:00
Matthew Chen 28e26e1f75 Migrate to Swift 4. 2018-05-30 15:05:02 -04:00
Matthew Chen 28f7142a59 Auto-migration to Swift 4. 2018-05-30 15:05:02 -04:00
Michael Kirk 29d08545e2 Use OWSNavigationController instead of UINavigationController
- [ ] document picker
- [ ] camera picker
- [ ] image picker
- [ ] restore "confirm to go back" behavior (interactive pop gesture?)

// FREEBIE
2018-05-24 12:28:20 -04:00
Matthew Chen 5773b45345 Respond to CR. 2018-04-25 10:49:19 -04:00
Matthew Chen 594e12f23c Respond to CR. 2018-04-25 10:49:19 -04:00
Matthew Chen 40ac0daa9a Respond to CR. 2018-04-25 10:49:19 -04:00
Matthew Chen 4b83b4afc5 Rework outgoing message state. 2018-04-25 10:49:19 -04:00
Matthew Chen c5981b164b Notify users of corrupt messages. 2018-04-24 13:41:44 -04:00
Matthew Chen 7f23dfa258 Respond to CR. 2018-04-24 13:15:11 -04:00
Matthew Chen eb3569d8f8 Don't start app version migrations until storage is ready. 2018-04-24 11:56:32 -04:00
Matthew Chen 2265ae08aa Don't start app version migrations until storage is ready. 2018-04-24 11:56:32 -04:00
Michael Kirk 9c81eb44a1 Replace remaining UI usage of interaction.description
// FREEBIE
2018-04-21 19:21:18 -04:00
Michael Kirk 53af41fcc6 Reusable UploadOperation based on extracted OWSOperation
// FREEBIE
2018-04-09 12:47:56 -04:00
Michael Kirk 5f8b3ff285 Object lifecycle disposes SystemSound
// FREEBIE
2018-04-03 16:28:33 -04:00
Michael Kirk 2580c690cb CR: Use LRU Cache for storing system sounds
// FREEBIE
2018-04-03 16:28:33 -04:00
Michael Kirk 3cb53f5f44 Respect system alert volume for notifications while in app
// FREEBIE
2018-04-03 16:28:33 -04:00
Matthew Chen 9962bf56b1 Fix 'invalid auth can hang on launch' issue. 2018-03-26 17:07:20 -04:00
Matthew Chen ef34cd5d58 Fix 'invalid auth can hang on launch' issue. 2018-03-26 17:07:20 -04:00
Michael Kirk 2412ab092e Avoid occasional audio crash
// FREEBIE
2018-03-19 20:24:47 -04:00
Matthew Chen 565743b66d Fix edge cases in migrations. 2018-03-17 09:18:01 -03:00
Matthew Chen d2f2dd273a Fix edge cases in migrations. 2018-03-17 09:18:01 -03:00
Michael Kirk a1de99f1f1 Merge tag '2.21.0.9' 2018-03-06 16:43:33 -05:00
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 2018-03-06 17:12:13 -03:00
Michael Kirk f459c9ce6d CR: rename SignalClassic constant
// FREEBIE
2018-03-06 14:00:29 -05:00
Michael Kirk 5739f074ae Show migration screen at first launch.
sort sounds alphabetically (other than Default/None)

// FREEBIE
2018-03-06 14:00:29 -05:00
Michael Kirk 55a4b66ca3 Run call settings migration
// FREEBIE
2018-03-06 13:23:12 -05:00
Michael Kirk 1ddf3bb4e1 Fix "use ambient" for notifications
// FREEBIE
2018-03-06 10:12:55 -05:00
Michael Kirk 79ee5ed216 Be more conservative about logging legacy users into "Recents"
// FREEBIE
2018-03-05 21:32:35 -05:00
Michael Kirk 4e64b09ad6 Don't set audio to ambient while other audioActivity exists
// FREEBIE
2018-03-05 20:45:23 -05:00
Michael Kirk 830e9f1bfd Make "Signal Classic" audio stand out more
// FREEBIE
2018-03-05 19:00:18 -05:00
Michael Kirk 7883167265 Fix "None" audio for fallback notifications.
// FREEBIE
2018-03-05 18:48:37 -05:00
Michael Kirk d3be2b4a3b Vibrate when playing sound as alert
// FREEBIE
2018-03-05 18:47:35 -05:00
Michael Kirk d7fcac8a5a In-App notifications don't pause background audio
// FREEBIE
2018-03-05 17:59:09 -05:00
Matthew Chen 4f55079a79 Respond to CR. 2018-03-05 17:08:58 -03:00
Matthew Chen 2d6b9a7c81 Respond to CR. 2018-03-05 17:08:58 -03:00
Matthew Chen 9db9409561 Share background tasks. 2018-03-05 17:08:58 -03:00
Michael Kirk 07ee3ea843 Merge tag '2.21.0.5' 2018-03-05 09:54:06 -05:00
Michael Kirk 6077367e66 Notification sounds should respect silent switch
// FREEBIE
2018-03-03 11:33:31 -05:00
Michael Kirk 1ff2f3f42e Merge tag '2.21.0.1' 2018-03-02 18:35:01 -05:00
Michael Kirk 1d7e2e367e Fix migration to work with fallback notifications as well
// FREEBIE
2018-03-02 17:02:15 -05:00
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
2018-03-02 16:32:15 -05:00
Matthew Chen 3acdd84398 Elaborate request factory. 2018-03-02 15:05:14 -05:00
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
2018-03-01 10:28:05 -05:00
Michael Kirk e5ab6f101b Clean up audio files
- remove unused classic-ringtone
- move classic with the rest of the message sounds

// FREEBIE
2018-03-01 10:28:05 -05:00
Michael Kirk cf6dfe08bb Custom audio notifications upgrade experience
TODO: update art
2018-02-27 15:14:20 -05:00
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
2018-02-26 15:58:09 -05:00
Michael Kirk e020b0ff99 Persist default sound so we can use it for fallback notifications
// FREEBIE
2018-02-26 15:41:35 -05:00
Matthew Chen 38ff82ab97 Rebrand OWSAudioPlayer. 2018-02-26 14:47:57 -05:00
Matthew Chen 306af29d6f Restore "sonar ping" for "call connecting." 2018-02-26 14:47:57 -05:00
Matthew Chen 32b87d0e58 Remove custom ringtones. 2018-02-26 14:47:57 -05:00
Matthew Chen e54cf313e8 Use quiet versions of the notification sounds in foreground. 2018-02-26 14:46:17 -05:00
Matthew Chen 55b9aa4089 Preserve 'classic' Signal notification and ringtone for legacy users. 2018-02-26 14:46:17 -05:00
Matthew Chen 390cf3c80a Revive the 'classic' Signal notification and ringtone. 2018-02-26 14:46:17 -05:00
Matthew Chen 62af7ddc15 Add "none" option for sounds. Use AVPlayer for everything. 2018-02-26 14:46:17 -05:00
Matthew Chen 899799af92 Improve sound settings view. 2018-02-23 12:53:43 -05:00
Matthew Chen 5e8f3086de Update call sounds. 2018-02-23 12:53:43 -05:00
Matthew Chen a0f4723fa2 Update call sounds. 2018-02-23 12:53:43 -05:00
Matthew Chen a44a117612 Add custom ringtone sounds. 2018-02-23 12:53:43 -05:00
Matthew Chen 396fe82707 Add UI for editing per-thread notification sounds. 2018-02-23 12:53:42 -05:00
Matthew Chen dc8b8ca0bd Add per-thread custom notification sounds. 2018-02-23 12:53:42 -05:00
Matthew Chen 9aa02489b8 Custom notification sounds in local notifications. 2018-02-23 12:53:42 -05:00
Matthew Chen 60d839d7a4 Custom notification sounds. 2018-02-23 12:53:42 -05:00
Matthew Chen 5c3f6b0ee5 Custom notification sounds. 2018-02-23 12:53:42 -05:00
Michael Kirk 707ab5f5a8 Minimize changes around call audio activity
// FREEBIE
2018-02-16 14:00:15 -08:00
Michael Kirk 4dd1c7813a Instrument calls to ensure audio session is maintained
// FREEBIE
2018-02-16 14:00:15 -08:00
Michael Kirk abb51b565a Don't de-activate audio sesion when other audio activities are happening
// FREEBIE
2018-02-16 14:00:15 -08:00
Matthew Chen 3ab33b997e Respond to CR. 2018-02-15 14:08:22 -05:00
Matthew Chen 33cb8b7e4c Revert "Surface error messages in SAE as alerts."
This reverts commit bd51ae1646.
2018-02-15 13:55:49 -05:00
Matthew Chen bd51ae1646 Surface error messages in SAE as alerts. 2018-02-15 13:55:39 -05:00
Michael Kirk 3d5f7e6bf3 Clean up logging
- tag all log lines for easier filtering
- use up-to-date database path

// FREEBIE
2018-02-14 09:16:42 -08:00
Matthew Chen 39e353503f Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
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
2018-02-06 18:45:51 -08:00
Matthew Chen 4bfdef520a Respond to CR. 2018-01-30 12:39:27 -05:00
Matthew Chen be1fde905c Don't mark app as ready until all version migrations are done. 2018-01-30 11:27:44 -05:00
Matthew Chen aeeef43416 Register all database views asynchronously. 2018-01-30 10:30:28 -05:00
Matthew Chen 5cf89a0f3d Register all database views asynchronously. 2018-01-30 10:30:28 -05:00
Matthew Chen 0cc7f3e00e Clean up ahead of PR. 2018-01-25 11:00:38 -05:00
Matthew Chen e77c3e6717 Retain changes from session database branch. 2018-01-10 12:18:23 -05:00
Matthew Chen fe67cd924c Rework database view registration. 2017-12-19 11:42:06 -05:00
Matthew Chen 9258b0883e Clean up TSStorageManager usage. 2017-12-19 11:41:31 -05:00
Matthew Chen d52eba739d Clean up TSStorageManager usage. 2017-12-19 11:41:31 -05:00
Matthew Chen 85686d3144 Continue TSStorageManager refactor. 2017-12-19 11:41:30 -05:00
Matthew Chen a29c4ce5d6 Pull out OWSStorage base class for TSStorageManager. 2017-12-19 11:16:01 -05:00
Michael Kirk d9cca77e23 update header references
// FREEBIE
2017-12-08 13:32:52 -05:00
Matthew Chen 8312614cf7 Respond to CR. 2017-12-07 13:53:13 -05:00
Matthew Chen 99f0b9d3e8 Fix issues around statics. 2017-12-07 12:34:02 -05:00
Matthew Chen 69e0bcd308 Fix tests. 2017-12-06 10:36:12 -05:00
Matthew Chen e7bd33df45 Fix tests broken by SAE. 2017-12-06 10:36:12 -05:00
Matthew Chen 150f417a5e Clean up ahead of PR. 2017-12-05 11:32:19 -05:00
Matthew Chen 9da165b846 Continue conversion of app setup. 2017-12-05 11:19:11 -05:00
Matthew Chen ce899edf10 Respond to CR. 2017-12-05 10:44:11 -05:00
Matthew Chen 2eba371656 Clean up ahead of PR. 2017-12-05 10:29:29 -05:00
Matthew Chen b4e8df79da Migrate environment to SignalMessaging. 2017-12-05 10:29:29 -05:00
Matthew Chen c817aa51b3 Migrate environment to SignalMessaging. 2017-12-05 10:28:46 -05:00