The terminal client still doesn't work properly with multi-codepoint grapheme clusters. It's very hard to fix this, since Rust's String type has no grapheme cluster functionality, and the terminal also receives entered text as codepoints, not grapheme clusters.
Another reason is that, as per https://lord.io/text-editing-hates-you-too/, terminals are designed to conflate keypress and text input as the same event, so there might be a limit to how well this can ever work :/