You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
asc subscriptions prices set-batch sends one request instead of one per territory — it now sends a single PATCH /v1/subscriptions/{id} with every price inlined (SubscriptionPriceInlineCreate) instead of one POST /v1/subscriptionPrices per territory. Pricing all 175 territories took 175 sequential POSTs (over a minute per subscription), and a failure partway through left some territories priced and others not; Apple now applies the batch all-or-nothing. The REST POST /api/v1/subscriptions/:id/prices route benefits too, since it uses the same repository method.
Subscription price schedules no longer drop manual prices after the first 50 — subscription-price-schedule get (and the read-back after set-batch) fetched /v1/subscriptions/{id}/prices without a limit, so only Apple's default first page came back and the other territories were filled with the first price's equalizations, showing wrong prices where custom per-territory prices were set. It now requests limit=200 and follows the pagination cursor.
The other per-territory price lists no longer stop at 50 — the same truncation affected iap-price-schedule get (manual prices), iap-offer-codes prices list, subscription-offer-codes prices list, subscription-promotional-offers prices list and win-back-offers prices list. They called Apple without a limit and read one page, so any territory past Apple's default 50 was missing. They now request limit=200 and follow every page through a shared APIClient.requestAllPages(_:nextCursor:) helper, which subscription-price-schedule get uses too.
Offer price lists now show each price's territory and price point — iap-offer-codes prices list, subscription-offer-codes prices list, subscription-promotional-offers prices list and win-back-offers prices list returned entries with only id and the offer ID, because Apple sends a price's territory and price point only when the request asks for them with include=. The requests now include both, so territory and the price-point ID are filled in, over CLI and REST.
More list commands no longer stop at Apple's first page — reviews list, devices list, bundle-ids list, profiles list (with and without --bundle-id-id), users list, versions list, builds uploads list, xcode-cloud builds list and diagnostics list read a single page with no limit, so anything past Apple's default page size (50 for most endpoints, 20 for bundle IDs) was silently dropped. They now request limit=200 and follow every page through APIClient.requestAllPages. On a real account, builds uploads list went from 50 to 122 entries and bundle-ids list from 20 to 85.
profiles list shows each profile's bundle ID again — without --bundle-id-id, every profile came back with bundleIdId: "" (and a broken listProfiles affordance), because the bundle ID linkage is only returned when the request asks for it with include=bundleId. The request now includes it.