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()
```
|
||
|---|---|---|
| .. | ||
| Calls | ||
| environment | ||
| Experience Upgrades | ||
| Jobs | ||
| Models | ||
| UserInterface | ||
| util | ||
| ViewControllers | ||
| views | ||
| AppDelegate.h | ||
| AppDelegate.m | ||
| Signal-Bridging-Header.h | ||