Repository navigation
Conversation
📝 WalkthroughWalkthroughThe patch updates Merge Risk: 🟡 Moderate · up to An empty IME cancellation can leave the terminal composing state stuck, causing subsequent user input to be withheld instead of sent. The PR is not merge-ready until this bounded input-loss risk is fixed or explicitly accepted. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
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.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
config/patches/xterm-src/@xterm__xterm@6.1.0-beta.287.src.patch (1)
342-348: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy liftSettle an empty
compositionendfor the active transaction.If a composition starts and then ends with empty data before the textarea or selection changes,
_compositionEndBelongsToCurrentTransactionstays false. The deferred callback then returns without clearing_isComposing. Later input events without a keydown are stored in_compositionInputDataand are not sent. Treat this current-transaction case as cancellation after deferred inspection.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: b2d16bf0-8970-41ec-807c-638f63ee822f
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
config/patches/@xterm__xterm@6.1.0-beta.287.patchconfig/patches/xterm-src/@xterm__xterm@6.1.0-beta.287.src.patchsrc/renderer/src/components/terminal-pane/terminal-ime-xterm-trailing-preedit-occlusion.test.tstests/e2e/terminal-ime-midline-occlusion-probe.tstests/e2e/terminal-korean-midline-preedit-occlusion.spec.ts
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.
Summary
Why
The composition overlay intentionally stays opaque so committed cells hidden beneath it remain readable through the rendered row tail. On a prompt row with its own ANSI background, however, the overlay used the terminal theme background and produced a visible seam behind the active Korean preedit.
Validation
pnpm install --frozen-lockfile --ignore-scriptsnode config/scripts/regenerate-xterm-patches.mjs --checkon macOS arm64pnpm typecheck:weboxlintfor the changed TypeScript tests/probe