Signal-iOS/SignalServiceKit
Evan Hahn f5556d1857
Use durable job for sending badge gifts
Previously, sending a gift badge was not a durable operation, which
meant that crashes/failures could cause users to have their payment
methods charged without actually sending the badge.

Now, the flow is split up into two steps: non-durable parts before the
charge is attempted, and durable parts afterward.

The high-level flow is:

1. Prepare the payment, which involves a couple of repeatable network
   requests.
2. Enqueue a job with the prepared payment, that:
   1. Charges the payment method (idempotently)
   2. Requests a receipt credential (idempotently)
   3. Enqueues a gift message, and optionally a text message
3. When the job completes, open the conversation in the UI.
2022-07-01 17:10:31 -05:00
..
protobuf Send and receive sync transcripts for story messages 2022-06-24 00:35:31 -04:00
Resources Use durable job for sending badge gifts 2022-07-01 17:10:31 -05:00
src Use durable job for sending badge gifts 2022-07-01 17:10:31 -05:00
tests Fix crash when deleting messages from the future 2022-06-27 09:02:04 -07:00
Utilities More Python 3 script fixes 2022-03-24 10:28:27 -05:00
.clang-format Update clang-format with AllowShortEnumsOnASingleLine: false 2022-03-14 11:20:20 -07:00
.gitignore
.travis.yml
CONTRIBUTING.md Change references from master to main 2022-05-02 10:30:40 -05:00
LICENSE
README.md Convert to just using CocoaPods for dependencies 2020-01-02 12:03:57 -08:00

SignalServiceKit

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

To use SignalServiceKit via CocoaPods add the following to your Podfile

pod 'SignalServiceKit', git: 'https://github.com/signalapp/Signal-iOS.git'