Commit Graph

281 Commits (f9ce34f553473852d8a78e79451a51d9cbe37a4e)

Author SHA1 Message Date
Matthew Chen f9ce34f553 Improve background task logic. 7 years ago
Matthew Chen bc7f4623cc Update YapDatabase. 7 years ago
Michael Kirk 3affb07a11 post-merge formatting fixup
// FREEBIE
7 years ago
Michael Kirk 16448e2a0b Merge tag '2.19.3.0' 7 years ago
Michael Kirk 42dc872c9a use dedicated read connection to pre-populate cache
// FREEBIE
7 years ago
Michael Kirk 7ea4b85a2a Persist signal accounts (and their embedded Contact)
// FREEBIE
7 years ago
Matthew Chen 911c4d380b Rework thread safety in profile manager. 7 years ago
Michael Kirk 3ecf0a7537 Cancelling dismisses share extension, remove "import with signal"
Usinig the new ShareViewDelegate to dismiss the share extension, might
have broken the "import with signal" functionality. But because we
want to remove it anyway, I've done that now, rather than fix it up.

// FREEBIE
7 years ago
Matthew Chen 7a1e47cd26 Add asserts around Swift singletons. 7 years ago
Matthew Chen 8312614cf7 Respond to CR. 7 years ago
Matthew Chen 99f0b9d3e8 Fix issues around statics. 7 years ago
Matthew Chen 848f055da1 Add SAE error views. 7 years ago
Matthew Chen 310cf1330d Continue conversion of app setup. 7 years ago
Matthew Chen 8d014f057e Respond to CR. 7 years ago
Matthew Chen f5353fc7d5 Clean up ahead of PR. 7 years ago
Matthew Chen 9da165b846 Continue conversion of app setup. 7 years ago
Matthew Chen 2eba371656 Clean up ahead of PR. 7 years ago
Matthew Chen b4e8df79da Migrate environment to SignalMessaging. 7 years ago
Matthew Chen c817aa51b3 Migrate environment to SignalMessaging. 7 years ago
Matthew Chen bf21d0c0ed Enable logging in SAE; rework log file management to include multiple log directories. 7 years ago
Matthew Chen 66fae5bd54 Clean up ahead of PR. 7 years ago
Matthew Chen ffa69b3502 Add application context class. 7 years ago
Matthew Chen 8d4e9b4565 Respond to CR. 7 years ago
Matthew Chen 7429e1968c Clean up ahead of PR. 7 years ago
Matthew Chen edaf65223a Migrate to shared data NSUserDefaults. 7 years ago
Michael Kirk 2c4cf96515 Some proof of framework integration in the sample share extension
// FREEBIE
7 years ago
Michael Kirk de028404bb Shared framework between app and extension
// FREEBIE
7 years ago
Matthew Chen a6bfc0a60e Fix build warnings from XCode 9. 8 years ago
Matthew Chen 204902c111 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 03241128f6 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1ea413ad48 Be more defensive about handling local notifications.
// FREEBIE
8 years ago
Matthew Chen 5af6b6f213 Respond to CR.
// FREEBIE
8 years ago
Michael Kirk c5244e175e orphan cleanup shouldn't happen until DB is registered
// FREEBIE
8 years ago
Michael Kirk 6a65ee6def Pull to refresh on homeview fetches messages.
This is useful when you're using censorship circumvention and unable to
receive push notifications.

// FREEBIE
8 years ago
Michael Kirk 9a7e3cb9d8 Register for manual message fetching when unable to obtain push tokens
// FREEBIE
8 years ago
Michael Kirk df15c904bc Rework push registration
== Account Registration ==

Not complete until push tokens are uploaded

== Remote Notifications Registration ==

Extracted from PushManager

- wait for notification-settings registration to complete before
  requesting push tokens, otherwise it's possible token requests will
  be ignored.

- Less state required for push notification callbacks, specifically, we
  no longer need to ensure we've created a promise before the
  registration delegate methods get called.

- no more TOCFuture in Signal-iOS (still in SSK for now). It's not in
  cases of inexplicable behavior - one a recently, push notification
  premature free, in redphone, and more popular use, and I've seen two
  futures inexplicably being nil.  Instead, let's consolidate around
  PromiseKit for popularly used, maintained, strongly-typed futures.

- separate logic for registering for vanilla push/voip notifications
  (few dependencies) from responding to UILocalNotifications (lots of
  dependencies). Ultimately I'd like to consolidate the remaining
  UILocalNotifications logic with the existing NotificationsManager

== Misc ==

more debug logging
more uniform logging
remove stale logic around newly registered user

// FREEBIE
8 years ago
Michael Kirk b5258be9b5 respond to code review
// FREEBIE
8 years ago
Michael Kirk 876521f4c3 Fetch messages sooner when launched from background
The only reason a notification wakes/launches the app is to fetch
messages.

However, upon launching, especially if the app had been killed, it can
take a second or two before being notified of the notification that woke
us. Rather than wait, just fetch messages ASAP.

// FREEBIE
8 years ago
Michael Kirk c7cfe188ee Sync push tokens on background launch as well
// FREEBIE
8 years ago
Matthew Chen 10c00501fd Fix the "is contact" test.
// FREEBIE
8 years ago
Matthew Chen f001e8c225 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b4312a5619 Merge remote-tracking branch 'origin/hotfix/2.16.1' 8 years ago
Matthew Chen 825503210b Remove extraneous database view.
// FREEBIE
8 years ago
Matthew Chen 11cadf4200 Send, receive & show read receipts to senders/from receivers.
* Send read receipts to senders.
* Honor "send read receipts" preference.
* Process read receipts from recipients.
* Refactor "mark as read" logic.
* Serialize and apply recipient read receipts received before sync transcript.
* Show recipient read receipts in conversation view.

// FREEBIE
8 years ago
Matthew Chen 1c8dbcd223 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3eaeb4e0ec Add read receipts manager.
* Simplify read receipts plumbing.
* Rework incoming read receipts handling.
* Rework outgoing read receipts handling.
* Make "database view registration complete" check thread-safe.
* Don't send sync messages to self if no linked devices.

// FREEBIE
8 years ago
Matthew Chen b28c4b74b2 Pull out TSMessageDecrypter class.
// FREEBIE
8 years ago
Michael Kirk 73bdae3366 Fix 1-time crash when launching 2.16 from notification
didBecomeActive is too late in the case of launching from a
notification.

Also, start tracking when app setup is complete, and prevent certain
actions from occurring in that case. Eventually we'll enqueue these
actions rather than ignoring them, but we'll want to do more testing
before releasing that. In the meanwhile, if the environment isn't setup
at this point, a crash would be eminent anyway.

// FREEBIE
8 years ago
Matthew Chen afc753e7ed Add batch message processor.
// FREEBIE
8 years ago
Matthew Chen c498e4b354 Decouple message decryption and processing.
// FREEBIE
8 years ago