Signal-iOS/Signal/src
Evan Hahn 54bcc455b6 Delay gift badge capability check until send time
Previously, we checked capabilities on the "choose gift recipient"
screen. If you had stale profile data, people might _seem_ incapable,
but a later profile refresh would render them capable. We could have
solved this in a few ways, but I matched Android: check the capability
right before sending.

The pseudocode used to be something like this:

```python
def allowed_candidates(all_recipients):
  for recipient in all_recipients:
    if recipient.is_locally_capable:
      yield recipient
```

The pseudocode is now something like this:

```python
def press_donate_button():
  if recipient.is_locally_capable:
    is_capable = True
  else:
    fetch_profile(recipient)
    is_capable = recipient.is_locally_capable

  if is_capable:
    authorize_apple_pay_and_send_badge()
```
2022-06-25 14:43:40 -05:00
..
Calls Computed accessors shold always be in the same order 2022-06-24 09:35:07 -07:00
environment Typo: handleUnexpected{Void -> Voip}Push 2022-05-18 10:45:58 -05:00
Experience Upgrades Fix violations of SwiftLint's attributes rule 2022-05-14 09:07:42 -05:00
Jobs Initial story sending support 2022-06-10 22:28:03 -04:00
Models Prefer implicit getters 2022-06-06 14:00:15 +00:00
UserInterface Fix wrong localization key 2022-05-04 09:54:09 -05:00
util Computed accessors shold always be in the same order 2022-06-24 09:35:07 -07:00
ViewControllers Delay gift badge capability check until send time 2022-06-25 14:43:40 -05:00
views Add rendering support for Gift Badges 2022-06-22 08:05:25 -07:00
AppDelegate.h Show the launch failure screen if the last app launch crashed 2022-04-22 09:55:59 -07:00
AppDelegate.m Add check for being out of disk space, and show launch-failure UI if so 2022-06-14 12:46:30 -07:00
Signal-Bridging-Header.h Remove app screenshot generation code 2022-05-04 12:32:20 -05:00