upload --pre-check/--evidence, shots copy translate, game-center --locale-map, play games API-disabled hint
This commit is contained in:
parent
29a9683ab7
commit
8ffa27d4f8
24 changed files with 598 additions and 27 deletions
|
|
@ -1365,3 +1365,42 @@ that fails without the fix (see CONTRIBUTING.md).
|
|||
with what was found. Opening waits up to 15 s: on Windows for a visible top-level window of a process
|
||||
from the installed path (a running `--hidden` tray copy is shown by the single-instance handler, so a second start
|
||||
without `--hidden` opens it), elsewhere for a non-`--hidden` process or a handoff (`tests/desktop-proc.test.ts`).
|
||||
|
||||
## 114. A project's own pre-upload gate ran as a separate step and could be skipped
|
||||
|
||||
- **What happens:** a store-readiness scan of the binary lived in the pipeline next to `apple upload` / `play upload`, so
|
||||
a re-run, a manual upload or a reordered job sent the file without it, and nothing proved afterwards what had run.
|
||||
- **Do:** pass the gate to the upload: `storebound apple upload app.ipa --pre-check "./scan.sh {file}" --evidence
|
||||
build/pre-check.json` (same for `play upload`; or `upload.preCheck` / `upload.evidence` in the config). A nonzero exit
|
||||
refuses the upload before any network call: ship-step exit 1, error code `PRE_CHECK_FAILED`. The evidence (file,
|
||||
sha256, size, command, exit code, stdout tail, time, storebound version) is written also on failure and is in the
|
||||
`--json` / `--result-file` result as `preCheck`.
|
||||
- **Guard:** `cli/lib/pre-check.ts`, `tests/ship-step.test.ts` (failing check: no store write, evidence + error code).
|
||||
|
||||
## 115. `storebound play games` died with a bare 403 when the Games Configuration API was off
|
||||
|
||||
- **What happens:** the Play Games Services Publishing API (`gamesconfiguration.googleapis.com`) is a separate API in the
|
||||
service account's Cloud project; while it is off every call is 403 SERVICE_DISABLED / accessNotConfigured.
|
||||
- **Do:** the error now names the API, the project and the enable URL
|
||||
(`https://console.cloud.google.com/apis/library/gamesconfiguration.googleapis.com?project=<id>`); press Enable, wait a
|
||||
minute, run it again. The plan: `storebound console plan play-games-services` (step 8 has the case).
|
||||
- **Guard:** `gamesApiDisabledText` in `cli/play/games.ts`, `tests/game-services.test.ts`.
|
||||
|
||||
## 116. Game Center creates `en-US` next to a live `en-GB` (spurious creates)
|
||||
|
||||
- **What happens:** the config language `en` is `en-US`, the live Game Center has only `en-GB`; the plan wants to create
|
||||
an `en-US` localization for every item and leaves the `en-GB` ones unmanaged.
|
||||
- **Do:** map it: `storebound apple game-center --locale-map en=en-GB` or `games: { localeMap: { en: 'en-GB' } }`
|
||||
(key: config language id or its App Store locale). The dry run suggests the exact flag when the live Game Center has
|
||||
exactly one variant of a language the config spells differently.
|
||||
- **Guard:** `gcLocaleMap` / `suggestLocaleMap` in `cli/lib/game-services.ts`, `tests/game-services.test.ts`.
|
||||
|
||||
## 117. Screenshot copy missing for a locale, translated by hand into copy.json
|
||||
|
||||
- **What happens:** `storebound check` / `shots render` stopped with "<lang>: no copy" and the only fix was typing every
|
||||
caption.
|
||||
- **Do:** `storebound shots copy translate --to de,es` (agent translates the copied source text, or `--translate "<cmd>"`
|
||||
runs your command per caption field). Languages stay marked machine-translated in `copy.translations.json` until
|
||||
`storebound shots copy reviewed --lang de`. Captions over the limit (eyebrow 30, title line 28, sub 90, badge 18) are
|
||||
not kept.
|
||||
- **Guard:** `cli/shots/copy.ts`, `cli/lib/shots-copy-translate.ts`, `tests/shots-copy-translate.test.ts`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue