play: an edit Play will not send for review (400 'set changesNotSentForReview to true', a game 1.0.1 (5) after a rejection) is validated and committed again on the same edit with changesNotSentForReview=true; dry runs validate that way and say so; prints the Publishing overview link (owner's button), records it in .storebound/ for play status; --not-sent-for-review on release / upload / rollout / listing / images and MCP / desktop; pitfall 72

This commit is contained in:
CRTkafa 2026-10-16 05:50:37 +08:00
parent dcca4e86e4
commit 220e9bb072
19 changed files with 305 additions and 41 deletions

View file

@ -834,3 +834,21 @@ that fails without the fix (see CONTRIBUTING.md).
- **Guard:** `cli/lib/console-links.ts` (every page key, absolute URL with and without ids; `url` in validate / scan /
declarations / release plan JSON, an Open button in the desktop) and `tests/console-links.test.ts`, which fails on a
console path in cli/ or templates/ without an https URL.
## 72. Play refused to send an edit for review: "set changesNotSentForReview to true"
- **Symptom:** `storebound play release <aab> ... --dry` (or a real run) uploads and updates the tracks, then
edits.validate or edits.commit answers 400 "Changes cannot be sent for review automatically. Please set the query
parameter changesNotSentForReview to true."
- **Cause:** after a rejection (here production 1.0.0 (3), Broken Functionality), with other changes pending in the
Console or with managed publishing, Play no longer sends an API commit for review by itself. The edit is fine; only
the automatic send is refused. storebound <= 0.8.8 stopped there.
- **Do:** nothing by hand: storebound validates and commits the same edit again with changesNotSentForReview=true
(`--not-sent-for-review` sets it from the start; MCP `not_sent_for_review`). A dry run says the real run will commit
that way. Then the owner presses **Send changes for review** in Publishing overview (storebound prints the deep link):
that button is the owner's, never press or automate it. The API has no read of "waiting for Send changes for
review", so storebound records its commit in `.storebound/play-review-pending.json` and `storebound play status`
shows "changes committed <time>, waiting for Send changes for review: <link>" (`--review-sent` forgets it; a later
commit Play sends by itself clears it).
- **Guard:** `isReviewRefused` and the edit flow in `cli/play/client.ts` / `cli/play/review-pending.ts` (only that 400;
no other request is repeated, the same edit id), `play status` (text and `reviewPending` in --json);
`tests/play-not-sent-for-review.test.ts` (fake Play refuses validate / commit once).