Commit Graph

159 Commits (b316e18cfa7130b1da416f880a61f3d7dffe3bd0)

Author SHA1 Message Date
Matthew Chen e36b5a4602 Improve group members view.
// FREEBIE
9 years ago
Matthew Chen c8466912f0 Add muting of threads.
// FREEBIE
9 years ago
Matthew Chen 3e53605009 Improve thread safety in PushManager and NotificationsManager.
// FREEBIE
9 years ago
Matthew Chen b7b5dbb563 Do not present local notifications if a read receipt arrives immediately after.
// FREEBIE
9 years ago
Michael Kirk a951d11d97 [SSK] move iOSVersion to SSK
// FREEBIE
9 years ago
Matthew Chen 5ff454fd90 Fix double creation of NotificationsManager singleton.
// FREEBIE
9 years ago
Matthew Chen 8374ca149e Apply assert to ensure singletons are only created once.
// FREEBIE
9 years ago
Michael Kirk 7f239c8040 [SSK] + Enforce singleton access for MessagesManager and MessageSender
// FREEBIE
9 years ago
Michael Kirk 0b49037179 Remove some more RP related code
// FREEBIE
9 years ago
Matthew Chen 47ae6ccf76 Don't show the "no contacts" mode of new conversation view again after it has been dismissed.
// FREEBIE
9 years ago
Matthew Chen 9db33a9651 Remove RedPhone code.
// FREEBIE
9 years ago
Matthew Chen 3fcdffb919 Only enforce CallKit privacy for missed calls if CallKit is present.
// FREEBIE
9 years ago
Matthew Chen c6a280e005 Only initiate WebRTC calls, not RedPhone calls.
// FREEBIE
9 years ago
Matthew Chen b9b81ca8ef Honor call privacy settings in call notifications.
// FREEBIE
9 years ago
Matthew Chen 1820fdbde8 Merge remote-tracking branch 'origin/hotfix/2.8.3' 9 years ago
Matthew Chen a226a4a1b3 Respond to CR.
// FREEBIE
9 years ago
Matthew Chen 47df77f38c Only run "enable video calling" migration if user is registered.
// FREEBIE
9 years ago
Michael Kirk 3ee1d5568c Migrate existing users to RTC calling
// FREEBIE
9 years ago
Matthew Chen dc422f7b00 Convert "is logging enabled" methods to class methods so that they can safely be used before Environment has been initialized.
// FREEBIE
9 years ago
Matthew Chen 164db41c29 Move TSImageQuality enum.
// FREEBIE
9 years ago
Matthew Chen 15e14a9b5c Convert "is logging enabled" methods to class methods so that they can safely be used before Environment has been initialized.
// FREEBIE
9 years ago
Michael Kirk 9b2eb80392 Code review on new-features
* use page view controller
* UIPageControl instead of arrows for idiomatic swiping
* Nudge title lower
* better hit area for dismiss
* use darker blue for text
* Open privacy settings from callkit update screen
* tweak copy
* latest translations

// FREEBIE
9 years ago
Michael Kirk b371e627c4 one-time carousel of changes
// FREEBIE
9 years ago
Matthew Chen 012dd3d192 Add “nag” to call settings view that prods the user to change their privacy settings after calls.
// FREEBIE
9 years ago
Matthew Chen a20a21867e Respond to CR.
// FREEBIE
9 years ago
Matthew Chen 065d383c15 Add and honor the “CallKit Privacy” setting.
// FREEBIE
9 years ago
Michael Kirk 4b8a5f8ccb TURN-only option, and for unknown caller
Now, by default, we only use TURN for incoming calls from unknown
contacts. We will potentially directly connect for outgoing calls and
for incoming calls from known contacts.

Optionally, the user can disable direct connection altogether, at the
cost of some call quality.

// FREEBIE
9 years ago
Matthew Chen f4453eb995 Enable WebRTC-based audio and video calls by default.
// FREEBIE
9 years ago
Michael Kirk e5c6d0db9a fix potential deadlock
// FREEBIE
9 years ago
Matthew Chen 49ba0ff942 Flush logs before exiting the app.
// FREEBIE
9 years ago
Matthew Chen 3c3f782e7d Clean up prekey usage.
// FREEBIE
9 years ago
Michael Kirk 2a9aa4c852 users can opt out of CallKit
// FREEBIE
9 years ago
Michael Kirk 08425853cf re-use shared call strings
// FREEBIE
9 years ago
Michael Kirk a339f52564 Only touch mutable dict only main thread
* and make nonatomic since we're only assigning it in init

