Commit Graph

42 Commits (582bf7105d9be33cca30cbdd0cc58c9311846f72)

Author SHA1 Message Date
nielsandriesse 74bbe067d8 Update Pods 6 years ago
nielsandriesse fc9a678181 Fix APNs token updating bug 6 years ago
Niels Andriesse aeea6f26de Re-enable notifications 7 years ago
Niels Andriesse a284f3deb6 Don't ask for notifications 7 years ago
Michael Kirk b1e1020eb3 swift5: void promise must take void argument vs no argument 7 years ago
Michael Kirk 64a0c4bfaa auto-migrate to Swift5 7 years ago
Matthew Chen 2a4b9426c3 Sketch out the 'onboarding phone number' view. 7 years ago
Michael Kirk 1bfe691895 In app notifications for iOS10+
Extract shared notification presention/response

Implement adapters which use that logic for modern UNUserNotification and
legacy UINotifications
7 years ago
Matthew Chen 63260ee94d Fix registration. 7 years ago
Matthew Chen 782fbe656c Add RegistrationController. 7 years ago
Matthew Chen 8110e0c765 Clean up usage of TSAccountManager. 7 years ago
Matthew Chen 544bdbd7f5 Fix edge cases around registration. 7 years ago
Matthew Chen 0b4ed1175d Create AppEnvironment. 7 years ago
Matthew Chen d7e52367ff Create AppEnvironment. 7 years ago
Michael Kirk d6a6024f37 Update PromiseKit 7 years ago
Matthew Chen c9922cda3e Respond to CR. 7 years ago
Matthew Chen eb7abdfc64 Account attributes updates. 7 years ago
Matthew Chen 4ab281346a Respond to CR. 7 years ago
Matthew Chen 39f1be65f3 Respond to CR. 7 years ago
Matthew Chen 1b1312c455 Clean up ahead of CR. 7 years ago
Matthew Chen 1d40cbfb41 Rework account attributes; persist manual message fetch; add "unrestricted UD" setting. 7 years ago
Matthew Chen cf6f3841a8 Apply new Swift logging. 7 years ago
Matthew Chen 26001e49d1 Unify log tags. 7 years ago
Matthew Chen 3964b78ff7 Reduce usage of JSQ. 8 years ago
Matthew Chen 28e26e1f75 Migrate to Swift 4. 8 years ago
Matthew Chen c17a819366 Elaborate request factory. 8 years ago
Matthew Chen baf6fcc535 Add 2FA registration view. 8 years ago
Matthew Chen 7a1e47cd26 Add asserts around Swift singletons. 8 years ago
Matthew Chen b4e8df79da Migrate environment to SignalMessaging. 8 years ago
Michael Kirk a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
8 years ago
Michael Kirk c0bcc40a6f Ensure we re-upload push tokens after re-registering.
// 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
Matthew Chen 80e5f281c6 Rename app preferences class.
// FREEBIE
8 years ago
Michael Kirk 2e83643327 Don't consider registration complete until user registers their push
notification tokens.

// FREEBIE
8 years ago
Michael Kirk f681712ea0 Code Cleanup
- make some logging clearer
- remove noisy unhelpful logging
- clearer method names

// FREEBIE
8 years ago
Matthew Chen 9db33a9651 Remove RedPhone code.
// FREEBIE
9 years ago
Matthew Chen f4453eb995 Enable WebRTC-based audio and video calls by default.
// FREEBIE
9 years ago
Michael Kirk b6f098bfa7 Log when receiving unknown call datachannel message
// FREEBIE
9 years ago
Matthew Chen 654bdb1a85 Add WebRTC setting.
// FREEBIE
9 years ago
Michael Kirk 647b2b37e9 WIP: WebRTC calling
* Ensure NotificationsManager has dependencies
    Otherwise it's easy to mess up the order of the required dependencies.
* move AccountManager into Environment, it's heavy to construct

// FREEBIE
9 years ago
Michael Kirk 1dd06a5e6c Fix registration flow / Keep push tokens in sync
* Separate registering an account from registering for push notifications
  * Allows us to complete registration without prompting user for
    notification settings.

UX Changes
----------
* Automatically keep push tokens in sync on startup.
  Push tokens *can* change, though they rarely do. It happens more often
  for people switching between appstore/beta builds.

  fixes #1174

* Show alert with registration failure
  * add secret 8-tap debug log gesture to registration flow

* Move registration to separate flow
  * don't see flash of inbox when first launching

* show useful error messages when given wrong code / no code

* remove background fetch
  We werent using it, but only relying on a side effect of it which is
  no longer necessary.

Code Changes
------------

* More registration logging.

* Install PromiseKit with carthage

  Our dependencies are not yet framework compatible, so we can't use
  cocoapods.

* Merge preferences util "category" into superclass.

  The immediate reason for this is Swift interop was assuming optional
  types were not optional, and exploding when a value was nil.

  This is clearer anyway, since we were treating it like a subclass, and
  it was the only thing using the class anyway.

* auto-genstrings now searches *.swift (and *.h, which was previously
  broken) for translateable strings.

// FREEBIE
9 years ago