Signal-iOS/Signal.xcodeproj
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
..
project.xcworkspace Removing developer-specific junk. 2015-01-04 11:30:23 +01:00
xcshareddata Show the launch failure screen if the last app launch crashed 2022-04-22 09:55:59 -07:00
project.pbxproj Use durable job for sending badge gifts 2022-07-01 17:10:31 -05:00