Commit graph

178 commits

Author SHA1 Message Date
CRT
65f975ecff storebound 0.8.54: version in package.json and every copy, CHANGELOG 0.8.54 section
All checks were successful
ci / gate (push) Successful in 4s
ci / ci (push) Successful in 3m57s
ci / windows (push) Successful in 7m24s
ci / linux (push) Successful in 5m57s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 31s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 32s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m28s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m29s
ci / dev (push) Successful in 1m11s
ci / record (push) Successful in 13s
release / promote (push) Successful in 15m1s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 6m29s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 6m4s
2026-10-26 19:16:46 +07:00
CRT
569b419fb5 storebound 0.8.53: version in package.json and every copy, CHANGELOG 0.8.53 section
All checks were successful
ci / gate (push) Successful in 3s
ci / ci (push) Successful in 3m51s
ci / windows (push) Successful in 7m39s
ci / linux (push) Successful in 5m45s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 29s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 31s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m25s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m34s
ci / dev (push) Successful in 2m15s
ci / record (push) Successful in 14s
release / promote (push) Successful in 15m49s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 7m19s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m46s
2026-10-26 18:17:15 +07:00
CRT
8a96f38784 storebound 0.8.52: version in package.json and every copy, CHANGELOG 0.8.52 section
Some checks failed
ci / gate (push) Successful in 7s
ci / ci (push) Successful in 2m56s
ci / windows (push) Successful in 6m32s
ci / linux (push) Successful in 5m31s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Failing after 38s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Failing after 40s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Failing after 1m43s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Failing after 1m42s
ci / dev (push) Failing after 5s
ci / record (push) Successful in 12s
release / promote (push) Successful in 13m9s
ci / acceptance (node20, 20, windows, Windows, node) (push) Failing after 11m6s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 9m32s
2026-10-26 11:08:21 +07:00
CRT
a4f43187ad storebound 0.8.51: version in package.json and every copy, CHANGELOG 0.8.51 section
Some checks failed
ci / gate (push) Successful in 3s
ci / ci (push) Successful in 3m14s
ci / windows (push) Successful in 8m32s
ci / linux (push) Successful in 6m12s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Failing after 30s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Failing after 33s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Failing after 1m20s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Failing after 1m25s
ci / dev (push) Failing after 10s
release / promote (push) Failing after 13m2s
ci / record (push) Successful in 13s
ci / acceptance (node20, 20, windows, Windows, node) (push) Failing after 7m27s
ci / acceptance (node22, 22, windows, Windows, node) (push) Failing after 9m14s
2026-10-26 10:27:48 +07:00
CRT
6521abae59 storebound 0.8.50: version in package.json and every copy, CHANGELOG 0.8.50 section
All checks were successful
ci / gate (push) Successful in 2s
ci / ci (push) Successful in 2m38s
ci / windows (push) Successful in 7m14s
ci / linux (push) Successful in 5m42s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 30s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 30s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m24s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m27s
ci / dev (push) Successful in 1m11s
ci / record (push) Successful in 13s
release / promote (push) Successful in 13m27s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 6m53s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 6m14s
2026-10-25 23:18:12 +07:00
CRT
343e69dcbc 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
All checks were successful
ci / gate (push) Successful in 2s
ci / ci (push) Successful in 1m49s
ci / linux (push) Successful in 6m4s
ci / windows (push) Successful in 6m54s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 32s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 32s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m32s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m31s
ci / record (push) Successful in 13s
ci / dev (push) Successful in 51s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 6m6s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m46s
2026-10-25 22:51:32 +07:00
CRT
7922651fb4 desktop icon: the brand mark at every size (small Windows sizes were a plain S tile), each size resampled on its own, 20/30/36/40/60/72/80/96 px added for 125-200 % scaling
All checks were successful
ci / gate (push) Successful in 3s
ci / ci (push) Successful in 2m2s
ci / linux (push) Successful in 6m5s
ci / windows (push) Successful in 6m53s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 31s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 30s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m31s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m29s
ci / dev (push) Successful in 31s
ci / record (push) Successful in 12s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 6m1s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 6m0s
2026-10-25 21:08:13 +07:00
CRT
2c23254a9a storebound 0.8.49: version in package.json and every copy, CHANGELOG 0.8.49 section
All checks were successful
ci / gate (push) Successful in 3s
ci / ci (push) Successful in 2m28s
ci / windows (push) Successful in 8m25s
ci / linux (push) Successful in 6m37s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 34s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 40s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m29s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m29s
ci / dev (push) Successful in 2m11s
ci / record (push) Successful in 12s
release / promote (push) Successful in 15m23s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 6m48s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 7m2s
2026-10-25 20:15:46 +07:00
CRT
1de68f0616 desktop: read StartupApproved through the registry API, no reg.exe (the security test allows no other programs)
Some checks failed
ci / gate (push) Successful in 3s
ci / ci (push) Successful in 2m24s
ci / windows (push) Has been cancelled
ci / linux (push) Has been cancelled
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Has been cancelled
ci / acceptance (bun, 22, windows, Windows, bun) (push) Has been cancelled
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Has been cancelled
ci / acceptance (node20, 20, windows, Windows, node) (push) Has been cancelled
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Has been cancelled
ci / acceptance (node22, 22, windows, Windows, node) (push) Has been cancelled
ci / dev (push) Has been cancelled
ci / record (push) Has been cancelled
2026-10-25 21:11:31 +08:00
CRT
9791f066e4 desktop: autostart respects Windows Startup apps (turned off there stays off; the Run entry is no longer re-enabled on every start)
Some checks failed
ci / gate (push) Successful in 3s
ci / ci (push) Failing after 1m40s
ci / linux (push) Successful in 5m56s
ci / windows (push) Successful in 7m15s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 44s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 45s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m24s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m28s
ci / record (push) Successful in 15s
ci / dev (push) Successful in 1m52s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m49s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m31s
2026-10-24 21:13:10 +08:00
CRT
7940289272 desktop tray: card as tall as its content, card and menu open from the tray icon's edge (never over the taskbar); menu permission files
All checks were successful
ci / gate (push) Successful in 2s
ci / ci (push) Successful in 1m33s
ci / linux (push) Successful in 7m3s
ci / windows (push) Successful in 7m48s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 34s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m29s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m30s
ci / record (push) Successful in 14s
ci / dev (push) Successful in 50s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 27s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 6m29s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m37s
2026-10-24 19:53:10 +08:00
CRT
b944bbd835 storebound 0.8.48: version in package.json and every copy, CHANGELOG 0.8.48 section
All checks were successful
ci / gate (push) Successful in 3s
ci / ci (push) Successful in 2m49s
ci / windows (push) Successful in 6m53s
ci / linux (push) Successful in 5m32s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 29s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 30s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m22s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m23s
ci / dev (push) Successful in 1m10s
ci / record (push) Successful in 11s
release / promote (push) Successful in 13m18s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m55s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m29s
2026-10-24 18:17:14 +07:00
CRT
4811ad5cf2 desktop: tray menu panels and pinnable context menus
Some checks failed
ci / gate (push) Successful in 2s
ci / ci (push) Failing after 1m20s
ci / linux (push) Successful in 5m48s
ci / windows (push) Successful in 6m35s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 34s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 33s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m24s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m25s
ci / record (push) Successful in 12s
ci / dev (push) Successful in 1m51s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m48s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m34s
The tray's right-click menu is drawn by the app: one tree from tray.rs
(stable submenu keys), one frameless always-on-top menu-N window per
panel rendered by tray-menu.html with the design system, placed inside
the monitor's work area. A pure panel book keeps transient and pinned
panels apart; pinned panels (pin button, Ctrl+click, middle click) are
draggable, step aside from each other and are saved in state.json
(menuPins) and restored at start. tray_update pushes the tree to the
open panels, which update in place; closed panels are destroyed. The
native menu, rendered from the same tree, stays as the fallback and on
Linux. Only menu-* windows get the menu_* commands (menu.json).

