[Bug]: No RTL support - Persian/Arabic/Hebrew text renders left-to-right
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- css, html, javascript
- Domain
- frontend, internationalization
Research direction
Start by tracing the Settings interface-language picker and the locale helper referenced in the renderer bundle at out/renderer/assets, including its existing document.documentElement.lang assignment. Check the renderer’s layout CSS and code, terminal, and file-path surfaces; done means RTL locales are selectable, the root direction and mirrored layout work, and code-related content remains LTR.
Written by the indexing model from the issue text.
Description
GUI version
0.1.46
Operating system
Linux (Debian/Ubuntu)
Reproduction steps
- Open Command Code Desktop.
- Go to Settings → General → Language and open the Interface language picker. Only English and 简体中文 are offered.
- Type Persian (or any other RTL-script language such as Arabic or Hebrew) into the chat composer, or paste it into an agent message.
- Observe the direction/alignment of the text and how it mixes with Latin text and code.
Expected behavior
- RTL-script text (Persian/Arabic/Hebrew) should render right-aligned with correct bidirectional ordering.
- When an RTL interface language is selected, the app layout should flip to RTL (i.e.
<html dir="rtl">), and mirrored UI (sidebar, icons that indicate direction, popovers, etc.) should follow. - Code blocks and inline code should stay LTR even inside RTL content.
Actual behavior
- Interface languages are limited to
enandzh(UZ = ["en","zh"]in the renderer bundle), so there is no Persian/RTL locale. - The root element never receives a
dirattribute. The locale helper only setsdocument.documentElement.lang(C2[e].htmlLang, e.g.en,zh-Hans) and there is no[dir=rtl]/ logical-property CSS in the renderer bundle. - As a result, Persian text typed into the composer and messages is laid out left-to-right and mixed Persian/Latin/code content breaks bidi ordering (punctuation and numbers jump to the wrong side).
Proposed fix
- Add RTL locales (at minimum
fa, plusar,he,ur) to the interface-language list in Settings. - Mirror the layout when the active language direction is RTL: set
document.documentElement.dir = i18next.dir(lng)(i18next already returns"rtl"for these languages) alongside the existinglangassignment. - Use CSS logical properties (
margin-inline-start,padding-inline,inset-inline,text-align: start/end) instead of hard-codedleft/right, and add[dir=rtl]overrides where mirroring is needed. - Force
dir="ltr"on code blocks / inline code / terminal and file-path surfaces so code stays readable.
Screenshots, recordings, or sanitized logs
Not attached. The behavior is reproducible from the steps above; the code references (UZ = ["en","zh"], no dir assignment, no [dir=rtl] rules) are from the installed renderer bundle at out/renderer/assets.
Safety check
- I removed credentials and private project information from this report.
- Dominant language
- Shell
- Stars
- 85
- Forks
- 5
- Avg merge
- 2h 46m
- Merged PRs (30d)
- 1
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CommandCodeAI/desktop
-
[UI Bug][macOS] Sidebar toggle is vertically misaligned with window controlsPossibly taken @aliarain claimed this 3 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
CommandCodeAI/desktop#125 · 1 comment · 1 assignee ·
-
[Feedback]: add copy block under a code blockPossibly taken @aliarain claimed this 8 days ago. Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
CommandCodeAI/desktop#94 · 1 assignee ·
-
[Feedback]: Add Expand & Collapse for changesPossibly taken @aliarain claimed this 8 days ago. Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
CommandCodeAI/desktop#66 · 1 comment · 2 reactions · 1 assignee ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 58/100
CommandCodeAI/desktop#130 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 55/100
CommandCodeAI/desktop#129 ·
All issues in CommandCodeAI/desktop
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
obra/superpowers#2445 ·
Maintainers usually reply within 5 days
-
package-update
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
oSoWoSo/vOid_Community_repOsitory#240 · 1 comment ·
Maintainers usually reply within 1 day
-
ai-inspected
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
[Bug]: atuin doctor reports "Hub (authenticated)" while the client syncs with a self-hosted serverOpen
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day