From 2285ac6ab8a88bdb3eb339fdd952af36f45c64e7 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Wed, 11 Mar 2026 12:41:48 +0900 Subject: [PATCH] Fix RTL breaking IME composition rendering Fixes #5760 --- src/browser/input/CompositionHelper.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/browser/input/CompositionHelper.ts b/src/browser/input/CompositionHelper.ts index d170eae3b..0f4ef7789 100644 --- a/src/browser/input/CompositionHelper.ts +++ b/src/browser/input/CompositionHelper.ts @@ -76,7 +76,9 @@ export class CompositionHelper { * @param ev The event. */ public compositionupdate(ev: Pick): void { - this._compositionView.textContent = ev.data; + // Mark text as LTR, direction=rtl is used in CSS so the end of the text is followed for long + // compositions + this._compositionView.textContent = `\u200E${ev.data}\u200E`; this.updateCompositionElements(); setTimeout(() => { this._compositionPosition.end = this._textarea.value.length;