You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maka.apache.org by "Astro-Han (via GitHub)" <gi...@apache.org> on 2026/09/05 15:05:38 UTC
[PR] fix(desktop): make the About update row act on its state and align its support buttons [maka]
Astro-Han opened a new pull request, #4857:
URL: https://github.com/apache/maka/pull/4857
## Summary
Three things were wrong with 设置 → 关于 after #4571:
1. **The update button did nothing on a nightly.** `checkForUpdatesNow` returns the current status untouched while an update is downloading, verifying, downloaded or installing (`app-update-service.ts`), but the page kept rendering an enabled 检查更新 through all of those. Nightly auto-downloads, so its steady state is `downloaded` — which means the button was a no-op every time a nightly user pressed it. The page also hand-swapped the button label to 检查中… instead of using Astryx's `isLoading`.
2. **The three support controls did not share an edge.** 复制 was a ghost button followed by the shortcut keycaps, 报告问题 was a bare `Link`, 键盘快捷键 was a ghost button — three faces, three right edges (measured at 1108 / 1196 / 1184 px on a 1280-wide story).
3. **The page was mostly empty.** A text row, three support rows and three bullets ended two-thirds of the way down the pane, and nothing on it identified the product beyond a `Heading` reading "Maka".
This PR:
- **Moves update status into its own labeled group, 软件更新, as one row whose control follows the state.** `aboutUpdateRow` (pure, unit-tested) maps the updater state to a label, a next-step description, and one of `check` / `checking` / `install` / `retry` / `busy`. `install` (重启并更新) and `retry` go through the same handshake the sidebar footer uses — active-task confirmation, failure toasts, the in-flight latch — because that handshake now lives once in `useAppUpdateReminder` (`app-shell-app-update.ts`); the shell's 50-line copy of it is gone. `busy` states show an inline spinner instead of a button the service would ignore; `checking` is the check button with `isLoading`. The idle / up-to-date row says when Maka checks on its own (launch, window focus, every 4 hours), so nobody has to press the button to be current.
- **Makes every support row end in the same ghost `sm` button.** The issue link is that same `Button` with an `href`; the keycaps sit before the copy button rather than after it. All three faces now end at the same x.
- **Leads with the wordmark and ends with the project.** The lead uses `MakaWordmark` — the asset the onboarding hero and the dock icon are traced from — beside the channel token, in brand colour like the two heroes. A trailing 开源 group names Apache Maka (incubating), the license, and links to the source, release notes and license text. Nothing on the page is styled outside Astryx.
- **Crops the wordmark's viewBox to its ink.** The trace sits on a 460×120 canvas with 27 units of bearing on the left and 21 below, which a left-aligned mark showed as a 7.5px indent off the column edge. The viewBox is now the ink's box (`27 0 385 99`), and the two centered consumers — onboarding hero, empty-chat hero — take widths of 94 and 134 so their ink renders at exactly the size it did (measured 93.7→93.9 and 133.8→133.9 px); they gain only true centering.
Copy: the update strings drop their trailing punctuation to read as row labels, `updateDownloaded` no longer points at the sidebar, `updateCheckFailed` / `updateCheckFailedDetail` / `copying` are replaced by `updateFailed[operation]` and the button's `isLoading`. All three catalogs updated.
Before (`main`) vs. after, nightly with a downloaded update, same viewport:


Dev checkout, where there is no update group:


The new failed-download story, which has no `main` counterpart:

## Verification
- `npm run format`, `npm run lint` at the root: clean.
- `apps/desktop`: `tsc -p tsconfig.renderer.json` and `tsconfig.storybook.json` report only the three pre-existing Astryx prop errors in `packages/ui`; `node --test dist/main/__tests__/about-update-status.test.js dist/main/__tests__/about-settings-page.test.js dist/main/__tests__/app-update-install.test.js` (12 pass); `npx playwright test --config e2e/playwright.config.ts e2e/about-page.spec.ts` (1 passed).
- Storybook `product-settings-pages--about`, `--about-nightly`, `--about-release`, `--about-update-failed`, light and dark, 1280 wide: the three support controls measure the same right edge.
## AI use
Select exactly one:
- [ ] No generative tool made a substantive contribution
- [x] Generative tooling made a substantive contribution
Tool(s) and scope: Claude Code drafted the page, hook, tests, stories and this description under review.
## Checklist
- [x] Tests cover the change and fail without it
- [x] Lint, format, typecheck and the affected suites pass locally
Does this PR entail a change in behavior?
- [x] Yes — described under Summary above
- [ ] No
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
Re: [PR] fix(desktop): reduce the About page to rows of one shape [maka]
Posted by "Astro-Han (via GitHub)" <gi...@apache.org>.
Astro-Han merged PR #4857:
URL: https://github.com/apache/maka/pull/4857
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org