apple testflight distribute: a build's groups read per group (GET /v1/betaGroups/{id}/relationships/builds) instead of GET /v1/betaGroups?filter[builds]=, which App Store Connect refuses with 400 although the spec declares it; internal all-builds groups reported as already available and never sent the build; a re-run adds nothing; configured groups missing on App Store Connect point at groups sync, unknown ones list what exists; APPLE_LIVE_REJECTED (refused by storebound api too), tests/asc-query-guard.test.ts checks every App Store Connect GET with a query in cli/ against the spec's declared parameters, and the fake App Store Connect answers 400 to undeclared or live-refused parameters (pitfall 42)
This commit is contained in:
parent
f741c15829
commit
bba46b5c7f
13 changed files with 354 additions and 14 deletions
17
CHANGELOG.md
17
CHANGELOG.md
|
|
@ -56,6 +56,23 @@ once per card.
|
|||
on page 1), then the same dry diff and `--write`.
|
||||
- Pitfalls 38-41.
|
||||
|
||||
TestFlight distribute from real use (2026-10-13, pitfall 42):
|
||||
|
||||
- Fix (`apple testflight distribute`): it failed with 400 right after printing the build state, because App Store
|
||||
Connect refuses `GET /v1/betaGroups?filter[builds]=` although Apple's spec declares the filter (and the spec has no
|
||||
GET of a build's groups). A build's groups are now read per target group with
|
||||
`GET /v1/betaGroups/{id}/relationships/builds`. An internal group with all builds is reported as "already
|
||||
available to <group> (internal, all builds)" and never sent the build (App Store Connect refuses that); internal
|
||||
groups without all builds and external groups get it through the relationship; a re-run adds nothing.
|
||||
- Fix (`apple testflight distribute`, `testers`): a group in `apple.testflight.groups` that is not on App Store
|
||||
Connect yet says so and names `storebound apple testflight groups sync`; a group in neither lists the groups that
|
||||
exist (was `unknown group "Team" ()`).
|
||||
- Guard: `tests/asc-query-guard.test.ts` walks every App Store Connect GET with a query that `cli/` builds (template
|
||||
literals and the URLSearchParams they interpolate) and fails offline on a path that is no declared GET, a query
|
||||
parameter the operation does not declare in `cli/api/apple.gen.ts`, or one in the new `APPLE_LIVE_REJECTED` list
|
||||
(declared, refused live). `storebound api apple` refuses those parameters too. The fake App Store Connect in the
|
||||
tests answers 400 PARAMETER_ERROR.ILLEGAL to such parameters, as the live API does.
|
||||
|
||||
## 0.7.1 · 2026-10-13
|
||||
|
||||
- Fix: README links and images on npmjs.com resolved against npmjs.com and gave 404 (`docs/README.md`, the logo).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue