fix(ui): localize skill workshop switcher#91210
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 29, 2026, 11:14 AM ET / 15:14 UTC. Summary PR surface: Source +273, Tests +541. Total +814 across 48 files. Reproducibility: yes. Current main source shows the Skill Workshop switcher and chat reply dismiss strings are hard-coded in the render paths, and the PR proof exercises the changed Review metrics: none identified. Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Next step before merge
Security Review detailsBest possible solution: Land this focused i18n wiring after maintainer review, keeping English source keys and generated locale fallback metadata synchronized through the Control UI i18n pipeline. Do we have a high-confidence way to reproduce the issue? Yes. Current main source shows the Skill Workshop switcher and chat reply dismiss strings are hard-coded in the render paths, and the PR proof exercises the changed Is this the best way to solve the issue? Yes. Routing the strings through existing AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 825d9a66623a. Label changesLabel justifications:
Evidence reviewedPR surface: Source +273, Tests +541. Total +814 across 48 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
@SYU8384 - Hi, I'm not a member of this project so I believe you meant to @ someone else |
Apologies!🙏🏼 |
|
@clawsweeper re-review Added
Branch |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
@clawsweeper re-review Re-arming with rendered real-path proof this time. What changed since the last re-review:
Local CI:
This is "copied live output" per the proof rubric — the same Still no live Control UI screenshot (no build environment available here). If a maintainer wants visual proof on top, the Branch |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
d296f83 to
dc147eb
Compare
|
@clawsweeper re-review Rebased onto current Fresh local proof:
Head: |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
@clawsweeper re-review Previous re-review on |
|
Maintainer note: I retried ClawSweeper once after the earlier failed re-review, and the new run completed its GitHub workflow successfully, but the durable review still failed internally with the same ClawSweeper/Codex transport issue. Evidence:
I’m not going to keep re-triggering ClawSweeper from the PR thread. Please treat the current off-meta rating as an infra failure, or have a ClawSweeper owner clear/rerun it from the backend. |
2e118cd to
4b79eb4
Compare
4b79eb4 to
41e2100
Compare
…210-conflicts # Conflicts: # ui/src/i18n/.i18n/ar.meta.json # ui/src/i18n/.i18n/de.meta.json # ui/src/i18n/.i18n/es.meta.json # ui/src/i18n/.i18n/fa.meta.json # ui/src/i18n/.i18n/fr.meta.json # ui/src/i18n/.i18n/id.meta.json # ui/src/i18n/.i18n/it.meta.json # ui/src/i18n/.i18n/ja-JP.meta.json # ui/src/i18n/.i18n/ko.meta.json # ui/src/i18n/.i18n/nl.meta.json # ui/src/i18n/.i18n/pl.meta.json # ui/src/i18n/.i18n/pt-BR.meta.json # ui/src/i18n/.i18n/th.meta.json # ui/src/i18n/.i18n/tr.meta.json # ui/src/i18n/.i18n/uk.meta.json # ui/src/i18n/.i18n/vi.meta.json # ui/src/i18n/.i18n/zh-CN.meta.json # ui/src/i18n/.i18n/zh-TW.meta.json
Splits out the i18n portion of #79745.
This PR localizes the Skill Workshop mode switcher (Board / Today) into all supported Control UI locales. It does not touch the qmd/mcporter memory path.
Verification
Rebased onto current
upstream/main(ded3a93058) and regenerated Control UI i18n output fromui/src/i18n/locales/en.tswith fallback-only sync. The generated non-English locale bundles now keep the five newskillWorkshop.modeSwitcher.*keys as English fallbacks until translators run.Real behavior proof
skillWorkshop.header.*pattern.fix/ui-skill-workshop-mode-switcher-i18natdc147ebfb5. Translation provider keys were unset for i18n generation/check, so new non-English keys intentionally fall back to English.node scripts/run-vitest.mjs ...passed:Test Files 3 passed (3),Tests 22 passed (22)..sw-mode-switchfromrenderAppindelocale witharia-label="Workshop view",title="Board view",title="Today view", visibleBoard, visibleToday, and active Boardaria-selected="true".node --import tsx scripts/control-ui-i18n.ts checkpassed: all 18 non-English locales clean withfallbacks=33.node_modules/.bin/oxfmt --check ...passed: all matched files use the correct format.node scripts/run-oxlint-shards.mjs --threads=8passed: core, extensions, and scripts lint shards finished without findings.renderSkillWorkshopHeaderControlsresolves all five switcher strings throught("skillWorkshop.modeSwitcher.*"). Theen.tssource defines those keys; generated non-English locale bundles include the same fallback values and metadata. The rendered Skill Workshop switcher still exposes the same tab roles, button titles, visible labels, and active-state ARIA attributes.aria-label; translator-supplied localized strings after a future translation pass.Related