|
|
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 |
|
|
|
98d3bf4410
|
creative-assets: the dry run plans one upload per file, not per slot (a shared file used by 13 locales read as 26 uploads)
|
2026-10-19 06:01:56 +07:00 |
|
|
|
7e69883dfc
|
creative-assets: the no-files message names the shared creative folder too
|
2026-10-19 05:47:54 +07:00 |
|
|
|
3542b897c8
|
creative assets: <renders>/creative/header.* / search.* fill every language without its own file (art without words needs no copy per locale; one upload, placed per locale)
|
2026-10-19 05:47:27 +07:00 |
|
|
|
c03291e7f7
|
apple creative-assets: a live app without an editable version uses the live version (only approved assets are selected there; new ones upload and wait for a review of their own via --add-for-review); pitfall 76: placements read back ACTIVE live, a state the 4.5.1 spec does not list
|
2026-10-19 05:45:47 +07:00 |
|
|
|
183579449c
|
apple creative-assets: select Header and Search Results assets once processed (Prepare for Submission), not once approved: Apple reviews an asset only in a review submission, so 0.8.13 waited forever; upload and select in one run with a bounded processing wait; --add-for-review puts unreviewed assets into the draft review submission (never submits); --verify reads every slot back read-only (MCP apple_creative_assets_verify); a rejected file or one that failed processing twice is not re-uploaded, an archived copy is unarchived; fake commits library assets to PREPARE_FOR_SUBMISSION; pitfall 76 rewritten; apple-name check test only looks at name hints
|
2026-10-19 05:42:53 +07:00 |
|
|
|
3e4015b686
|
ci: the background acceptance jobs start after the Linux and Windows installer builds (0.8.13's Windows installer waited behind six acceptance jobs on the one Windows runner); release: an npm deprecation already set by an earlier npm-publish run (422) is not an error
|
2026-10-18 13:38:26 +07:00 |
|
|
|
d006f8d932
|
storebound 0.8.13: version in package.json and every copy, CHANGELOG 0.8.13 section
|
2026-10-18 13:13:16 +07:00 |
|
|
|
e5369090fa
|
apple creative-assets: App Store Header and Search Results (PRODUCT_PAGE_HEADER_ASSET, APP_STORE_SEARCH_RESULTS_ASSET) through the App Asset Library: local size / alpha / video checks, upload once by MD5, select only approved assets, replace on a changed file; check / validate note, MCP tool, gallery and desktop Art row, docs, pitfall 75
|
2026-10-18 13:10:20 +07:00 |
|
|
|
14ffe3545a
|
npx / bunx storebound always run the newest version: a copy started from the npx or bunx cache re-runs the command as storebound@<newest> when npm has a newer one (registry asked at most every 10 minutes, 1.5 s timeout; off with STOREBOUND_NO_UPDATE=1, in CI and offline); a project install gets a one-line note instead
|
2026-10-18 13:09:06 +07:00 |
|
|
|
3381673ae6
|
iPhone Duo screenshots (render, check, upload skip with console link while the API has no display type) and the medium display class as the required iPhone set, labels as in the console
|
2026-10-18 13:07:15 +07:00 |
|
|
|
0b32df57f0
|
desktop-release: tauri only signs; the app is notarized with notarytool directly (up to 3 tries, later ones without S3 acceleration) and stapled, because the upload inside tauri bundle was cut off twice for 0.8.12 with no retry
|
2026-10-18 02:43:59 +08:00 |
|
|
|
d2ae0fa765
|
release: one release at a time (a lock with the pid in ~/.storebound-releases/release.lock): two runs once built into the same target folder and both failed
|
2026-10-18 02:32:44 +08:00 |
|