* Go to chat list view after registration
* sync system contacts during registration
* Use explicit local credentials for storage service operations during registration
* fix tests
* Quick hack to get through double pin confirmation
* Finishing touches
* lint
* fix build
* reload phone number discoverability after storage service sync
* fix tests again
* Take chat auth on account and contact record initializers
* Change around branches for clarity in OWSUserProfile
* pr comments
* Split ChatServiceAuth into the same and AuthedAccount
* fix tests
* merge woes
The Donations screen doesn't currently handle backend
subscription failures well. An example of this is when
the backend encounters a repeated payment processing
failure. Currently, in these situations the donation
screens will display an active donation along with the
renewal date.
To remedy this, the UI now checks that the subscription
status is 'active' before displaying any of the
active subscription UI.
This is similar to 227f05e932.
This change should have no user impact.
This changes the "delete subscriber ID" request in the following ways:
- Adds tests
- Converts it to Swift
- Renames `deleteSubscriptionIDRequest` to `deleteSubscriberID`
- Serializes the data inside the method, rather than requiring callers
to do so
This change should have no user impact.
This changes the "set subscriber ID" request in the following ways:
- Adds tests
- Converts it to Swift
- Renames `setSubscriptionIDRequest` to `setSubscriberID`
- Serializes the data inside the method, rather than requiring callers
to do so
Tested this with automated tests and manually starting a subscription in
staging.
This change should have no user impact.
This argument was never used so we can remove it.
I also fixed a doc comment. It wasn't exactly wrong, but it wasn't
parsed as intended.
This change should have no user impact except a *very* small speedup.
Previously, we were inconsistent in this file. Now, we always call
`recordPendingLocalAccountUpdates()` outside of a write transaction.
For example, if we get the `expired_card` error code back from Stripe,
we should show a specific error to the user.
This introduces some TODOs around error messages in a couple of spots.
We will revisit this when implementing PayPal monthly donations, as is
explained in the comments.
I tested this by using some of [Stripe's test numbers][0] (as well as
automated tests).
[0]: https://stripe.com/docs/testing#declined-payments