fix(sync-220): address Copilot review findings (code + zh-TW + spelling)#226
Merged
yeelam-gordon merged 3 commits intoJun 5, 2026
Merged
Conversation
- ControlCore: AdjustFontSize now clamps requestedSize first, then derives _accumulatedFontSizeDelta from the clamp so the accumulator never drifts past the 1.0f floor across repeated decrement operations. - SixelParser: ensure _maybeFlushImageBuffer(true) (which restores cursor visibility) runs on the exception path as well, not just on normal end-of-sequence. - SixelParser: typo 'a a scroll' -> 'a scroll'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Both RestartConnectionText and RestartConnectionKey in zh-TW used '工作模式' (work mode) where '工作階段' (session) is correct, matching the meaning of the en-US 'session' source string. Flagged by Copilot on PR 220. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Per repo policy (.github/actions/spelling/allow/README.md): stable real identifiers belong in allow/*.txt, not expect/*.txt. NODEFAULT and SND are Win32 API identifiers (allow/apis.txt); slnf is the Microsoft solution-filter file extension (allow/microsoft.txt). All three were added to expect.txt by the upstream cherry-picks on PR 220. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This follow-up PR addresses prior Copilot review findings from the upstream sync work by tightening correctness in sixel parsing error handling, fixing a zh-TW terminology mismatch for “session”, and aligning the repo’s spell-check allow/expect lists with the established policy.
Changes:
- Fix
ControlCore::AdjustFontSizeaccumulator drift by clamping the requested size before updating_accumulatedFontSizeDelta. - Ensure
SixelParserperforms end-of-sequence cleanup (cursor visibility restore) even when parsing throws, and fix a minor comment typo. - Update zh-TW resource strings to use 工作階段 (“session”) and move stable identifiers (
NODEFAULT,SND,slnf) fromexpectto the appropriateallowlists.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/terminal/adapter/SixelParser.cpp | Adds exception-path cleanup for sixel parsing and fixes a small comment typo. |
| src/cascadia/TerminalControl/ControlCore.cpp | Clamps requested font size before recording the accumulated delta to prevent drift at the minimum size. |
| src/cascadia/TerminalApp/Resources/zh-TW/Resources.resw | Updates “Restart connection” text to use 工作階段 (“session”). |
| src/cascadia/TerminalSettingsModel/Resources/zh-TW/Resources.resw | Updates the corresponding key string to use 工作階段 (“session”). |
| .github/actions/spelling/expect/expect.txt | Removes stable identifiers that should not live in expect. |
| .github/actions/spelling/allow/microsoft.txt | Allows slnf as a stable Microsoft-related identifier. |
| .github/actions/spelling/allow/apis.txt | Allows NODEFAULT and SND as stable API identifiers. |
yeelam-gordon
added a commit
that referenced
this pull request
Jun 4, 2026
Codifies the fix-in-PR vs. follow-up-PR policy learned on PR #220 / #226: build-blocking failures get one extra commit on the sync branch, but all substantive review feedback (Copilot or human) goes into a separate follow-up PR based on the sync branch's HEAD. Preserves the cherry-pick PR's 'faithful to upstream' audit property. - SKILL.md: new 'After-PR review handling' subsection + Gotcha bullet. - references/follow-up-pr.md: new doc with full rubric, worktree mechanics, reply+resolve flow, and rebase-onto-main fallback. - references/workflow.md: new step 10 cross-linking the policy. - scripts/06-finalize-pr.ps1: PR banner now spells the policy out so the first reviewer doesn't push back on deferred fixes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
vanzue
approved these changes
Jun 4, 2026
DDKinger
approved these changes
Jun 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #220 addressing the 8 Copilot review findings. Targeting
upstream-sync/2026-06-04so it lands together with PR #220 (or can be rebased ontomainif #220 merges first).Code fixes (commit 29a9e38)
requestedSizefirst, then derive_accumulatedFontSizeDelta = requestedSize - baseSizeso repeated zoom-out at the floor no longer accumulates phantom negative delta._maybeFlushImageBuffer(true)(which restores cursor visibility) was only called on normal end-of-sequence. Now also runs in thecatch (...)block.Localization fix (commit e8d9359)
zh-TWRestartConnectionText/RestartConnectionKey— 工作模式 (work mode) → 工作階段 (session), matching the en-USsessionsource.Spelling cleanup (commit 8dbeab6)
NODEFAULT/SND(Win32 API constants) toallow/apis.txt.slnf(Microsoft solution-filter ext) toallow/microsoft.txt.expect/expect.txtper repo policy (allow = stable identifiers, expect = transient).Build note
PR #220 itself built clean (5-min incremental). For this follow-up,
bz no_cleanfrom a fresh worktree on the same toolchain hit a pre-existing vcpkg-vs-VS18-preview detection issue (Unable to find a valid Visual Studio instance) that is unrelated to these changes — it reproduces on a clean checkout of the PR #220 head as well. The changes here are surgical (clamp logic refactor with same symbols, one extra call to an in-scope function inside an existingcatch, text-only resw + spelling-list edits) and should not introduce build regressions.Copilot threads addressed on #220
ControlCore.cpp:1187✅SixelParser.cpp:101✅SixelParser.cpp:248✅TerminalApp/zh-TW/Resources.resw:919✅TerminalSettingsModel/zh-TW/Resources.resw:706✅expect.txt:1080NODEFAULT✅expect.txt:1558slnf✅expect.txt:1566SND✅