There's a category of bug that only exists if you type Japanese, and it keeps showing up in software built by people who don't. Same shape, different repo, over and over. After a while you stop being surprised and start being able to guess which file it's in before you open the project.
The one I hit most: you're typing into a search box, the IME pops up conversion candidates, you press Enter to pick the right kanji, and instead of confirming the word the app runs the search on half-finished text. No error. No stack trace. CI is green. The maintainers never see it, because most of them don't type with an IME.
Quick version of why this happens, if you've never used one. When you type Japanese you don't type final characters. You type romaji, the IME shows a preedit, and you press Enter (or Space) to confirm the conversion into kanji. That confirming Enter is the exact same physical key your form is already listening for. So the handler can't tell "I'm done picking a word" from "submit this."
Here's the part that actually got me writing this down. The main input is usually fine. The big composer, the primary message box, somebody already guarded that one. It's the search box, the inline rename field, the tag input sitting right next to it that fire early. The fix exists in the codebase. It just stopped one input short.








