Chat markdown content does not render right-to-left for RTL locales (Persian, Arabic)
- Dominant language
- TypeScript
- Stars
- 156k
- Forks
- 24.6k
- Avg merge
- 22h 9m
- Merged PRs (30d)
- 610
Description
### Self Checks
- [x] I have read the Contributing Guide and Language Policy.
- [x] This is only for bug report.
- [x] I have searched for existing issues, including closed ones.
- [x] I confirm that I am using English to submit this report.
### Dify version
1.17.0 (main)
### Cloud or Self Hosted
Self Hosted (Source)
### Steps to reproduce
1. Set the account's interface language to a right-to-left locale that Dify already ships translations for, e.g. Farsi (`fa-IR`) or Arabic (`ar-TN`), via Account Settings → Preferences → Language.
2. Open any Chat/Agent/Chatflow app and send a message in that language.
3. Observe the rendered question and answer bubbles.
### Expected Behavior
Chat message content (both the user's question and the assistant's answer) should render right-to-left, matching the natural reading direction of the selected locale — text alignment, list markers, and blockquote borders should mirror accordingly.
### Actual Behavior
Message content always renders left-to-right regardless of the active locale. The shared `Markdown` component (`web/app/components/base/markdown/index.tsx`), which renders both question and answer bubbles, never sets a `dir` attribute, so RTL-locale content displays with left-aligned, LTR-ordered text — this makes RTL conversations hard to read. This affects every RTL locale Dify currently ships translations for, not just one language.
Contributor guide
Assessment
This issue has not been assessed yet.