// FREEBIE
9 years ago
Michael Kirk 17b89f44aa share global callUIAdapter, outboundCallInitiator
// FREEBIE
9 years ago
Michael Kirk bbfd9ba74d Place Signal/Redphone calls from system contacts
// FREEBIE
9 years ago
Michael Kirk a6029f2545 Merge remote-tracking branch 'origin/master' into feature/webrtc 9 years ago
Michael Kirk a89bde933d Respect silent-switch pre-CallKit
8 Cases considered:

(Silent Switch toggled vs. Silent Switch not-toggled)
x (App in Foreground vs. App in Background)
x (CallKit vs. NonCallKit)

CallKit already does the "right thing"

// FREEBIE
9 years ago
Michael Kirk 907e122d62 Migrate legacy db stored logging preferences to NSUserDefaults
This is part of making sure we can log *before* the DB is initialized.

// FREEBIE
9 years ago
Michael Kirk 870fb960a2 Start logging earlier in app setup.
Because logging-preference was previously stored on the storageManager
this meant we couldn't possible log anything related to the init'ing the
storage manager.

TODO: migrate old logging preference to use the new NSUserDefaults
setting

// FREEBIE
9 years ago
Matthew Chen 654bdb1a85 Add WebRTC setting.
// FREEBIE
9 years ago
Matthew Chen 98e087a47f Fix font lookup on iOS before 8.2.
// 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
Matthew Chen 6106326b34 Update to reflect changes in SSK https://github.com/WhisperSystems/SignalServiceKit/pull/85.
// FREEBIE
9 years ago
Russ Shanahan e7126f8c60 Less confusing "#" avatar for unknown Contact instead of "+"
For consistency with the Android and Desktop client behavior.

* Show a placeholder avatar when no image, initials (#1512)

  If all we know about the user is their phone number, their avatar image
  is rendered as a placeholder. Previously, it would render the first few
  characters of their phone number as if they were initials (eg. "+")

* Rename, extend OWSContactsManager methods (#1512)

  Rename from: nameStringForPhoneIdentifier
           to: displayNameForPhoneIdentifier

  Also, add:
  - (BOOL)nameExistsForPhoneIdentifier:(NSString *)identifier;

  Which reports whether there's any "name" for a contact.

* Remove unused typedefs

  These aren't used in the project anymore, and they were causing
  compiling warnings due to a lack of nullability indication.

* Resolve some OWSContactsManager nullability warnings

  Did a pass through all of the existing nullability warnings in
  OWSContactsManager. Tried to pick descriptors that best reflected the
  behavior of the methods.

// FREEBIE
9 years ago
Michael Kirk f30c733ef3 Custom contact picker for invite flow
Preferred to the system contact picker because:
1. removes "group" clutter from header, unlikely to be used much.
2. can select while searching
3. fixes unified contact problem where e.g.
   If only one of your contact has a phone number, they appear disabled
   when choosing to invite via messaging, even though the other linked
   contact *does* have a phone number.
4. label users w/o email so it's clearer why they can't be selected

Also:

* Twitter share-image was too tall

// FREEBIE
9 years ago
Michael Kirk eb995cb389 revert to tracking longform build
We use this to determine which legacy migrations to run.

Also, soften the "your device is too old" behavior to just exit, rather
than blow away the users installation. Ouch!

* bump version

// FREEBIE
9 years ago
Michael Kirk fbcf5fbf07 Properly assign global contacts updater to environment
broken in 33f6a95520

// FREEBIE
9 years ago
Michael Kirk c2aa17e362 Changed Safety numbers no longer block communication
When your partner changes their identity key (e.g. by reinstalling),
you'll see a notice alongside their message, but it will no longer
prevent the message from showing. aka "non blocking".

Existing users will be opted into the previous blocking behavior.

This is configurable for all users in Settings > Privacy.

// FREEBIE
9 years ago
Michael Kirk c6a2fbff23 Tapping corrupted message opens "session reset" activity
This action was previously hidden under a secret longpress gesture in
the fingerprint view controller.

Ideally we'd never receive corrupted messages, but at the point we do,
our sessions are out of whack, and the only recovery option is to reset.
Let's help our users do that.

* Resetting session sends END_SESSION message

  Otherwise the remote side wouldn't know we reset the session and will
  send us a message on the old ratchet.

* Don't reset their identity key when resetting sender ratchet.

* Updated translations

// FREEBIE
9 years ago