Signal-iOS/src
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
..
Account Enable WebRTC-based audio and video calls by default. 2017-02-22 09:51:45 -05:00
Contacts Respond to CR. 2017-03-16 13:53:06 -03:00
Devices Attempt to fix the "frequent attachment download errors with low server ids". 2017-03-15 12:17:54 -03:00
Messages Serialize message sending and generalized retry logic. 2017-03-20 14:53:42 -04:00
Network Attempt to fix the "frequent attachment download errors with low server ids". 2017-03-15 12:17:54 -03:00
Protocols WebRTC calling 2017-01-11 17:15:20 -05:00
Security Censorship circumvention in Egypt and UAE 2016-12-21 09:56:48 -06:00
Storage Fix crash-on-launch for older installs 2017-03-03 15:32:18 -05:00
Util Respond to CR. 2017-03-14 14:09:57 -03:00
TextSecureKitEnv.h WebRTC calling 2017-01-11 17:15:20 -05:00
TextSecureKitEnv.m Repsond to CR w/ @cmchen. 2017-02-02 15:15:38 -05:00
TSConstants.h Fix register w/o background fetch & stale push tokens 2016-11-03 16:10:06 -04:00
TSPrefix.h Clean up prekey usage. 2017-02-14 13:39:52 -05:00