-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Bug: Control UI chat composer breaks CJK IME composition #86035
Copy link
Copy link
Closed
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.
Description
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.
Type
Fields
Priority
None yet
Summary
The Control UI chat composer textarea breaks macOS/browser IME composition for CJK input (Chinese/Japanese/Korean). After switching to a Chinese input method, typing pinyin in the chat box shows raw Latin letters (e.g.
dangqian) instead of IME candidate selection / committed characters.This makes the WebChat / Control UI effectively unusable for CJK typing without copy-paste workarounds.
Environment
http://127.0.0.1:18790/chatSteps to reproduce
/chat)..agent-chat__composer-combobox > textarea).zai maordangqian.Expected behavior
Actual behavior
Notes
openclaw tuiandopenclaw agent -m "..."work fine (terminal/CLI paths are unaffected).isComposinghandling for Enter/send, but the issue persists during normal composition because@inputstill syncs draft state on every keystroke.Root cause (observed in built Control UI)
The chat composer uses a controlled Lit textarea:
.value=${draft}@inputhandler immediately callsonDraftChange(value)on every input event@keydowndoes guard Enter withisComposing/keyCode === 229In the built bundle (
dist/control-ui/assets/index-*.js), the input handler is effectively:A likely fix is to avoid syncing the controlled draft state while IME composition is active, and only commit the textarea value on
compositionend(while still allowing resize/slash-menu behavior as appropriate).