What happens
Arabic, Hebrew, and other right-to-left text in the Web UI composer and chat transcript inherits the page's left-to-right direction. Mixed text containing punctuation, times, URLs, or Latin identifiers is laid out in the wrong direction and is difficult to read or edit.
This is separate from UI translation/localization work such as #255: user-authored and agent-authored content needs its own direction regardless of the language used by the surrounding interface.
Steps to reproduce
- Open the Web UI and start a conversation.
- Enter a mixed RTL message such as:
مرحبا، موعد الاجتماع 10:30 في room-42.
- Observe the text while editing and after it appears in the transcript.
Expected
The composer and each user/assistant text block should infer direction from their own content. RTL messages should render and edit right-to-left while English and other LTR messages remain left-to-right.
Actual
The composer and rendered Markdown inherit the document's LTR direction. Mixed RTL content has incorrect alignment and confusing punctuation/number ordering.
Source evidence
plugins/web-ui/src/composer.ts:436 renders the composer <textarea> without dir=auto.
plugins/web-ui/src/chat.ts:1191 renders the user message bubble without a content direction.
plugins/web-ui/src/chat.ts:1362 renders assistant text without a content direction.
plugins/web-ui/src/chat.ts:1387 creates every <markdown-block> without dir=auto.
- No
direction, unicode-bidi, or RTL handling exists in the Web UI source or tests.
Suggested direction
Apply content-level automatic direction to editable and rendered user/agent text, rather than changing the direction of the whole application shell. Add regression coverage for both pure RTL and mixed RTL/LTR content so normal English messages remain unchanged.
Environment: current main at 0f0e0ad.
What happens
Arabic, Hebrew, and other right-to-left text in the Web UI composer and chat transcript inherits the page's left-to-right direction. Mixed text containing punctuation, times, URLs, or Latin identifiers is laid out in the wrong direction and is difficult to read or edit.
This is separate from UI translation/localization work such as #255: user-authored and agent-authored content needs its own direction regardless of the language used by the surrounding interface.
Steps to reproduce
مرحبا، موعد الاجتماع 10:30 في room-42.Expected
The composer and each user/assistant text block should infer direction from their own content. RTL messages should render and edit right-to-left while English and other LTR messages remain left-to-right.
Actual
The composer and rendered Markdown inherit the document's LTR direction. Mixed RTL content has incorrect alignment and confusing punctuation/number ordering.
Source evidence
plugins/web-ui/src/composer.ts:436renders the composer<textarea>withoutdir=auto.plugins/web-ui/src/chat.ts:1191renders the user message bubble without a content direction.plugins/web-ui/src/chat.ts:1362renders assistant text without a content direction.plugins/web-ui/src/chat.ts:1387creates every<markdown-block>withoutdir=auto.direction,unicode-bidi, or RTL handling exists in the Web UI source or tests.Suggested direction
Apply content-level automatic direction to editable and rendered user/agent text, rather than changing the direction of the whole application shell. Add regression coverage for both pure RTL and mixed RTL/LTR content so normal English messages remain unchanged.
Environment: current
mainat0f0e0ad.