From 8a9206d7e7079e7d71a49c0c9e051db9ee6c9d43 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Tue, 28 Mar 2017 17:48:24 -0400 Subject: [PATCH 1/3] Improve handling of incomplete and failed attachment downloads. // FREEBIE --- .../Models/TSMessageAdapaters/TSMessageAdapter.m | 16 ++++++++++------ .../view controllers/MessagesViewController.m | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m b/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m index 935fa772d..92bac48d8 100644 --- a/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m +++ b/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m @@ -155,12 +155,16 @@ TSAttachmentPointer *pointer = (TSAttachmentPointer *)attachment; adapter.messageType = TSInfoMessageAdapter; - if (pointer.isDownloading) { - adapter.messageBody = NSLocalizedString(@"ATTACHMENT_DOWNLOADING", nil); - } else if (pointer.hasFailed) { - adapter.messageBody = NSLocalizedString(@"ATTACHMENT_DOWNLOAD_FAILED", nil); - } else { - adapter.messageBody = NSLocalizedString(@"ATTACHMENT_QUEUED", nil); + switch (pointer.state) { + case TSAttachmentPointerStateEnqueued: + adapter.messageBody = NSLocalizedString(@"ATTACHMENT_QUEUED", nil); + break; + case TSAttachmentPointerStateDownloading: + adapter.messageBody = NSLocalizedString(@"ATTACHMENT_DOWNLOADING", nil); + break; + case TSAttachmentPointerStateFailed: + adapter.messageBody = NSLocalizedString(@"ATTACHMENT_DOWNLOAD_FAILED", nil); + break; } } else { DDLogError(@"We retrieved an attachment that doesn't have a known type : %@", diff --git a/Signal/src/view controllers/MessagesViewController.m b/Signal/src/view controllers/MessagesViewController.m index b12b1e158..5128cb5d1 100644 --- a/Signal/src/view controllers/MessagesViewController.m +++ b/Signal/src/view controllers/MessagesViewController.m @@ -1586,7 +1586,7 @@ typedef enum : NSUInteger { // FIXME possible for pointer to get stuck in isDownloading state if app is closed while downloading. // see: https://github.com/WhisperSystems/Signal-iOS/issues/1254 - if (!pointer.isDownloading) { + if (pointer.state != TSAttachmentPointerStateDownloading) { OWSAttachmentsProcessor *processor = [[OWSAttachmentsProcessor alloc] initWithAttachmentPointer:pointer networkManager:self.networkManager]; From 3cb02fcd60877ddfc73797e730e39a7bf1be2fbf Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Tue, 28 Mar 2017 18:01:31 -0400 Subject: [PATCH 2/3] Improve handling of incomplete and failed attachment downloads. // FREEBIE --- Signal/src/AppDelegate.m | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Signal/src/AppDelegate.m b/Signal/src/AppDelegate.m index c5cb36f3e..6ed3de573 100644 --- a/Signal/src/AppDelegate.m +++ b/Signal/src/AppDelegate.m @@ -25,6 +25,7 @@ #import #import #import +#import #import #import #import @@ -176,6 +177,7 @@ static NSString *const kURLHostVerifyPrefix = @"verify"; // Mark all "attempting out" messages as "unsent", i.e. any messages that were not successfully // sent before the app exited should be marked as failures. [[[OWSFailedMessagesJob alloc] initWithStorageManager:[TSStorageManager sharedManager]] run]; + [[[OWSFailedAttachmentDownloadsJob alloc] initWithStorageManager:[TSStorageManager sharedManager]] run]; [AppStoreRating setupRatingLibrary]; }]; From 32d856ff2d664c81495273c33f06320ef1b38b49 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Wed, 29 Mar 2017 12:41:36 -0400 Subject: [PATCH 3/3] [SSK] Improve handling of incomplete and failed attachment downloads. // FREEBIE --- Podfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Podfile.lock b/Podfile.lock index b56ee4454..dfec27316 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -131,7 +131,7 @@ CHECKOUT OPTIONS: :commit: 23a5d1b67afc4dd028198202e25fd2e06ce396d7 :git: https://github.com/WhisperSystems/SignalProtocolKit.git SignalServiceKit: - :commit: fbd3859a850fc7cd187ffabef9108f88f787a832 + :commit: 7bbbd2fb9da67eafe5309a8e6348ea5680ce5404 :git: https://github.com/WhisperSystems/SignalServiceKit.git SocketRocket: :commit: 877ac7438be3ad0b45ef5ca3969574e4b97112bf