Enter used to confirm an IME conversion (e.g. Japanese) triggers search
Steps to Reproduce
- Open https://bsky.app/search in a desktop browser on macOS (Chrome or Safari).
- Switch to a Japanese IME, type にほん and press Space to convert it to 日本.
- Press Enter to confirm the conversion.
Expected: The conversion is committed and the text stays in the search field. The search runs on the next Enter. Actual: The search runs immediately on the Enter that confirms the conversion.
Attachments
No response
What platform(s) does this occur on?
Web (Desktop)
Device Info
macOS 26.5.2, Chrome 152.0.7977.83 / Safari 26.5.2, macOS Japanese IME
What version of the app are you using?
Build version: 1.132.0; Bundle info: 882741c (prod); Bundle date: 26090920; Platform: web; Platform version: 0.0.0; Device ID: 5fda8beb-cffb-4c2c-b0bf-a608546a0ed1
Additional Information
The search dropdown uses @bsky.app/sift. Its web keyboard handler (useKeyboardHandling.web.ts) handles Enter on keydown without checking for IME composition, so the confirming Enter selects the first item (the search fallback).
Suggested fix at the top of onKeyDown, as recommended by MDN:
if (e.isComposing || e.keyCode === 229) returnRelated: #4178 (same issue in the DM input, fixed by #4159 / #4186).
Sift lives outside this repo, but I can open a PR with a pnpm patch for @bsky.app/sift as a stopgap if that helps.
Source: bluesky-social/social-app