|
|
4d70be3404
|
apple submit --yes submits a draft prepared with --no-submit that already holds the version and items (was 'nothing to submit'); iap-submit the same for a draft holding the asked-for items; test, pitfall 90, CHANGELOG
|
2026-10-21 11:19:50 +07:00 |
|
|
|
0d1926f7d7
|
storebound 0.8.22: version in package.json and every copy, CHANGELOG 0.8.22 section
|
2026-10-21 05:42:04 +07:00 |
|
|
|
327a85e042
|
console verify: an older page's long labelled radio still counts from page text when the sheet answers Yes / No; tests and the teaser follow the new sign-in details question and the added App Privacy step
|
2026-10-21 05:39:45 +07:00 |
|
|
|
b6ea9159d8
|
review-details: a reviewContact that is present but has empty fields (or no usable email) is named as such with its file, instead of 'no review contact'
|
2026-10-21 05:37:45 +07:00 |
|
|
|
9c1f146c05
|
flags regenerated
|
2026-10-21 05:36:12 +07:00 |
|
|
|
aceb994cae
|
testflight distribute: groups of apple.testflight.groups missing on App Store Connect are created first (only the asked-for ones, never removed; dry run shows it); tests, skill, CHANGELOG
|
2026-10-21 05:35:19 +07:00 |
|
|
|
163e666834
|
Game Center switch before submit: apple submit / resubmit and signing ensure create gameCenterDetails and gameCenterAppVersions when Game Center is in use (config, entitlements or the built IPA), shown in the dry run; validate blocks on either missing; fake 409 BUILD_INDICATES_GAME_CENTER_ENABLED until both exist; pitfall 89
|
2026-10-21 05:33:53 +07:00 |
|
|
|
dd9e059036
|
desktop coverage: apple game-center, play games and games status mapped to the Game services card
|
2026-10-21 05:29:55 +07:00 |
|
|
|
567d6ca181
|
gen-flags: Args.required reads are flags too (edit --ops, privacy-manifest --ios, apple listing --version were refused as unknown options); play games client listAll (no false flags)
|
2026-10-21 05:29:08 +07:00 |
|
|
|
d427b5c4a4
|
apple game-center: literal API paths (query guard reads them); api coverage regenerated
|
2026-10-21 05:29:08 +07:00 |
|
|
|
93d7f8a5fc
|
docs: game-services skill (Game Center + Play Games Services step by step), pitfall 86, commands, CHANGELOG Unreleased; adapters regenerated
|
2026-10-21 05:29:08 +07:00 |
|
|
|
22286c7e02
|
desktop: Game services card in App info (Game Center and Play Games Services status, ids, counts vs config, pending changes, sync buttons through the confirm-token write, PGS setup plan, console links); en + tr strings; dev fixture
|
2026-10-21 05:29:02 +07:00 |
|
|
|
26f0723641
|
games status: both stores' game services in one read-only report (CLI, MCP games_status, desktop read method); --json status output stays pure JSON
|
2026-10-21 05:28:47 +07:00 |
|
|
|
a4c31e096b
|
tests: game services on both stores against the fakes (capability ensure, Game Center enable and read-back, leaderboard / achievement create, update, no-op, lost answers), entitlement and APP_ID checks, PGS console plan URLs and verify, validate findings; fake Games Configuration API
|
2026-10-21 05:28:47 +07:00 |
|
|
|
9f48dd57a4
|
MCP: apple_game_center, apple_game_center_status, play_games, play_games_status (writes dry by default)
|
2026-10-21 05:28:47 +07:00 |
|
|
|
3116c230ae
|
scan: Play Games Services dependency without the APP_ID meta-data or resource (sign-in fails at runtime)
|
2026-10-21 05:28:47 +07:00 |
|
|
|
23f7c5a5eb
|
validate / check: Game Center entitlement vs App ID capability vs config, the PGS APP_ID resource vs Gradle and config, store state vs the games list, player id as User ID reminders (App Privacy USER_ID, Data safety PSL_USER_ACCOUNT)
|
2026-10-21 05:28:47 +07:00 |
|
|
|
5a5d7fd4e7
|
console plan play-games-services: agent-first PGS setup (games project, Android credential with the app-signing SHA-1, web OAuth client, owner's Publish) with absolute Play Console and Google Cloud links, and console verify from the page text
|
2026-10-21 05:28:47 +07:00 |
|
|
|
ca7289b173
|
games: one config section for Game Center and Play Games Services (shared leaderboards and achievements); apple game-center (gameCenterDetails, gameCenterAppVersions, leaderboards, achievements and localizations, upsert by vendor id, read back); play games (Games Configuration API upsert, no POST retry); signing ensure adds GAME_CENTER when games.gameCenter
|
2026-10-21 05:28:47 +07:00 |
|
|
|
eebb3a830b
|
docs: desktop.md (coverage map, More tools tab), CHANGELOG Unreleased
|
2026-10-21 05:14:24 +07:00 |
|
|
|
dc6bb088a1
|
desktop coverage: every CLI command mapped to its window place (cli/lib/desktop-coverage.ts), docs/desktop-coverage.md generated from it, guard test fails on a gap or an unjustified not-for-desktop
|
2026-10-21 05:14:16 +07:00 |
|
|
|
a95aa6dd49
|
desktop: More tools tab, one typed form per CLI command without a screen (schema from system.methods; reads run, writes dry run + native dialog + token) and the owner steps with their terminal command; en + tr
|
2026-10-21 05:14:16 +07:00 |
|
|
|
ce1b1edcb8
|
serve: desktop methods for play build / upload / share / app-id, apple build / upload / signing ensure / adhoc register + export, shots fonts / jpeg, install (dry run first; the host token answers their question)
|
2026-10-21 05:14:16 +07:00 |
|
|
|
335a4124ab
|
console plans: guardrails from a real run (2026-10-21): health none label and Sign in details Yes/No + Add details (old labels as altLabels, verify accepts both), finance boxes on step 1, App Privacy Additional Setup Required OK, verify from DOM input states (verify.capture, --from), Save + confirm before every Next on Play pages, IARC Digital purchases boxes and an exact-label in-page helper that refuses patterns and blanket answers; review contact found in parent folders, the profile and more key shapes with the files checked listed; one-line errors for missing required values (Args.required); pitfalls 86-87, tests
|
2026-10-21 05:03:02 +07:00 |
|
|
|
a6dab8f3aa
|
storebound 0.8.21: version in package.json and every copy, CHANGELOG 0.8.21 section
|
2026-10-21 04:03:24 +07:00 |
|
|
|
f5e7b907a9
|
acceptance: storebound api --yes without a terminal is refused (exit 1, nothing sent) since the TTY rule; the cell still expected a silent dry run and turned every acceptance job red
|
2026-10-21 04:01:41 +07:00 |
|
|
|
dda21d2570
|
shots record (web): frames at device pixels through Page.captureScreenshot (clip scale = dpr, long side capped at 1920, 3 requests in flight, midpoint timestamps into the ffmpeg concat); Chromium's screencast stayed at CSS size. Warnings for frames smaller than asked and under 20 frames/s; record-web browser test, pitfall 85
|
2026-10-21 03:59:39 +07:00 |
|
|
|
2d7cf6ec2b
|
storebound 0.8.20: version in package.json and every copy, CHANGELOG 0.8.20 section
|
2026-10-21 03:16:27 +07:00 |
|
|
|
ef3c66e8f0
|
release: the Linux / Windows updater signatures are made on the VDS (desktop-release add-remote, vds-key; tools/vds-sign.ts); the Mac no longer downloads those installers, verifies each returned .sig over its BLAKE2b-512 digest before publishing; release.ts --sign-local keeps the old path
|
2026-10-21 03:14:53 +07:00 |
|
|
|
d94bf67340
|
tests: the AAB fixture targets API 36 (Play's minimum since 2026-08-31; play upload now refuses 35)
|
2026-10-21 03:08:43 +07:00 |
|
|
|
3a11682a37
|
shots: app titles get the weights the templates use (variable axis, used range or static weights; font-weight warning), palette.bg as one colour or a CSS gradient string (validated; contrast guard in shots check), photo backgrounds (palette.image, shots.feature.background) with overlay and cover crop
|
2026-10-21 03:07:26 +07:00 |
|
|
|
2ba8278ab7
|
storebound 0.8.19: version in package.json and every copy, CHANGELOG 0.8.19 section
|
2026-10-20 13:44:41 +07:00 |
|
|
|
353e13d5be
|
shots: Playwright's chromium is taken from the namespace or default of a project's CommonJS playwright; a module without chromium.launch names the resolved file and its exports (a project's playwright 1.57 under a global Bun install gave 'reading launch of undefined'); tests: the review-account fixture typechecks
|
2026-10-20 13:44:22 +07:00 |
|
|
|
ac84ad4bbf
|
storebound 0.8.18: version in package.json and every copy, CHANGELOG 0.8.18 section
|
2026-10-20 13:11:36 +07:00 |
|
|
|
8c1a01d856
|
config loads without Node's MODULE_TYPELESS_PACKAGE_JSON warning in a CommonJS project; capture sign-in docs use captureAuth and check notes a local capture that signs in with reviewDemoAccount (the App Review account)
|
2026-10-20 13:11:10 +07:00 |
|
|
|
2fdd96e68c
|
storebound 0.8.17: version in package.json and every copy, CHANGELOG 0.8.17 section
|
2026-10-20 12:44:41 +07:00 |
|
|
|
e1e4e05237
|
shots capture: signed-in web apps (shots.capture.auth request with ${cred:}/${env:} references or storageState), shots login saves a demo sign-in to .storebound/auth.json (0600), expired-session warning, secrets and cookies masked
|
2026-10-20 12:41:43 +07:00 |
|
|
|
3949ff1531
|
storebound 0.8.16: version in package.json and every copy, CHANGELOG 0.8.16 section
|
2026-10-20 12:16:54 +07:00 |
|
|
|
9ab64bcbdf
|
apps folders add adds the folder (template note, refusals with reasons); MCP: .mcp.json never spawns a missing plugin path (sh fallback to PATH, npx), mcp/serve skip the self-update, spawned handshake test; store build minimums in one dated table: Play target API 36 and App Store Xcode 26 / SDK 26 blocked in scan, validate, play upload/release, apple upload; pitfalls 81-83
|
2026-10-20 12:15:00 +07:00 |
|
|
|
9805582278
|
storebound 0.8.15: version in package.json and every copy, CHANGELOG 0.8.15 section
|
2026-10-20 03:31:36 +07:00 |
|
|
|
7c04a0653b
|
desktop boot check: match the submit dry run by its fields, not the exact JSON (the call carries platform since the macOS support; 0.8.14's Mac build stopped on it)
|
2026-10-20 03:29:59 +07:00 |
|
|
|
e59539fec8
|
shots: Mac App Store screenshots (mac size, APP_DESKTOP to the macOS version), a landscape layout (Mac window or bare; Mac, Play Chromebook, Play tablets), safe margins in every template checked by shots check from the render's layout boxes, a contact sheet timeout that scales with images, sizes and load; pitfall 80
|
2026-10-20 03:29:19 +07:00 |
|
|
|
30488c512d
|
release: the desktop typecheck runs before the tag (0.8.14's Mac build stopped on an unused variable after the tag); a staged npm publish (409 previously staged) waits for the maintainer's approval instead of 5 minutes of polling; cross-store: drop the unused variable
|
2026-10-20 03:16:23 +07:00 |
|
|
|
7b4b716fc6
|
storebound 0.8.14: version in package.json and every copy, CHANGELOG 0.8.14 section
|
2026-10-20 03:09:33 +07:00 |
|
|
|
74101edeca
|
api tables regenerated (the new creative-assets and platform commands wrap more operations)
|
2026-10-20 03:08:37 +07:00 |
|
|
|
9db7180eb9
|
merge origin/main (cross-store text checker); macOS platform pitfall renumbered to 79
|
2026-10-20 03:06:16 +07:00 |
|
|
|
c2f34c62f3
|
apple creative-assets: place Header and Search Results assets once Apple approved them (the version page offers only approved assets); waiting files are reported per locale and placement with their upload date and the re-run command, in the run, --verify, validate and the report; iPhone Duo: the published API spec still has no Duo type, the note says the console takes Duo and the API does not yet
|
2026-10-20 03:04:14 +07:00 |
|
|
|
47dfd372fe
|
apple: macOS (tvOS, visionOS) versions are no longer invisible: every version and review submission lookup is per platform; status, listing, listing pull, resubmit, submit, release and screenshots take --platform and otherwise pick the platform that has the version they need (refuse naming both when several do); status, validate, release status, the report and the desktop label versions with their platform; MCP and owner actions get platform; pitfall 77
|
2026-10-20 03:00:05 +07:00 |
|
|
|
edabbec874
|
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
|
2026-10-20 02:57:25 +07:00 |
|
|
|
1736300784
|
apple creative-assets: a placement App Store Connect refuses on the live version is reported with the live version page's deep link, the live page stays unchanged (new placement first, old one removed after) and the other live slots are not retried; pitfall 76
|
2026-10-20 02:50:09 +07:00 |
|