Commit graph

614 commits

Author SHA1 Message Date
CRT
b325b45354 merge fixups: changelog and pitfall numbering 2026-10-24 12:17:01 +08:00
CRT
089c149289 desktop coverage test: shots copy is agent-edited 2026-10-24 12:16:49 +08:00
CRT
8084104a4d desktop coverage entry for shots copy 2026-10-24 12:16:49 +08:00
CRT
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
CRT
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
CRT
4e2ffd6b3d generated API tables refreshed for the play-publish-changes form 2026-10-24 12:01:37 +08:00
CRT
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
CRT
29a9683ab7 dev channel: Apache serves /desktop/dev/latest.json; the VDS publisher lists releases without the draft filter (it hid the dev drafts) 2026-10-23 23:46:03 +08:00
CRT
9947ea1639 dev channel VDS publisher: send a User-Agent (Cloudflare refuses urllib's default with 403) 2026-10-23 23:17:05 +08:00
CRT
39b2f73ad7 desktop dev update channel: every push to main builds dev bundles (<next patch>-dev.<UTC>), the VDS signs and publishes dev/latest.json (newest 5); app channel setting stable|dev, background updater at start / 15 min / resume / channel switch, deferred while in use, no downgrade, autostart rewritten on every start, card shows version and channel 2026-10-23 23:14:08 +08:00
CRT
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
CRT
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
CRT
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
CRT
9ed1890de8 storebound 0.8.47: version in package.json and every copy, CHANGELOG 0.8.47 section 2026-10-23 16:03:29 +07:00
CRT
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
CRT
a01c78aa20 generated API tables and flags refreshed for the play products clamp (Forgejo ci failed on stale api tables) 2026-10-23 15:56:36 +07:00
CRT
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
CRT
882255a32f storebound 0.8.46: version in package.json and every copy, CHANGELOG 0.8.46 section 2026-10-23 14:44:51 +07:00
CRT
84f9793af5 Merge origin/main (0.8.45 tag, not published) 2026-10-23 15:40:56 +08:00
CRT
487e138f9d watch: ingest sink (--notify ingest) posting events to a push ingest endpoint 2026-10-23 15:30:18 +08:00
CRT
960662029e storebound 0.8.45: version in package.json and every copy, CHANGELOG 0.8.45 section 2026-10-23 13:50:24 +07:00
CRT
5b3905679b CHANGELOG: 0.8.44 was not published 2026-10-23 14:48:09 +08:00
CRT
b36b92dc90 Merge origin/main (0.8.44 tag) 2026-10-23 14:48:03 +08:00
CRT
0b0007045c desktop tests: clippy clean (repeat_n in the tray test, unix-only time imports in ai_fix) 2026-10-23 14:47:53 +08:00
CRT
12e56c5a82 storebound 0.8.44: version in package.json and every copy, CHANGELOG 0.8.44 section 2026-10-23 13:16:42 +07:00
CRT
84efa4e913 desktop coverage: place for the status command 2026-10-23 14:14:02 +08:00
CRT
bffbf94278 portfolio test: android identity carries developerId and appId 2026-10-23 14:11:38 +08:00
CRT
987f0775b3 tray card: per-icon Phosphor imports; teaser pins the current app-privacy step 5 text 2026-10-23 14:07:44 +08:00
CRT
e2ff7efcda CHANGELOG: 0.8.43 was not published; notes move to Unreleased 2026-10-23 13:56:01 +08:00
CRT
5379845e78 Merge origin/main (0.8.43 tag) 2026-10-23 13:55:50 +08:00
CRT
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
CRT
b1ed2ad8ca storebound 0.8.43: version in package.json and every copy, CHANGELOG 0.8.43 section 2026-10-23 12:20:06 +07:00
CRT
6abc1f65dd Merge origin/main (0.8.42 tag, not published); API tables and flags regenerated 2026-10-23 13:16:13 +08:00
CRT
f03a83bf3d Merge origin/main (0.8.42 tag, not published); API tables regenerated 2026-10-23 13:15:34 +08:00
CRT
021c0eef5a Regenerate the API tables with forward slashes 2026-10-23 13:13:45 +08:00
CRT
2e888a01cc docs/ship-step.md, pitfall 110 (pipeline exit 7 and double uploads), CHANGELOG Unreleased 2026-10-23 13:13:28 +08:00
CRT
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
CRT
4eac8e8cd8 storebound status: per platform live and next version, build, track, review state and rollout % without uploading (read-only, one JSON line); release status --app also takes an app folder or a store id 2026-10-23 13:13:15 +08:00
CRT
4933279987 gen-api: module names with forward slashes on Windows too (the tables were stale on Linux CI) 2026-10-23 13:13:03 +08:00
CRT
0ed7bc1ca0 storebound 0.8.42: version in package.json and every copy, CHANGELOG 0.8.42 section 2026-10-23 11:30:53 +07:00
CRT
54451c87c8 Regenerate the API tables (wrapped.gen.ts, api-coverage.md); 0.8.41 notes move to Unreleased 2026-10-23 12:29:24 +08:00
CRT
19b4868852 storebound 0.8.41: version in package.json and every copy, CHANGELOG 0.8.41 section 2026-10-23 10:25:06 +07:00
CRT
f3e7c98994 desktop reads: a card that joins a read or gets the 'read just now' answer applies it (no bus event for those: a tab opened again stayed on its skeleton); invalidate before a write's after-refresh, editor save re-reads with force 2026-10-23 11:22:26 +08:00
CRT
fa081666ec CHANGELOG: reads registry and tray card 2026-10-23 11:16:12 +08:00
CRT
fb37911f5e Desktop: generated permissions of the tray card commands 2026-10-23 11:15:40 +08:00
CRT
60a72e6947 Desktop: tray mini card on left click (store status at a glance next to the tray icon; Refresh runs the main window's Refresh all) 2026-10-23 11:15:35 +08:00
CRT
c03938f9dc desktop: one read registry for every read button: single-flight per canonical key, broad reads cover narrow keys, overlapping buttons all busy and disabled (useReadState), 20 s 'read just now' memo, quota pause on the buttons, every read through the scheduler (Check again, Import apps, account Test, Read the stores, Dependencies), writes invalidate only the reads they change; tests/read-registry.test.ts; fixtures ?blocked and window.__fakeCalls 2026-10-23 11:09:51 +08:00
CRT
7345de2f7c Desktop boot check: quota row match as plain text 2026-10-23 10:47:39 +08:00
CRT
2638b90046 Desktop boot check: the reader's quota row uses the short wording 2026-10-23 10:46:49 +08:00
CRT
f052831fea Desktop boot check: the dry-run preview is accepted whenever it shows, also during waits 2026-10-23 10:44:54 +08:00