A private messenger for iOS.
Find a file
Michael Kirk df51523a84 Serialize message sending and generalized retry logic.
Previously messages could be sent out of order if (e.g.)

1. You're on a slow network
2. You send a big attachment
3. You immediately send text

Generally in this scenario, the text will be sent before the attachment.

Also, introduced a more general retry loop to retry on *any* failure
during sending.

Previously the only retry logic was around the messages API on the
Signal Server.

Now we'll also retry failures when allocating an attachment, or
uploading an attachment.

TODO: remove the now redundant retry logic in the message sender?

TODO: there is still one place where we send messages directly through
the MessageSender, rather than via the operation - when resending to a
group due to a safety number change. This is separate logic because we
were being sure to *only* resend to that one recipient. Cleaning this up
would move a lot of code around.

Once Signal-Desktop implements timestamp based de-duping we could shave
that wart by having this troublesome codepath use NSOperation like
everything else.

// FREEBIE
2017-03-20 14:53:42 -04:00
Example Include digest in attachments 2017-03-13 12:32:35 -04:00
protobuf Include digest in attachments 2017-03-13 12:32:35 -04:00
src Serialize message sending and generalized retry logic. 2017-03-20 14:53:42 -04:00
tests Include digest in attachments 2017-03-13 12:32:35 -04:00
Utilities Fix typo. 2017-01-23 12:59:35 -05:00
.clang-format Avoid deadlock while accepting new key (#17) 2016-07-18 16:00:59 -07:00
.gitignore Censorship circumvention in Egypt and UAE 2016-12-21 09:56:48 -06:00
.travis.yml Explain send failures for text and media messages 2016-10-24 09:36:51 -04:00
CONTRIBUTING.md contributing.md referencing Signal-iOS coding guidelines. Inlined legal. (#8) 2016-05-18 11:32:10 -07:00
LICENSE Initial commit 2015-12-04 13:22:18 +01:00
Makefile Explain send failures for text and media messages 2016-10-24 09:36:51 -04:00
README.md Get tests + ci running 2016-04-23 20:08:51 -07:00
SignalServiceKit.podspec Censorship circumvention in Egypt and UAE 2016-12-21 09:56:48 -06:00

SignalServiceKit

SignalServiceKit is an Objective-C library for communicating with the Signal messaging service for iOS & OS X