In-app context menus get the same behaviour through a pure menu stack
(ui/menu-stack.ts): pin a menu, tear off a submenu, pinned panels
survive the next menu, are draggable and re-read their entries from
live sources so data changes update them in place.

Also drops a stray diff3 marker line from CHANGELOG.md.
2026-10-24 13:44:08 +08:00
CRT
e100001017 desktop: boot check finds unsaved marks on the sub views; neutral next-step lines before a read
Some checks failed
ci / gate (push) Successful in 3s
ci / linux (push) Has been cancelled
ci / ci (push) Has been cancelled
ci / windows (push) Has been cancelled
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Has been cancelled
ci / acceptance (bun, 22, windows, Windows, bun) (push) Has been cancelled
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Has been cancelled
ci / acceptance (node20, 20, windows, Windows, node) (push) Has been cancelled
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Has been cancelled
ci / acceptance (node22, 22, windows, Windows, node) (push) Has been cancelled
ci / dev (push) Has been cancelled
ci / record (push) Has been cancelled
2026-10-24 13:06:42 +08:00
CRT
eac6388705 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
CRT
8bcf407527 play-publish-changes: a release is ready only when the store page shows an older version; unknown reads are not determined, never a mismatch
Some checks failed
ci / gate (push) Successful in 2s
ci / ci (push) Successful in 1m11s
ci / windows (push) Has been cancelled
ci / linux (push) Has been cancelled
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Has been cancelled
ci / acceptance (bun, 22, windows, Windows, bun) (push) Has been cancelled
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Has been cancelled
ci / acceptance (node20, 20, windows, Windows, node) (push) Has been cancelled
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Has been cancelled
ci / acceptance (node22, 22, windows, Windows, node) (push) Has been cancelled
ci / dev (push) Has been cancelled
ci / record (push) Has been cancelled
2026-10-24 12:12:37 +08:00
CRT
9e166bf9a3 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
9dccf357a9 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
67534f8df2 storebound 0.8.47: version in package.json and every copy, CHANGELOG 0.8.47 section
All checks were successful
ci / gate (push) Successful in 3s
ci / ci (push) Successful in 2m39s
ci / linux (push) Successful in 3m53s
ci / windows (push) Successful in 3m37s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 28s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 30s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m22s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m23s
ci / record (push) Successful in 12s
release / promote (push) Successful in 14m58s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m42s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m26s
2026-10-23 16:03:29 +07:00
CRT
fe46ae6cd1 storebound 0.8.46: version in package.json and every copy, CHANGELOG 0.8.46 section
All checks were successful
ci / gate (push) Successful in 4s
ci / ci (push) Successful in 1m57s
ci / windows (push) Successful in 3m54s
ci / linux (push) Successful in 3m20s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 28s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 29s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m21s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m22s
ci / record (push) Successful in 14s
release / promote (push) Successful in 8m57s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m38s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m15s
2026-10-23 14:44:51 +07:00
CRT
c319ed8313 storebound 0.8.45: version in package.json and every copy, CHANGELOG 0.8.45 section
Some checks failed
ci / gate (push) Successful in 4s
ci / ci (push) Successful in 2m59s
ci / linux (push) Successful in 4m11s
ci / windows (push) Successful in 3m30s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 27s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 30s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m21s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m22s
ci / record (push) Failing after 2m25s
release / promote (push) Failing after 22m50s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 6m37s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 6m24s
2026-10-23 13:50:24 +07:00
CRT
eb0c71970e Merge origin/main (0.8.44 tag) 2026-10-23 14:48:03 +08:00
CRT
3f823eb2ef 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
17a42fc2c9 storebound 0.8.44: version in package.json and every copy, CHANGELOG 0.8.44 section
Some checks failed
ci / gate (push) Successful in 2s
ci / ci (push) Failing after 2m34s
ci / linux (push) Successful in 3m22s
ci / windows (push) Successful in 4m1s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 33s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m22s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m21s
ci / record (push) Failing after 2m23s
release / promote (push) Failing after 23m25s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 33s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 6m7s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 6m14s
2026-10-23 13:16:42 +07:00
CRT
bfe44f2c15 tray card: per-icon Phosphor imports; teaser pins the current app-privacy step 5 text
Some checks failed
ci / gate (push) Successful in 2s
ci / ci (push) Failing after 1m12s
ci / linux (push) Successful in 4m4s
ci / windows (push) Successful in 5m28s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 27s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m5s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m4s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 24s
ci / record (push) Failing after 2m24s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 6m37s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m51s
2026-10-23 14:07:44 +08:00
CRT
8fa9153f8f storebound 0.8.43: version in package.json and every copy, CHANGELOG 0.8.43 section
Some checks failed
ci / gate (push) Successful in 3s
ci / ci (push) Failing after 57s
ci / windows (push) Successful in 3m50s
ci / linux (push) Successful in 3m26s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 31s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m24s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m48s
ci / record (push) Failing after 2m27s
release / promote (push) Failing after 18m50s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 28s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m38s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m31s
2026-10-23 12:20:06 +07:00
CRT
f648f6b269 storebound 0.8.42: version in package.json and every copy, CHANGELOG 0.8.42 section
Some checks failed
ci / gate (push) Successful in 3s
ci / ci (push) Failing after 1m6s
ci / linux (push) Successful in 3m24s
ci / windows (push) Successful in 4m7s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 34s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m23s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m25s
ci / record (push) Failing after 2m24s
release / promote (push) Failing after 18m34s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 27s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m12s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m24s
2026-10-23 11:30:53 +07:00
CRT
b08f28888a storebound 0.8.41: version in package.json and every copy, CHANGELOG 0.8.41 section
Some checks failed
ci / gate (push) Successful in 2s
ci / ci (push) Failing after 1m17s
ci / linux (push) Successful in 4m5s
ci / windows (push) Successful in 4m8s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 35s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m26s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m48s
release / promote (push) Failing after 40m10s
ci / record (push) Failing after 2m22s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 27s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m11s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m52s
2026-10-23 10:25:06 +07:00
CRT
0c34a823af 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
Some checks failed
ci / gate (push) Successful in 2s
ci / ci (push) Failing after 1m12s
ci / linux (push) Successful in 4m7s
ci / windows (push) Successful in 4m8s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 28s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m6s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m7s
ci / record (push) Failing after 2m23s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 26s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m14s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m22s
2026-10-23 11:22:26 +08:00
CRT
ecd00ef369 Desktop: generated permissions of the tray card commands 2026-10-23 11:15:40 +08:00
CRT
f72d8ef00b 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
0161b6daf5 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
170dc84cf1 Desktop: tab row measures the room inside the sticky bar's padding (the More button was clipped); editor saves skip the in-app preview (their Review step already showed the dry run) 2026-10-23 10:44:45 +08:00
CRT
731347e636 storebound 0.8.40: version in package.json and every copy, CHANGELOG 0.8.40 section
Some checks failed
ci / gate (push) Successful in 2s
ci / ci (push) Failing after 1m9s
ci / linux (push) Successful in 4m9s
ci / windows (push) Successful in 3m40s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 27s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 29s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m18s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m21s
ci / record (push) Successful in 10s
release / promote (push) Successful in 22m20s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m40s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m22s
2026-10-23 08:54:55 +07:00
CRT
8a6ad61996 Desktop: tab row reserves enough room for the More menu button
Some checks failed
ci / gate (push) Successful in 2s
ci / ci (push) Has been cancelled
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Has been cancelled
ci / acceptance (bun, 22, windows, Windows, bun) (push) Has been cancelled
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Has been cancelled
ci / acceptance (node20, 20, windows, Windows, node) (push) Has been cancelled
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Has been cancelled
ci / acceptance (node22, 22, windows, Windows, node) (push) Has been cancelled
ci / linux (push) Has been cancelled
ci / windows (push) Has been cancelled
ci / record (push) Has been cancelled
2026-10-23 09:54:20 +08:00
CRT
c8e5968237 Merge origin/main (0.8.39 tag) 2026-10-23 09:53:20 +08:00
CRT
dfddc453fe Desktop: portfolio card ids show the full id as a tooltip 2026-10-23 09:50:11 +08:00
CRT
301df0ac67 Desktop: wide tables keep their first column in view while scrolling; compact table density (Settings > Appearance, Ctrl+K) 2026-10-23 09:49:47 +08:00
CRT
5be831e04a Desktop: every write shows a styled in-app dry-run preview (command, changed rows) before the native confirm dialog; i18n house style fix for the developer id hint 2026-10-23 09:48:48 +08:00
CRT
b3e15d5f1f Desktop: Settings search filters the sections (nav and body), Enter jumps to the first match 2026-10-23 09:47:29 +08:00
CRT
fa297983cb Desktop: More tools gets a command search across groups and a compact list layout 2026-10-23 09:46:55 +08:00
CRT
aac04fb39a Desktop: Reviews keyboard: J/K move, R reply, C copy, O open in the console, with a key hint 2026-10-23 09:46:09 +08:00
CRT
2e4e242251 Desktop: Prices sheet panel is one row (Export primary, Compare a sheet, rest in ...) 2026-10-23 09:45:19 +08:00
CRT
5dfb89443d Desktop: pill tabs stay one row; tabs that do not fit go into a More menu, the active tab always stays visible 2026-10-23 09:44:43 +08:00
CRT
866089c8c4 Desktop: sidebar reader as short rows with a progress bar; one Refresh (top bar) instead of two; rolling-out tile lists versions on their own lines; cards without screenshots show live versions per store 2026-10-23 09:43:08 +08:00
CRT
721ac626ae storebound 0.8.39: version in package.json and every copy, CHANGELOG 0.8.39 section
Some checks failed
ci / gate (push) Successful in 3s
ci / ci (push) Failing after 1m40s
ci / windows (push) Successful in 4m27s
ci / linux (push) Successful in 3m55s
ci / acceptance (bun, 22, ubuntu-22.04, Linux, bun) (push) Successful in 33s
ci / acceptance (node20, 20, ubuntu-22.04, Linux, node) (push) Successful in 1m15s
ci / acceptance (node22, 22, ubuntu-22.04, Linux, node) (push) Successful in 1m19s
ci / record (push) Successful in 10s
release / promote (push) Successful in 15m19s
ci / acceptance (bun, 22, windows, Windows, bun) (push) Successful in 27s
ci / acceptance (node20, 20, windows, Windows, node) (push) Successful in 5m23s
ci / acceptance (node22, 22, windows, Windows, node) (push) Successful in 5m18s
2026-10-23 08:39:22 +07:00
CRT
03c3e207a9 Merge origin/main (0.8.38) 2026-10-23 09:37:04 +08:00
CRT
20278c4bac Desktop: compact hero drops its min height; app tabs fit one row at 1440 (tighter pills below 1560 px); hero screenshots only on wide windows so the pipeline labels never overlap 2026-10-23 09:32:51 +08:00
CRT
0f09ff823d Desktop: unique option keys in editor selects (App info page error); long package names no longer push App folders cards wide 2026-10-23 09:30:22 +08:00
CRT
2b4de14e59 Desktop: account and studio secondary actions move to ... menus; one Import apps button on the home; App folders header keeps one primary action 2026-10-23 09:26:02 +08:00