fix(ui): single-language settings copy, snap editorial tail, migrate MB-Web type to tokens#136
Conversation
…MB-Web type to tokens
A second-pass /impeccable critique (general product-UI lens, 30/40) found three
threads beyond the small-text band the 0.8.1 pass closed:
- Settings 外观 subtitle leaked the English enum label "System" into Chinese chrome
("System 会跟随操作系统偏好") — a single-language-chrome violation. Reworded to
reference the localized 跟随系统 label.
- The editorial/responsive heading tail the 0.8.1 review explicitly deferred is now
on the ladder: .wiki-preview-card h2 (19 → title 17), .import-done-banner__headline
(20 → title 17), .wisdom-popover__title h2 (15.5 → body 15), responsive
.metric-card__value downscales (24/26 → 22, the reader-h2 editorial step).
- MB-Web (src/mb/mb.css) migrated off its self-contained half-step scale
(11.5/12.5/13.5/14.5 …): all 60 font-size declarations now resolve to the --type-*
role tokens (label/body-sm/body/title) by nearest role — the global styles.css
import makes the tokens available inside the MB-Web tree. The one kept literal is
.mb-r-title (22px), the paper-reader title (reader-h2 editorial step). MB-Web
radii/colors stay a tracked follow-up; only type was migrated here.
The deterministic detector confirmed the main app is otherwise clean (its styles.css
side-tab/layout-transition hits are blockquote borders and progress-bar width
animations — conventional, not slop). Browser-verified MB-Web across the library,
reader, and notes views; npm run verify green (901 unit + 53 e2e), bundle within
budget (CSS 30.4/35 KB).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughAdds a 0.8.2 release entry, bumps the package version, updates one Simplified Chinese settings string, revises type-role documentation, and converts multiple app and MB-Web font sizes to shared type-token values. ChangesTypography role migration and release notes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a625e2fc5f
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| ## [Unreleased] | ||
|
|
||
| ## [0.8.1] - 2026-06-27 | ||
| ## [0.8.2] - 2026-06-27 |
There was a problem hiding this comment.
Preserve the 0.8.1 changelog section
This replaces the former 0.8.1 heading instead of adding a new 0.8.2 section above it, so the old 0.8.1 notes remain inside the 0.8.2 section. The release job in .github/workflows/ci.yml reads package.json.version and runs node scripts/changelog-notes.mjs "$VERSION" for gh release create; with this changelog, the 0.8.2 release notes include the previous 0.8.1 small-text entry, while 0.8.1 now falls back to Release 0.8.1.. Please reinsert a ## [0.8.1] heading before the existing small-text notes.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Good catch — fixed in 2bee03e. Reinserted the ## [0.8.1] heading; verified node scripts/changelog-notes.mjs 0.8.2 now emits only the 0.8.2 section and 0.8.1 resolves to the small-text notes.
…count Independent review (verdict: CSS/i18n changes functionally sound, no P0/P1) found two doc-accuracy nits: - The `no UI text renders off the role scale` test comment still listed the editorial sizes (preview-card 19, done-banner 20, wisdom-popover 15.5, responsive metric 24/26) as a deferred tail "out of this pass" — but this PR snapped exactly those. Replace the stale list with the still-true mechanical rationale (passive sweep doesn't open modals/popovers or @media breakpoints). - CHANGELOG said "all 60 font-size declarations" then "one kept literal" — it's 59 of 60. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CodeRabbit caught a real bug: the 0.8.2 entry replaced the `## [0.8.1]` heading instead of inserting above it, so the 0.8.1 small-text notes sat headingless inside the 0.8.2 section. `scripts/changelog-notes.mjs` (used by the release job for `gh release create`) would then ship the 0.8.1 content as part of the 0.8.2 release notes, and 0.8.1 would fall back to "Release 0.8.1." Reinserted the heading; verified `changelog-notes.mjs 0.8.2` now emits only the 0.8.2 section. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
What
A second-pass
/impeccablecritique (general product-UI lens, 30/40) of the liveapp surfaced three threads beyond the small-text band the 0.8.1 pass closed. The
deterministic detector confirmed the main app is otherwise clean — its styles.css
side-tab/layout-transitionhits are markdown blockquote borders andprogress-bar
widthanimations (conventional, not slop); the real drift is all inmb.css.Fixed
会跟随操作系统偏好" — the English enum label
Systeminside Chinese chrome. Nowreferences the localized 跟随系统 label.
review explicitly deferred):
.wiki-preview-card h2(19 → title 17),.import-done-banner__headline(20 → title 17),.wisdom-popover__title h2(15.5 → body 15), responsive
.metric-card__value(24 / 26 → 22, the reader-h2editorial step).
Changed
src/mb/mb.cssdropped itsself-contained half-step scale (11.5 / 12.5 / 13.5 / 14.5 …): all 60
font-sizedeclarations now resolve to
--type-*(label / body-sm / body / title) by nearestrole — the app-wide
styles.cssimport (main.tsx) makes the tokens availableinside the MB-Web tree. The one kept literal is
.mb-r-title(22px), thepaper-reader title (reader-h2 editorial step). MB-Web radii / colors stay a
tracked follow-up (DESIGN.md §3); only type was migrated here.
Verification
npm run verifygreen (901 unit + 53 e2e / 2 skip, coverage 75/66/75/77, build);check:bundlewithin budget (CSS 30.4 / 35 KB gzip).views — title 22 serif, body 15 prose, meta 13, labels 11; no overflow or crowding.
no UI text renders off the role scalee2e invariant still passes (the editorialtail lives in popovers/banners/breakpoints the passive sweep doesn't reach; MB-Web is
a separate shell not in the workbench sweep — covered by the inventory + browser pass).
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Bug Fixes
Documentation