edbcdad15d
gradle: comment without a home path
2026-10-29 20:21:52 +07:00
6ebb656018
apple listing: a new version inherits the previous version's release type when apple.releaseType is unset; warn when the config differs
2026-10-29 20:19:21 +07:00
ab69ce020c
play build: absolute --dir stays absolute; gradlew without exec bit is made executable
2026-10-29 20:19:16 +07:00
a108aae53f
mcp --http: --broker-profiles (store keys from the broker vault, memory only), --read-only, project by folder name under the roots
2026-10-29 18:38:11 +07:00
164ba390dd
check / scan: project walks skip dot folders, worktrees and git-ignored output, no stat per entry (244 s -> 46 s on a big game repo)
2026-10-29 17:29:28 +07:00
9a878d6562
apple upload: find the IPA of a build made with --out (build notes it in .storebound/last-apple-build.json; upload --out; the error names every folder searched and the last build's IPA)
2026-10-27 18:58:48 +07:00
2dc20b61de
regenerate embedded skills
2026-10-27 17:10:59 +07:00
85cf494c0a
apple: release type (apple.releaseType, apple release --after-approval|--manual), device-family preflight, TestFlight invite needs an installable build
2026-10-27 17:07:37 +07:00
0858f4e538
path-free: a shared build folder outside home is not a leak (only home and user-name paths are private)
2026-10-26 20:13:11 +07:00
f109c519ae
apple build: --derived-data (default <out>/DerivedData with --out), --path-free (Swift/clang prefix maps, no serialized debug options) and an archive path scan
2026-10-26 19:12:21 +07:00
ae9d26d3f6
Updates are agent steps: --yes ships an update of a live app (Play production, App Store submit / release) without an owner gate; the first release stays the owner's (exit 3 OWNER_STEP, --first-release); apple release is a ship step
2026-10-26 18:09:50 +07:00
5833776a4b
analytics and reports for a collector: store-only configs, --json snapshot, App Usage and Play install stock numbers, per-day sales ranges for both stores
2026-10-26 10:20:27 +07:00
2c5e30090f
credential broker: Play tokens from POST /api/google/token (cached, single flight, local key fallback), grants and APIs per package in validate, Play write preflight, apps check and the desktop Accounts view; Google 403 names the API or grant, no retry
2026-10-25 22:51:32 +07:00
304407e523
apple signing: App Group association fails early under automatic signing too (API capability + newest profile, steps and deep link, exit before the archive); console plan/verify apple-app-group
2026-10-25 22:35:36 +07:00
445ab1adbc
apple signing: every signable target (extensions, App Group check), build keychain unlock over SSH, api confirm docs
2026-10-24 13:07:58 +08:00
0ef27cf2e4
desktop: five sections by job (Release, Store page, Revenue, Players, Health), Game services view, sidebar by attention
...
- app view: 12 tabs become 5 sections, each with a header (what it is for, the one next step from state
already read) and its sub views in a segmented control; 1-5 jump, Ctrl+Shift+[ ] cycle, Ctrl+K and the
context menu list sections and sub views; old tab ids, section and section/sub links all resolve
- Players > Game services (games only): both stores, one row per leaderboard / achievement with its
languages and each store's state, Game Center locale map, Play API-disabled state with the console plan
- games status --json: items, localeMap, playApiDisabled; inspect summary: games
- sidebar: apps grouped by attention / in progress / live / not on a store, one status line each, studio
filter, workspace as a footer icon row
- boot check opens places like a person (section, then sub view)
2026-10-24 13:06:42 +08:00
98cd1d3c92
embedded: regenerated
2026-10-24 13:02:02 +08:00
61b5fa0623
shots: feature rotate, per-language frame fallback, layout-aware capture selectors
2026-10-24 13:00:48 +08:00
2e1c7cdc3c
mas: placeholders the scrub accepts
2026-10-24 12:23:53 +08:00
f588f4e1aa
path-free: no cargo trim-paths (nightly only)
2026-10-24 12:23:20 +08:00
0263f62443
mas build: cargo target folder is src-tauri/target
2026-10-24 12:23:20 +08:00
9a937b5512
apple build --platform macos --tauri: Mac App Store build of a Tauri app (sandbox entitlements, profile, productbuild pkg, path-free, checks); apple upload accepts the pkg
2026-10-24 12:22:27 +08:00
8084104a4d
desktop coverage entry for shots copy
2026-10-24 12:16:49 +08:00
fb1609cba7
upload --pre-check/--evidence, shots copy translate, game-center --locale-map, play games API-disabled hint
2026-10-24 12:16:48 +08:00
26f9559e1a
play-publish-changes: a release is ready only when the store page shows an older version; unknown reads are not determined, never a mismatch
2026-10-24 12:12:37 +08:00
1bb43fd4a0
play managed publishing: console plan/verify play-publish-changes, ready-to-publish items in play status, desktop hint
2026-10-24 11:56:07 +08:00
4dff7d9b2e
desktop open: Windows window check uses real top-level windows (the tray helper windows and MainWindowHandle also answer for a hidden app)
2026-10-23 22:53:30 +08:00
8df41a26b0
desktop open: a hidden tray copy that is already running counts once its window is visible (Windows), graceful stop wait 3 s on Windows
2026-10-23 22:53:30 +08:00
d4cf1ad3a1
shots: full-bleed layout (shots.layout bleed) with corner captions, per-size frames, and landscape orientation, on top of the landscape sizes
2026-10-23 22:45:10 +08:00
8f69a27709
desktop install: stop the running app by exact path, check the installed exe's real version, verify it opened
2026-10-23 15:57:32 +07:00
b0641c1fc8
play products: clamp regional prices to Play's min/max, per-product results; apple iap: skip live localizations, per-product results
2026-10-23 16:53:25 +08:00
487e138f9d
watch: ingest sink (--notify ingest) posting events to a push ingest endpoint
2026-10-23 15:30:18 +08:00
84efa4e913
desktop coverage: place for the status command
2026-10-23 14:14:02 +08:00
960e084bea
ship step: apple build plan keeps its version and build in --json; test fixtures pass the scrub (documentation IPs, neutral home paths, 10-char key ids)
2026-10-23 13:55:44 +08:00
06a0b424f5
Ship-step contract for pipelines: uniform exit codes (0/1/2/3/4/7) in cli/lib/ship-step.ts, one final --json line, --result-file (atomic, also on failure), --progress json, --env-file with secret redaction, --version-from; idempotent play upload / apple upload / play release / apple submit re-runs end with exit 7; play upload takes --track production and --version-code
2026-10-23 13:13:21 +08:00
c7bae75ed0
apple build/upload: accept --allow-version-mismatch (flag list regenerated); 1.0 and 1.0.0 are one version train
2026-10-23 09:57:13 +08:00
a656240bfb
Checks: findings with a skill get Open guide (context menu and a link on the card) to the shipped skills/<name>/SKILL.md; known-skill list kept equal to skills/ by a test
2026-10-23 09:22:22 +08:00
4a74989a95
Open in Google Play Console deep-links the app: Play developer id per credential profile (accounts play-developer, desktop Accounts), shared playAppUrl builder for desktop, CLI and watch; developer chooser instead of the console root
2026-10-23 09:20:35 +08:00
7c769c18f4
Desktop: folders keep claiming their store records before the config read returns; a store app with a folder's id is never listed twice
2026-10-23 09:18:03 +08:00
e4ebbb825d
play build: signing passwords only through the child environment, never argv
2026-10-23 08:51:07 +08:00
7960063e0e
Signed AAB guardrails, injected signing args, IPA version train check, Play notes lint at build
2026-10-23 08:49:43 +08:00
9610c9477e
Desktop: per-store ignore (hide only the App Store or Google Play side), N ignored show toggle in sidebar and portfolio, Unignore in the app controls; ignore flags sync with the shared app list
2026-10-23 01:35:27 +08:00
13b91dd423
Ignore dormant apps: per-app and per-store 'ignored' in the app list; apps ignore/unignore, watch, ws and apps list skip them; MCP tools
2026-10-23 00:57:42 +08:00
75bf62e125
Reviews: a store read that failed everywhere is an error, not an empty fresh list; Reviews tab says Apple's API can lag and Play returns 7 days; pitfall 106
2026-10-23 00:33:27 +08:00
d3d31d6c12
Node: JSON configs are read as data, not imported (store-only apps failed under npx: needs an import attribute); test, pitfall 105
2026-10-22 23:18:30 +08:00
78c541f2b8
storebound watch: store events for every app on the machine (rejected, approved, live, halted, crash threshold, reviews) to ntfy / Telegram / webhook / OS notification, loop or --once, baseline first, events.jsonl; storebound events and MCP events_recent; docs/watch.md; tests
2026-10-22 22:38:15 +08:00
03ef999dac
Desktop: background store reads from the tray (no document.hidden skip, backoff), notifications by kind (rejected, approved, live, halted, crash, reviews) with switches, quiet hours and mute, click-through on next show; tray menu with apps and their states, read now, mute, updates, settings, tooltip summary and attention dot; tray_update command; tests
2026-10-22 22:24:05 +08:00
5d8a0f5e9a
apple listing: a version in PENDING_DEVELOPER_RELEASE refusal names apple release --manual-release --version <v>; play release dry run shows the staged rollout share
2026-10-22 21:52:37 +08:00
abc195aee6
Subscriptions drift on both stores (Apple prices in the dry run, localizations, group names, attributes, territories, intro offers reported; Play offer phases and prices, other-regions price, dropped regions gated, grace period, --prune-languages); pitfall 104, CHANGELOG; test fixtures for the new reads
2026-10-22 20:49:43 +08:00
e381bc2256
Drift on existing items: offer-code and win-back campaigns that differ are named (Apple cannot edit them), in-app event attributes patched on drafts, a removed custom page deep link cleared, config languages without a version localization named, data safety dry run says Play has no read API; appinfo reads /v1/appPriceSchedules/{id}/manualPrices; a new Play language without an icon warns instead of stopping; fake store lists for the new reads
2026-10-22 20:38:54 +08:00