From 973c55ea32f7f1db20d1715c160ddb82af4ba6fa Mon Sep 17 00:00:00 2001 From: windlandneko Date: Sun, 12 Jul 2026 11:23:18 +0800 Subject: [PATCH] fix(session-ui): escape direction:rtl bidi issue in message-part-directory via LRE/PDF wraps When direction: rtl is applied to a path starting with a leading dot (e.g. .config/opencode/), the Unicode bidirectional algorithm misplaces the dot, rendering it as /config/opencode./ in some browsers. This is a known issue with the direction: rtl + text-overflow: ellipsis trick for showing the end of a truncated path. The same approach used in apply-patch-directory (wrapping text in LRE \u202A / PDF \u202C Unicode control characters) is applied to message-part-directory to force LTR embedding inside the RTL context. --- packages/session-ui/src/components/message-part.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/session-ui/src/components/message-part.tsx b/packages/session-ui/src/components/message-part.tsx index 1ba6be82c8cb..c3a3f08d9463 100644 --- a/packages/session-ui/src/components/message-part.tsx +++ b/packages/session-ui/src/components/message-part.tsx @@ -2159,7 +2159,7 @@ ToolRegistry.register({
- {getDirectory(props.input.filePath!)} + {`\u202A${getDirectory(props.input.filePath!)}\u202C`}
@@ -2226,7 +2226,7 @@ ToolRegistry.register({
- {getDirectory(props.input.filePath!)} + {`\u202A${getDirectory(props.input.filePath!)}\u202C`}
@@ -2408,7 +2408,7 @@ ToolRegistry.register({
- {getDirectory(single()!.relativePath)} + {`\u202A${getDirectory(single()!.relativePath)}\u202C`}