Repository navigation
fix(i18n): drop the stale TerminalPane.minimumContrast entries from the runtime catalog (main red again) - #19575
Conversation
…he runtime catalog #19566 deleted seven orphan `TerminalPane.minimumContrast` entries from en.json. #19544, validated against a main that still contained them, merged a regenerated en-runtime-required.json that ships those seven entries. The generator classifies a shipped entry with no en.json counterpart as `contradicting`, which is a hard failure, so `verify:localization-runtime- catalog` has been red on main again since 12f53da. Regenerate the shipped catalog from the current en.json. The only change is the removal of those seven entries; the generator exits 0 afterwards.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 4 remain after this review. 📝 WalkthroughWalkthroughThe pull request removes the Merge Risk: ⚪ Minimal · up to This removes orphaned runtime localization entries and restores catalog consistency without changing user-facing settings behavior. No current merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Description checkExplanation The description explains the root cause, fix, scope, and verification results in detail. However, it omits several required template sections, including What Changed, Why, Linked Issue with a Fixes reference, Visual Proof or an explicit N/A, Testing checkboxes and platform details, Review, Agent skill upstream boundary, Notes, and the final Checklist. Resolution Add the missing template sections. Include the required linked issue reference, write N/A with a reason for Visual Proof because this change has no UI or interaction change, document testing and platforms, complete the Agent skill upstream boundary and Checklist items, and add the required Notes and Review sections.
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.
✅ No new issues found.
Reviewed changes
- Regenerated runtime catalog —
src/renderer/src/i18n/en-runtime-required.jsondrops the staleTerminalPane.minimumContrastblock (7 leaf entries) that #19566 removed fromen.jsonbut #19544's regen re-shipped against a pre-#19566 base.
Verified independently: node config/scripts/generate-runtime-required-english-catalog.mjs exits 0 (covers en.json: 1680 of 14189); no code reads TerminalPane.minimumContrast; the only surviving minimumContrast in en.json is auto.components.settings.terminal.search.minimumContrast.*, which terminal-typography-search.ts still references and this PR does not touch.
DeepSeek Pro (free via Pullfrog for OSS) | 𝕏

ELI5
#19566 deleted seven unused English strings from
en.json. #19544 was tested against amainthat still had them, so it merged a regenerated shipped catalog that includes those seven — and now the catalog names strings that no longer exist. The check that compares the two fails again on every PR. This regenerates the shipped catalog from the currenten.json; the only change is removing the seven stale entries.Root cause
ea102a9(fix(i18n): drop orphan TerminalPane.minimumContrast entries that broke main static analysis #19566, 08:45:52Z) removedauto.components.settings.TerminalPane.minimumContrast.*(7 orphans, zero call sites) fromen.json.12f53da(Remove settled-worker automatic resume and hibernation fences #19544, 09:14:59Z) merged async:localization-runtime-catalogregeneration that adds those 7 toen-runtime-required.json. Itsstatic analysiswas green because the run validatedMerge ca06b4a into d346d6f— a base from before fix(i18n): drop orphan TerminalPane.minimumContrast entries that broke main static analysis #19566, whereen.jsonstill contained the keys and the regen was consistent (its log: "covers en.json: 1687 of 14196").generate-runtime-required-english-catalog.mjsclassifies a shipped entry with noen.jsoncounterpart ascontradicting(catalogEntries.get(key) === undefined !== shipped.get(key)), and anycontradictingis a hard exit 1. It is notsuperfluous— that class requires the key to still exist inen.json.Measured on a literal detached checkout of
main@12f53da: exit 1, "Shipped entries whose text disagrees with en.json:" followed by exactly the 7 keys. Flattened-JSON check: 7 shipped keys with noen.jsonentry, 0 genuine text mismatches.The fix
pnpm run sync:localization-runtime-catalog— the non-destructive script that writes onlyen-runtime-required.json(not the destructivesync:localization-catalog) — regenerated from the currenten.json. The diff is exactly the inverse of #19544's hunk: −10/+1, the seven entries and their block removed. No other key added, removed, or changed.Verification (on
main@12f53da+ this commit)verify:localization-runtime-catalog(the failing step)verify:localization-catalogverify:localization-coverageoxfmt --check en-runtime-required.jsonSystemic
This is the third stale-base incident on
maintoday, and this one re-broke a lane fixed 29 minutes earlier. Same mechanism as #19542/#19551: a PR's checks are green against the base snapshotted at trigger time, not the base it lands on. Nothing warned anyone — the PR was green, andmainhas no push-triggered CI to surface the break after merge. The control that prevents this is a strict status check / up-to-date-base requirement onmain, which currently has no branch protection or rulesets at all.