Commit Graph

106 Commits

Author SHA1 Message Date
Sasha Weiss
6097c287a3
Skip AppAttest check, for now, if opted into Backups via remote config 2025-07-22 21:17:26 -07:00
Max Radermacher
2585a4101c
Use asyncRequest where trivially possible 2025-07-22 16:28:00 -05:00
sashaweiss-signal
d03f3e3c7d Assume AppAttest generated key string are base64-encoded data 2025-07-18 15:47:06 -07:00
sashaweiss-signal
31324bf1ca Add additional logging to AppAttest key-registration request 2025-07-17 16:24:59 -07:00
sashaweiss-signal
4a69f7eaaa Base64Url-encode keyId param in AppAttest requests 2025-07-17 11:18:25 -07:00
sashaweiss-signal
fc50120d82 Add application/octet-stream header to AppAttest requests with .data bodies 2025-07-16 20:54:02 -07:00
sashaweiss-signal
ae54e70cae Use PUT, not POST, for registering a key in AppAttest 2025-07-16 15:49:29 -07:00
sashaweiss-signal
19e8b24240 Remove leading / from AppAttest request URLs 2025-07-16 14:16:06 -07:00
sashaweiss-signal
8b3d479928 Rotate persisted AppAttest keyId 2025-07-16 14:06:34 -07:00
sashaweiss-signal
2854867f60 Add logging to AppAttestManager 2025-07-16 14:05:22 -07:00
sashaweiss-signal
f2ede4d126 Fix URL path for fetching AppAttest assertion challenge 2025-07-16 12:33:49 -07:00
Sasha Weiss
05b5aa0f90
Add AppAttestManager to use AppAttest to acquire the Backup entitlement for TestFlight builds 2025-07-16 08:37:44 -07:00
Sasha Weiss
4f4c79f532
Add BackupTestFlightEntitlementManager 2025-07-16 08:36:15 -07:00
Sasha Weiss
b7df52ec77
Download offloaded attachments before disabling Backups 2025-07-14 10:32:33 -07:00
Sasha Weiss
ece398b6c1
UX support for Backup subscriptions expired in the past 2025-07-01 10:44:43 -07:00
Sasha Weiss
0103dae13b
Add and use BackupPlanManager to consolidate side-effects of setting BackupPlan 2025-06-30 22:25:05 -07:00
Harry
fe4b14e8ea
Use ConcurrentTaskQueue(concurrentLimit: 1) in place of SerialTaskQueue where possible 2025-06-26 15:23:13 -07:00
Sasha Weiss
be281ae37d
Start the upload queue when setting paid BackupPlan, add UploadEraStore 2025-06-25 16:19:29 -07:00
Max Radermacher
bb2d89e55a
Update to LibSignal v0.75.0 2025-06-17 14:02:29 -05:00
Max Radermacher
a13b225cd5
Asyncify iDEAL callback handling 2025-06-17 00:05:50 -05:00
Sasha Weiss
93d2a9274d
Add optional network/5xx retries to NetworkManager 2025-06-04 14:21:42 -07:00
Sasha Weiss
7940684421
More directly set BackupPlan = .paid when re/enabling Backups 2025-05-30 10:41:36 -07:00
Sasha Weiss
d13e5afb1a
Make BackupPlan more detailed, set in response to more events 2025-05-28 12:50:07 -07:00
Sasha Weiss
81ad376eb1
Avoid enqueuing multiple donation-redemption jobs for a single period 2025-05-15 16:43:44 -07:00
Pete Walters
95779395ac
Remove bank selection from iDEAL donations 2025-05-14 13:05:24 -05:00
Sasha Weiss
7d6edb6412
Bulk rename MessageBackup types 2025-05-13 11:35:52 -07:00
Harry
25b548437e
Remove isFreeTier/uploadEra placeholder methods and use BackupSettingsStore + BackupSubscriptionManager 2025-05-12 23:49:58 -07:00
Sasha Weiss
dec50cfc52
Reregister subscriberID for StoreKit subscription if remote Subscription missing 2025-05-12 12:28:05 -07:00
Sasha Weiss
cb90733631
Support enabling/disabling Backups from Settings 2025-05-12 12:27:10 -07:00
Sasha Weiss
b8eda921c4
Only attempt to redeem a Backups subscription on registered primaries 2025-05-02 14:19:00 -07:00
Sasha Weiss
9e73a8bd52
Add ChooseBackupPlanView 2025-05-01 10:31:17 -07:00
Max Radermacher
2cfaebf865
Delete the old subscription when starting anew 2025-04-21 14:40:53 -05:00
Max Radermacher
1f134a2d85
Use awaitableWrite when cancelling subscription 2025-04-21 11:30:06 -05:00
Max Radermacher
a819bb4dac
Convert TSRequest to a struct 2025-04-10 12:49:35 -05:00
sashaweiss-signal
0ddbf31a86 Remove two unused-beyond-test inits for Subscription.ChargeFailure 2025-04-07 13:55:15 -07:00
Sasha Weiss
ea7488ebff
Deprotocolize BackupSubscriptionManager 2025-04-07 12:53:23 -07:00
Sasha Weiss
969b0db854
Add SubscriptionFetcher, decoupled from donations 2025-04-07 12:52:44 -07:00
Sasha Weiss
43be0e5eec
Use system localization for currency formatting 2025-04-03 11:17:58 -07:00
Pete Walters
a3e8141ba9
Asyncify DonationSubscriptionManager (part 2)
Co-authored-by: Ehren Kret <ehren@signal.org>
2025-03-25 16:59:45 -05:00
Sasha Weiss
1a5cbd9183
Rename postNotificationNameAsync to postOnMainThread 2025-03-21 15:28:35 -07:00
Sasha Weiss
be619eb10b
Make DBWriteTransaction only take sync completions 2025-03-21 15:27:42 -07:00
Max Radermacher
10cb6f69f7
Use HttpHeaders in more places 2025-03-21 13:53:38 -05:00
Ehren Kret
7c0c2de8d3 convert some donation logic from promises to swift concurrency 2025-03-14 09:24:33 -05:00
Sasha Weiss
bb048e8b59
One transaction type to rule them all and in the darkness bind them 2025-03-13 21:43:35 -07:00
Sasha Weiss
047e3a38df
Clean up SDSAnyWriteTransaction async completion 2025-03-13 21:38:21 -07:00
Max Radermacher
95c18efb2d
Consolidate TSRequest auth into a single type 2025-03-13 13:35:35 -05:00
Max Radermacher
6abe506cb0
Asyncify fetchLocalUsersProfile 2025-03-10 13:51:00 -05:00
Pete Walters
c6e3692633
Asyncify Stripe methods 2025-03-07 12:29:07 -06:00
Max Radermacher
c2070943a5
Prefer infallible String → Data construct 2025-03-06 13:56:16 -06:00
Sasha Weiss
1082e08786
Always suppress 409 errors from donation subscription-redemption jobs 2025-03-05 12:28:37 -08:00