|
|
944b24fe59
|
Desktop: release builds on Windows turn off the WebView2 browser context menu and accelerator keys
|
2026-10-23 08:59:13 +08:00 |
|
|
|
63e3f24f0b
|
storebound 0.8.36: version in package.json and every copy, CHANGELOG 0.8.36 section
|
2026-10-23 01:08:33 +07:00 |
|
|
|
3ff1da10c6
|
Merge origin/main (0.8.35)
|
2026-10-23 01:46:03 +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 |
|
|
|
a22dcd87dc
|
storebound 0.8.35: version in package.json and every copy, CHANGELOG 0.8.35 section
|
2026-10-23 00:15:25 +07:00 |
|
|
|
95abe98626
|
storebound 0.8.34: version in package.json and every copy, CHANGELOG 0.8.34 section
|
2026-10-22 22:53:36 +07:00 |
|
|
|
0922a03a47
|
storebound 0.8.33: version in package.json and every copy, CHANGELOG 0.8.33 section
|
2026-10-22 22:41:58 +07:00 |
|
|
|
5a892af3d6
|
storebound 0.8.32: version in package.json and every copy, CHANGELOG 0.8.32 section
|
2026-10-22 22:19:38 +07:00 |
|
|
|
8b22e548be
|
storebound 0.8.31: version in package.json and every copy, CHANGELOG 0.8.31 section
|
2026-10-22 21:42:53 +07:00 |
|
|
|
62366d95a7
|
Merge origin/main (0.8.30)
|
2026-10-22 22:41:09 +08:00 |
|
|
|
4fe26326cc
|
Desktop: start.log line before Tauri starts (version, args, working folder, pid), so a logon start that dies early leaves a trace
|
2026-10-22 22:31:29 +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 |
|
|
|
287fdec12e
|
storebound 0.8.30: version in package.json and every copy, CHANGELOG 0.8.30 section
|
2026-10-22 20:39:57 +07:00 |
|
|
|
e77f2b68f5
|
storebound 0.8.29: version in package.json and every copy, CHANGELOG 0.8.29 section
|
2026-10-22 19:51:07 +07:00 |
|
|
|
294fa322e2
|
storebound 0.8.28: version in package.json and every copy, CHANGELOG 0.8.28 section
|
2026-10-22 15:03:45 +07:00 |
|
|
|
17535d4b7a
|
storebound 0.8.27: version in package.json and every copy, CHANGELOG 0.8.27 section
|
2026-10-22 05:05:48 +07:00 |
|
|
|
9a907d87e5
|
Desktop: tray icon, start at logon hidden (autostart --hidden, window state never restores visible), closing hides to the tray, background signed auto-update at start and every 30 min with restart
|
2026-10-22 05:59:41 +08:00 |
|
|
|
25c2d5cd1e
|
storebound 0.8.26: version in package.json and every copy, CHANGELOG 0.8.26 section
|
2026-10-22 01:33:30 +07:00 |
|
|
|
62eb010998
|
storebound 0.8.25: version in package.json and every copy, CHANGELOG 0.8.25 section
|
2026-10-22 00:59:03 +07:00 |
|
|
|
e03cbbe8aa
|
storebound 0.8.24: version in package.json and every copy, CHANGELOG 0.8.24 section
|
2026-10-21 23:40:26 +07:00 |
|
|
|
164182012f
|
storebound 0.8.23: version in package.json and every copy, CHANGELOG 0.8.23 section
|
2026-10-21 11:21:56 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
9909b3df73
|
storebound 0.8.12: version in package.json and every copy, CHANGELOG 0.8.12 section
|
2026-10-18 01:43:07 +08:00 |
|
|
|
af349b3db1
|
report: storebound report writes one shareable, self-contained readiness page (.storebound/reports/readiness-<date>.html; --md, --json, --no-open, --offline, --out) from scan, check and validate: a verdict per store (Ready to submit / N blockers / Not checked with the reason), findings per store by severity with guideline, evidence, fix and console button, the owner's compliance questions as a checklist, secrets masked; storebound.dev look, light / dark, print; desktop Checks > Report (same code path, opens through project_reveal) and its Markdown export on the same renderer; read-only MCP tool report
|
2026-10-18 01:42:03 +08:00 |
|
|
|
37cda2a39a
|
storebound 0.8.11: version in package.json and every copy, CHANGELOG 0.8.11 section
|
2026-10-17 14:29:27 +08:00 |
|
|
|
b84538e4cb
|
storebound 0.8.10: version in package.json and every copy, CHANGELOG 0.8.10 section
|
2026-10-16 06:35:47 +08:00 |
|
|
|
6443a5c442
|
neutral names in docs, tests and comments (no real app or project names)
|
2026-10-16 06:14:02 +08:00 |
|
|
|
dcb553fd16
|
storebound 0.8.9: version in package.json and every copy, CHANGELOG 0.8.9 section
|
2026-10-16 05:51:05 +08:00 |
|
|
|
dcca4e86e4
|
storebound 0.8.8: version in package.json and every copy, CHANGELOG 0.8.8 section
|
2026-10-16 00:09:06 +08:00 |
|
|
|
f898d642d0
|
desktop AI fix: kill only the agent's own process group with killpg (never pgid <= 1 or our own group) instead of the external kill command; a Forgejo ci run of bc85dab died of SIGTERM in the middle of these tests
|
2026-10-15 19:45:00 +08:00 |
|
|
|
bc85dabf90
|
storebound 0.8.7: version in package.json and every copy, CHANGELOG 0.8.7 section
|
2026-10-15 19:38:32 +08:00 |
|
|
|
dc387f6ffb
|
storebound 0.8.6: version in package.json and every copy, CHANGELOG 0.8.6 section
|
2026-10-15 06:33:52 +08:00 |
|
|
|
c95f2af8ff
|
desktop: Fix with AI on scan findings that need a code change (aiFix: true, AI_FIX_RULES). The host (src-tauri/src/ai_fix.rs) runs the owner's local Claude Code headless in the app folder with Read / Edit / Write / Grep / Glob only (Bash, web tools, sub-agents disallowed) and a prompt it builds from the finding's fields; it refuses while the folder has uncommitted files, streams progress, times out after 10 min with a heartbeat, kills the process group on Cancel or exit, and records the run's changed files so Undo restores exactly those; the window shows the diff with Keep / Undo and rescans. Without claude the button copies the prompt (Copy for AI). Only the claude binary, git and kill / taskkill are started there (tests/security.rs); tests/ai_fix.rs covers the prompt, dirty-tree refusal, undo scope, timeout and cancel
|
2026-10-15 06:26:29 +08:00 |
|
|
|
a64a7f198d
|
storebound 0.8.5: version in package.json and every copy, CHANGELOG 0.8.5 section
|
2026-10-15 02:24:45 +08:00 |
|
|
|
af858a3f36
|
storebound 0.8.4: version in package.json and every copy, CHANGELOG 0.8.4 section
|
2026-10-14 23:40:40 +08:00 |
|
|
|
c3fed8efa2
|
storebound 0.8.3: version in package.json and every copy, CHANGELOG 0.8.3 section (docs: no private account names in the published package)
|
2026-10-14 07:54:56 +08:00 |
|
|
|
2e32377a0d
|
storebound 0.8.2: version in package.json and every copy, CHANGELOG 0.8.2 section with the release summary; site teaser cache key v=7
|
2026-10-14 06:32:32 +08:00 |
|
|
|
00be838b76
|
store art from the live stores: storebound art pull (App Store screenshot sets and previews per locale and display type from imageAsset.templateUrl at the original size, the App Store icon from the newest build or the public artwork; per Play language icon, feature graphic, phone / 7" / 10" / TV / Wear screenshots as the =s0 originals checked against Play's sha256) into store/renders with pulled.json (sha256, store, URL host, store checksum); upsert (a re-run changes nothing, differing local files kept unless --force, the upload's file of a slot compared: Play .jpg, App Store .png, the App Store icon as a picture); onboard runs it; apple screenshots / previews and play images see unchanged pulled files as the store's own; check: render sources are notes with pulled art; local renders check: pulled files pass, store-empty sets not demanded; art live / thumb / replace; desktop Store art tab: live thumbnails per store, language and set (same / differs / not pulled), Pull from stores, store-only apps read-only, Replace with a file (image_pick, art.replace) in the lightbox and the art editor; boot check store art case; tests/art-pull.test.ts; console parity 76 rows (57 complete, 19 with the reason); store-screenshots skill (pull first for live apps), pitfall 59
|
2026-10-14 05:25:37 +08:00 |
|
|
|
7ac028421a
|
store-only apps edit their listing on the store (storebound listing live / set: old -> new per field with the checks, a PATCH of only the edited fields; serve listing.set is the one store-only write, its token bound to the store ids; policy.rs STORE_ONLY_WRITES, write_with_confirm for store targets); screenshot captions per language and scene edited as a text edit of the shots copy JSON (JSON files keep their layout); Play content rating, target audience and App content answers in App info; docs/console-parity.md after the editors (73 rows: 55 complete, 18 with the reason) and tests/console-parity.test.ts keeping it honest
|
2026-10-14 00:54:56 +08:00 |
|
|
|
0fb4ce0001
|
desktop reads everything by itself: one background read scheduler (4 per store, starts spaced per account, App Store Connect X-Rate-Limit slows it below 20 % and pauses at 100 left, backoff with jitter on 429 / RESOURCE_EXHAUSTED, visible app first, one read per key), per-method TTLs over the saved reads, Settings auto-read (on) and interval (15 min, paused while hidden), Refresh all, a refresh icon and 'read 3 min ago' / 'couldn't refresh' per card, writes invalidate, status line with progress and quota; quota reaches the window through ToolResult.quota (cli/lib/quota.ts); Health top issues open with versions, sample stack (health --issue / --signature, read health_issue), Open in Play Console, Copy for AI and likely-cause hints (cli/lib/crash-hints.ts); tests/scheduler.test.ts, tests/quota-crash-hints.test.ts, boot check auto-read case
|
2026-10-13 23:37:39 +08:00 |
|
|
|
89256f1e80
|
Google API errors as typed findings, never raw JSON: cli/lib/google-errors.ts parses SERVICE_DISABLED (api-disabled: service, Cloud project, console page), PERMISSION_DENIED (no-app-access: which app, Users and permissions), 401 / invalid_grant (auth-revoked) and 429 (quota); health / analytics print one line with the URL, raw text in detail and the log; desktop Health tab: the line, 'Turn it on in Google Cloud' and 'Check again', raw text in a collapsed Details; Portfolio shows a Cloud project blocking several apps once. Findings exit codes are results: the sidecar reports outcome (ok / findings / declined / failed) and the command's own error line; scan / check / validate / health exit 1 with findings show and cache the findings; no bare 'Exit code N' anywhere. tests/google-errors.test.ts, boot check errors cases (api-disabled, scan-findings, scan-failed) (pitfall 57)
|
2026-10-13 23:20:04 +08:00 |
|