parent
f4ae0dbbab
commit
bd440f0878
4
Podfile
4
Podfile
|
@ -5,8 +5,8 @@ target 'Signal' do
|
|||
pod 'SocketRocket', :git => 'https://github.com/facebook/SocketRocket.git'
|
||||
pod 'AxolotlKit', git: 'https://github.com/WhisperSystems/SignalProtocolKit.git'
|
||||
#pod 'AxolotlKit', path: '../SignalProtocolKit'
|
||||
pod 'SignalServiceKit', git: 'https://github.com/WhisperSystems/SignalServiceKit.git'
|
||||
#pod 'SignalServiceKit', path: '../SignalServiceKit'
|
||||
#pod 'SignalServiceKit', git: 'https://github.com/WhisperSystems/SignalServiceKit.git'
|
||||
pod 'SignalServiceKit', path: '../SignalServiceKit'
|
||||
pod 'JSQMessagesViewController', git: 'https://github.com/WhisperSystems/JSQMessagesViewController.git', branch: 'mkirk/position-edit-menu'
|
||||
#pod 'JSQMessagesViewController' path: '../JSQMessagesViewController'
|
||||
pod 'PureLayout'
|
||||
|
|
|
@ -112,7 +112,7 @@ DEPENDENCIES:
|
|||
- JSQMessagesViewController (from `https://github.com/WhisperSystems/JSQMessagesViewController.git`, branch `mkirk/position-edit-menu`)
|
||||
- PureLayout
|
||||
- Reachability
|
||||
- SignalServiceKit (from `https://github.com/WhisperSystems/SignalServiceKit.git`)
|
||||
- SignalServiceKit (from `../SignalServiceKit`)
|
||||
- SocketRocket (from `https://github.com/facebook/SocketRocket.git`)
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
|
@ -122,7 +122,7 @@ EXTERNAL SOURCES:
|
|||
:branch: mkirk/position-edit-menu
|
||||
:git: https://github.com/WhisperSystems/JSQMessagesViewController.git
|
||||
SignalServiceKit:
|
||||
:git: https://github.com/WhisperSystems/SignalServiceKit.git
|
||||
:path: ../SignalServiceKit
|
||||
SocketRocket:
|
||||
:git: https://github.com/facebook/SocketRocket.git
|
||||
|
||||
|
@ -133,9 +133,6 @@ CHECKOUT OPTIONS:
|
|||
JSQMessagesViewController:
|
||||
:commit: 7054e4b13ee5bcd6d524adb6dc9a726e8c466308
|
||||
:git: https://github.com/WhisperSystems/JSQMessagesViewController.git
|
||||
SignalServiceKit:
|
||||
:commit: a9bac8bce7ea3a0209024d0b0a937d45748aea97
|
||||
:git: https://github.com/WhisperSystems/SignalServiceKit.git
|
||||
SocketRocket:
|
||||
:commit: 877ac7438be3ad0b45ef5ca3969574e4b97112bf
|
||||
:git: https://github.com/facebook/SocketRocket.git
|
||||
|
@ -161,6 +158,6 @@ SPEC CHECKSUMS:
|
|||
UnionFind: c33be5adb12983981d6e827ea94fc7f9e370f52d
|
||||
YapDatabase: cd911121580ff16675f65ad742a9eb0ab4d9e266
|
||||
|
||||
PODFILE CHECKSUM: 89fd7aee1e2b0ca592ecc9dba0389e57b70f959b
|
||||
PODFILE CHECKSUM: 6e5d90a9603eb043b395213fd8a29037d2276a8f
|
||||
|
||||
COCOAPODS: 1.2.1
|
||||
|
|
|
@ -38,8 +38,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
|
||||
@interface OWSMessagesBubblesSizeCalculator ()
|
||||
|
||||
@property (nonatomic) OWSSystemMessageCell *referenceSystemMessageCell;
|
||||
@property (nonatomic) OWSUnreadIndicatorCell *referenceUnreadIndicatorCell;
|
||||
@property (nonatomic, readonly) OWSSystemMessageCell *referenceSystemMessageCell;
|
||||
@property (nonatomic, readonly) OWSUnreadIndicatorCell *referenceUnreadIndicatorCell;
|
||||
|
||||
@end
|
||||
|
||||
|
@ -120,7 +120,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
}
|
||||
|
||||
if (!self.referenceSystemMessageCell) {
|
||||
self.referenceSystemMessageCell = [OWSSystemMessageCell new];
|
||||
_referenceSystemMessageCell = [OWSSystemMessageCell new];
|
||||
}
|
||||
|
||||
CGSize result = [self.referenceSystemMessageCell cellSizeForInteraction:interaction
|
||||
|
@ -144,7 +144,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
}
|
||||
|
||||
if (!self.referenceUnreadIndicatorCell) {
|
||||
self.referenceUnreadIndicatorCell = [OWSUnreadIndicatorCell new];
|
||||
_referenceUnreadIndicatorCell = [OWSUnreadIndicatorCell new];
|
||||
}
|
||||
|
||||
CGSize result = [self.referenceUnreadIndicatorCell cellSizeForInteraction:interaction
|
||||
|
|
|
@ -14,7 +14,7 @@ class ProfileFetcherJob: NSObject {
|
|||
|
||||
let thread: TSThread
|
||||
|
||||
// This property is only accessed on the default global queue.
|
||||
// This property is only accessed on the main queue.
|
||||
static var fetchDateMap = [String: Date]()
|
||||
|
||||
public class func run(thread: TSThread, networkManager: TSNetworkManager) {
|
||||
|
@ -31,7 +31,7 @@ class ProfileFetcherJob: NSObject {
|
|||
public func run() {
|
||||
AssertIsOnMainThread()
|
||||
|
||||
DispatchQueue.global().async {
|
||||
DispatchQueue.main.async {
|
||||
for recipientId in self.thread.recipientIdentifiers {
|
||||
self.getProfile(recipientId: recipientId)
|
||||
}
|
||||
|
@ -40,27 +40,24 @@ class ProfileFetcherJob: NSObject {
|
|||
|
||||
public func getProfile(recipientId: String, remainingRetries: Int = 3) {
|
||||
|
||||
// Only throttle profile fetch in production builds in order to
|
||||
// facilitate debugging.
|
||||
if !_isDebugAssertConfiguration() {
|
||||
if let lastDate = ProfileFetcherJob.fetchDateMap[recipientId] {
|
||||
let lastTimeInterval = fabs(lastDate.timeIntervalSinceNow)
|
||||
// Don't check a profile more often than every N minutes.
|
||||
let kGetProfileMaxFrequencySeconds = 60.0 * 5.0
|
||||
if lastTimeInterval < kGetProfileMaxFrequencySeconds {
|
||||
Logger.info("\(self.TAG) skipping getProfile: \(recipientId), lastTimeInterval: \(lastTimeInterval)")
|
||||
return
|
||||
}
|
||||
if let lastDate = ProfileFetcherJob.fetchDateMap[recipientId] {
|
||||
let lastTimeInterval = fabs(lastDate.timeIntervalSinceNow)
|
||||
// Don't check a profile more often than every N minutes.
|
||||
//
|
||||
// Only throttle profile fetch in production builds in order to
|
||||
// facilitate debugging.
|
||||
let kGetProfileMaxFrequencySeconds = _isDebugAssertConfiguration() ? 0 : 60.0 * 5.0
|
||||
guard lastTimeInterval > kGetProfileMaxFrequencySeconds else {
|
||||
Logger.info("\(self.TAG) skipping getProfile: \(recipientId), lastTimeInterval: \(lastTimeInterval)")
|
||||
return
|
||||
}
|
||||
ProfileFetcherJob.fetchDateMap[recipientId] = Date()
|
||||
}
|
||||
ProfileFetcherJob.fetchDateMap[recipientId] = Date()
|
||||
|
||||
Logger.error("\(self.TAG) getProfile: \(recipientId)")
|
||||
|
||||
let request = OWSGetProfileRequest(recipientId: recipientId)
|
||||
|
||||
// We don't need to retainUntilComplete() since the success and failure
|
||||
// handlers both close over a strong reference to self.
|
||||
self.networkManager.makeRequest(
|
||||
request,
|
||||
success: { (_: URLSessionDataTask?, responseObject: Any?) -> Void in
|
||||
|
|
|
@ -685,7 +685,7 @@ typedef enum : NSUInteger {
|
|||
[result addObject:recipientId];
|
||||
}
|
||||
}
|
||||
return result;
|
||||
return [result copy];
|
||||
}
|
||||
|
||||
- (void)ensureBannerState
|
||||
|
@ -838,7 +838,7 @@ typedef enum : NSUInteger {
|
|||
preferredStyle:UIAlertControllerStyleActionSheet];
|
||||
|
||||
__weak MessagesViewController *weakSelf = self;
|
||||
UIAlertAction *unblockAction = [UIAlertAction
|
||||
UIAlertAction *verifyAction = [UIAlertAction
|
||||
actionWithTitle:
|
||||
NSLocalizedString(@"VERIFY_PRIVACY",
|
||||
@"Label for button or row which allows users to verify the safety number of another user.")
|
||||
|
@ -846,7 +846,7 @@ typedef enum : NSUInteger {
|
|||
handler:^(UIAlertAction *_Nonnull action) {
|
||||
[weakSelf showConversationSettingsAndShowVerification:YES];
|
||||
}];
|
||||
[actionSheetController addAction:unblockAction];
|
||||
[actionSheetController addAction:verifyAction];
|
||||
|
||||
UIAlertAction *dismissAction =
|
||||
[UIAlertAction actionWithTitle:NSLocalizedString(@"DISMISS_BUTTON_TEXT",
|
||||
|
@ -882,7 +882,7 @@ typedef enum : NSUInteger {
|
|||
[OWSIdentityManager.sharedManager setVerificationState:OWSVerificationStateDefault
|
||||
identityKey:identityKey
|
||||
recipientId:recipientId
|
||||
sendSyncMessage:YES];
|
||||
isUserInitiatedChange:YES];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -90,10 +90,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
NSData *identityKey =
|
||||
[identityManger identityKeyForRecipientId:recipientId];
|
||||
[[OWSIdentityManager sharedManager]
|
||||
setVerificationState:OWSVerificationStateDefault
|
||||
identityKey:identityKey
|
||||
recipientId:recipientId
|
||||
sendSyncMessage:NO];
|
||||
setVerificationState:OWSVerificationStateDefault
|
||||
identityKey:identityKey
|
||||
recipientId:recipientId
|
||||
isUserInitiatedChange:NO];
|
||||
}]];
|
||||
[alertController addAction:[UIAlertAction actionWithTitle:@"Verified"
|
||||
style:UIAlertActionStyleDefault
|
||||
|
@ -101,10 +101,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
NSData *identityKey =
|
||||
[identityManger identityKeyForRecipientId:recipientId];
|
||||
[[OWSIdentityManager sharedManager]
|
||||
setVerificationState:OWSVerificationStateVerified
|
||||
identityKey:identityKey
|
||||
recipientId:recipientId
|
||||
sendSyncMessage:NO];
|
||||
setVerificationState:OWSVerificationStateVerified
|
||||
identityKey:identityKey
|
||||
recipientId:recipientId
|
||||
isUserInitiatedChange:NO];
|
||||
}]];
|
||||
[alertController addAction:[UIAlertAction actionWithTitle:@"No Longer Verified"
|
||||
style:UIAlertActionStyleDefault
|
||||
|
@ -112,10 +112,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
NSData *identityKey =
|
||||
[identityManger identityKeyForRecipientId:recipientId];
|
||||
[[OWSIdentityManager sharedManager]
|
||||
setVerificationState:OWSVerificationStateNoLongerVerified
|
||||
identityKey:identityKey
|
||||
recipientId:recipientId
|
||||
sendSyncMessage:NO];
|
||||
setVerificationState:OWSVerificationStateNoLongerVerified
|
||||
identityKey:identityKey
|
||||
recipientId:recipientId
|
||||
isUserInitiatedChange:NO];
|
||||
}]];
|
||||
|
||||
[[UIApplication sharedApplication].frontmostViewController presentViewController:alertController
|
||||
|
|
|
@ -69,7 +69,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
[OWSIdentityManager.sharedManager setVerificationState:verificationState
|
||||
identityKey:identityKey
|
||||
recipientId:recipientId
|
||||
sendSyncMessage:verificationState != OWSVerificationStateNoLongerVerified];
|
||||
isUserInitiatedChange:verificationState != OWSVerificationStateNoLongerVerified];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -510,10 +510,10 @@ typedef void (^CustomLayoutBlock)();
|
|||
BOOL isVerified = [[OWSIdentityManager sharedManager] verificationStateForRecipientId:self.recipientId]
|
||||
== OWSVerificationStateVerified;
|
||||
[[OWSIdentityManager sharedManager]
|
||||
setVerificationState:(isVerified ? OWSVerificationStateDefault : OWSVerificationStateVerified)identityKey
|
||||
:self.identityKey
|
||||
recipientId:self.recipientId
|
||||
sendSyncMessage:YES];
|
||||
setVerificationState:(isVerified ? OWSVerificationStateDefault : OWSVerificationStateVerified)identityKey
|
||||
:self.identityKey
|
||||
recipientId:self.recipientId
|
||||
isUserInitiatedChange:YES];
|
||||
|
||||
[self dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
|
|
|
@ -205,7 +205,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
[OWSIdentityManager.sharedManager setVerificationState:OWSVerificationStateVerified
|
||||
identityKey:identityKey
|
||||
recipientId:recipientId
|
||||
sendSyncMessage:YES];
|
||||
isUserInitiatedChange:YES];
|
||||
[viewController dismissViewControllerAnimated:true completion:nil];
|
||||
}]];
|
||||
UIAlertAction *dismissAction =
|
||||
|
|
|
@ -55,7 +55,7 @@ class SafetyNumberConfirmationAlert: NSObject {
|
|||
Logger.info("\(self.TAG) Confirmed identity: \(untrustedIdentity)")
|
||||
|
||||
OWSDispatch.sessionStoreQueue().async {
|
||||
OWSIdentityManager.shared().setVerificationState(.default, identityKey: untrustedIdentity.identityKey, recipientId: untrustedIdentity.recipientId, sendSyncMessage: true)
|
||||
OWSIdentityManager.shared().setVerificationState(.default, identityKey: untrustedIdentity.identityKey, recipientId: untrustedIdentity.recipientId, isUserInitiatedChange: true)
|
||||
DispatchQueue.main.async {
|
||||
completion(true)
|
||||
}
|
||||
|
|
|
@ -500,13 +500,13 @@ protocol CallServiceObserver: class {
|
|||
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
guard self.call == nil else {
|
||||
// TODO on iOS10+ we can use CallKit to swap calls rather than just returning busy immediately.
|
||||
Logger.info("\(TAG) receivedCallOffer for thread: \(thread) but we're already in call: \(call!)")
|
||||
|
||||
|
||||
handleLocalBusyCall(newCall, thread: thread)
|
||||
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -40,21 +40,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
if (self = [super init]) {
|
||||
[self commontInit];
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)commontInit
|
||||
{
|
||||
if (self.imageView) {
|
||||
// Don't init twice.
|
||||
return;
|
||||
}
|
||||
OWSAssert(!self.imageView);
|
||||
|
||||
[self setTranslatesAutoresizingMaskIntoConstraints:NO];
|
||||
|
||||
|
|
|
@ -38,21 +38,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
if (self = [super init]) {
|
||||
[self commontInit];
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)commontInit
|
||||
{
|
||||
if (self.bannerView) {
|
||||
// Don't init twice.
|
||||
return;
|
||||
}
|
||||
OWSAssert(!self.bannerView);
|
||||
|
||||
[self setTranslatesAutoresizingMaskIntoConstraints:NO];
|
||||
|
||||
|
|
Loading…
Reference in New Issue