Skip to content

[bug] Input/form carets use byte length instead of display width #13

Description

@damonLL

Severity: low. Caret placement uses String::len() (byte length), not display columns, so after a multi-byte glyph (é = 2 bytes, emoji = 4) the block cursor sits right of the actual text in the line-mode input bar and the Add/Edit/Settings fields; the password mask also over-counts (two * per glyph).

Fix: compute caret placement and mask width with unicode-width display columns.

Locations: src/ui/terminal_view.rs:73, src/ui/popup.rs:169,425,465.


Filed from the 2026-07-09 full-repo review (findings adversarially verified before filing).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinguxUser-experience / interface polish

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions