cross-store text: other platforms named in App Store text (2.3.10: Android, Google Play, ...) or Play text (Metadata: iOS, App Store, Game Center, ...) are refused by every text write (apple / play listing, play release / upload notes, listing set, whats-new, storebound edit, desktop editor), blockers in check / validate, scan other-platforms / play-other-platforms; listing.allowPlatformMentions for the owner's functional mentions; whats-new splits [apple] / [play] lines per store; storebound api --yes without a TTY is refused (exit 1, stderr) instead of a silent dry run; pitfalls 77, 78

This commit is contained in:
CRTkafa 2026-10-20 02:57:25 +07:00
parent 3e4015b686
commit edabbec874
32 changed files with 613 additions and 53 deletions

View file

@ -29,6 +29,20 @@ CI, PR, OTA, fingerprint, bump, deps, ...), version-control words (commit, merge
code identifiers (`saveSlot`, `max_lives`). Each warning names the word and a plain alternative. Rewrite the line;
when a flagged word is a real player-facing term (a character called "Sentry"), add it to `whatsNew.allowWords`.
## One source, two stores: tag store-specific lines
A notes source shared by both stores must not carry one store's lines into the other: a Mac App Store version was
rejected under Guideline 2.3.10 for a What's New with "Google Play Games" and "Android" lines (store-pitfalls 77).
- Tag a line for one store: `[play] Achievements on Google Play Games.` or `• [apple] Game Center leaderboards.`
(also `[android]` / `[ios]`). A line that is only `[play]` starts a block for that store up to the next blank line.
Untagged lines go to both stores; the tag itself is removed.
- The draft leaves an untagged line that names the other side's platform out of that store's draft and says so
(tag it to make it explicit). `whats-new check` and `apply` refuse notes that still name Android, Google Play,
Steam, ... in App Store text or iOS, iPhone, App Store, Game Center, TestFlight in Play text, with language, line
and term; `apple listing`, `play listing`, `play release` / `play upload` (release notes), `listing set` and the
desktop editor refuse the same, dry runs included.
- A functional mention (a "Continue with Google" or "Sign in with Apple" button) is the owner's call: an entry in
`listing.allowPlatformMentions` (`{ store, text, reason }`). Never add one yourself to get past the check.
## Write it for your users
1. Run `storebound whats-new --dry`, read the draft with the owner.
2. Rewrite:
@ -68,5 +82,5 @@ when a flagged word is a real player-facing term (a character called "Sentry"),
## Gotchas
- Squash-merged repos: the PR titles are the subjects; keep them in conventional form (`feat: ...`) to get clean drafts.
- Commits marked `[skip notes]` or `[internal]` are left out.
- Commits marked `[skip notes]` or `[internal]` are left out; `feat: [play] ...` subjects go only into the Play draft.
- Release notes are public: nothing about cheats, exploits, unreleased content or private names.