Sasha Weiss
|
4e37d9b752
|
Downgrade BackupPlan when entitlement expires, not subscription
|
2025-10-06 08:58:00 -07:00 |
|
Sasha Weiss
|
9a35281f52
|
Make BkpSubMgr/redeemSubscriptionIfNecessary await interrupted-and-resumed redemptions
|
2025-09-10 12:55:22 -07:00 |
|
Sasha Weiss
|
26100521d3
|
Set BackupPlan for real on linked devices
|
2025-09-05 13:01:37 -07:00 |
|
Sasha Weiss
|
c4e1ffa37d
|
Serialize AppAttest redemption attempts
|
2025-09-04 12:45:27 -07:00 |
|
Sasha Weiss
|
faef085dc4
|
Skip attempting AppAttest in dev builds
|
2025-08-22 14:31:25 -07:00 |
|
Sasha Weiss
|
1db4d1544f
|
Acquire a Backups entitlement before fetching Backup auth credentials
|
2025-08-21 20:46:25 -07:00 |
|
Sasha Weiss
|
c4f79ad4bc
|
Recover if AppAttest suddenly rejects a previously-attested key
|
2025-08-18 11:27:52 -07:00 |
|
Sasha Weiss
|
acb807acad
|
Adjust /devicecheck TSRequests
|
2025-08-08 13:31:39 -07:00 |
|
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 |
|
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
|
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
|
a819bb4dac
|
Convert TSRequest to a struct
|
2025-04-10 12:49:35 -05:00 |
|
Sasha Weiss
|
ea7488ebff
|
Deprotocolize BackupSubscriptionManager
|
2025-04-07 12:53:23 -07: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 |
|
Max Radermacher
|
95c18efb2d
|
Consolidate TSRequest auth into a single type
|
2025-03-13 13:35:35 -05:00 |
|
Pete Walters
|
515b5f1a28
|
Add support for supplying explicit credentials to storage service request
|
2025-02-11 10:26:52 -06:00 |
|
Sasha Weiss
|
33189a6d95
|
Use info from WhoAmI to decide if we need to redeem our subscription
|
2025-01-03 11:17:40 -08:00 |
|
Sasha Weiss
|
c42557903a
|
Make Backup subscription redemption durable
|
2024-12-05 14:43:11 -08:00 |
|
Sasha Weiss
|
2aacc6c939
|
Hook up BackupSubscriptionManager to Storage Service
|
2024-11-26 13:06:50 -05:00 |
|
Sasha Weiss
|
7675a14766
|
Refactor BackupSubscriptionManager
|
2024-11-26 13:02:08 -05:00 |
|
Sasha Weiss
|
2000b82c0b
|
One KeyValueStore to rule them all
|
2024-11-15 18:47:54 -06:00 |
|
Sasha Weiss
|
46b5b4a9e4
|
Prefix donations-related types with Donations
|
2024-10-25 10:14:56 -07:00 |
|