fix: Prevent accidental message submitting on ChatInput for IME users #6109
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.
Japanese or Chinese users use a IME (Input Method Editor) to type their language, where you typically use the enter key to select the characters you want. So when I went go to use Jan, as soon as I type in a single word it triggers the activation because the component is listening for "enter" key presses.
The isComposing flag returns true if the user is using one of these input tools so as not to trigger accidental input, however Safari's implementation is not working correctly, so the keyCode method is also required. See the following webkit bug:
https://bugs.webkit.org/show_bug.cgi?id=165004
Describe Your Changes
Self Checklist
Important
Prevent accidental message submission in
ChatInputfor IME users by checkingisComposingandkeyCodefor Safari.ChatInputduring IME composition by checkingisComposingflag ande.keyCode === 229for Safari.ChatInput.tsxto explain the IME handling logic.This description was created by
for 9b8fb62. You can customize this summary. It will automatically update as commits are pushed.