Skip to content
This repository was archived by the owner on Jul 22, 2026. It is now read-only.
This repository was archived by the owner on Jul 22, 2026. It is now read-only.

Arabic/RTL text renders broken in the terminal (xterm.js limitation) #8

Description

@omaralbeik

Arabic (and other RTL/complex scripts) renders incorrectly in the session terminal: letters appear in isolated, unjoined forms and in the wrong visual order.

Root cause: xterm.js has no contextual shaping or BiDi/RTL support. It renders one glyph per grid cell, which structurally can't join Arabic letters or reorder RTL runs. This affects all renderers (WebGL/Canvas/DOM) and isn't specific to our code.

Scope: Display only — typed input bytes reach the agent intact (UTF-8 correct). It's purely cosmetic.

Upstream / prior art:

Options: accept as a known upstream limitation, or replace xterm.js with a shaping-capable renderer (large effort). No config flag or addon fixes it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions