From 8f3e86cf4ea8a32d61d0165664944af72c6c8ef6 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 07:48:58 +1000 Subject: [PATCH] fix(app): support bidi text input (#42413) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> --- packages/app/src/components/prompt-input.tsx | 7 ++++++- packages/app/src/components/titlebar-tab-nav.tsx | 1 + .../src/pages/session/composer/session-question-dock.tsx | 6 +++++- .../app/src/pages/session/timeline/message-timeline.tsx | 2 ++ packages/session-ui/src/components/line-comment.tsx | 2 ++ .../session-ui/src/v2/components/prompt-input/index.tsx | 5 +++++ packages/ui/src/v2/components/line-comment-v2.tsx | 2 ++ 7 files changed, 23 insertions(+), 2 deletions(-) diff --git a/packages/app/src/components/prompt-input.tsx b/packages/app/src/components/prompt-input.tsx index 3ff6cf6aa5b..6c0045fcac7 100644 --- a/packages/app/src/components/prompt-input.tsx +++ b/packages/app/src/components/prompt-input.tsx @@ -1518,6 +1518,7 @@ export const PromptInput: Component = (props) => { role="textbox" aria-multiline="true" aria-label={placeholder()} + dir={store.mode === "normal" ? "auto" : "ltr"} contenteditable="true" autocapitalize={store.mode === "normal" ? "sentences" : "off"} autocorrect={store.mode === "normal" ? "on" : "off"} @@ -1539,7 +1540,11 @@ export const PromptInput: Component = (props) => { "[&_[data-type=agent]]:text-syntax-type": true, "font-mono!": store.mode === "shell", }} - style={{ "padding-bottom": space }} + style={{ + "padding-bottom": space, + "unicode-bidi": store.mode === "normal" ? "plaintext" : undefined, + "text-align": "start", + }} />
{customLabel()} - {input() || customPlaceholder()} + + {input() || customPlaceholder()} + } @@ -632,10 +634,12 @@ export const SessionQuestionDock: Component<{ request: FormInfo; onSubmit: () =>