Bug - macOS Tibetan Wylie IME duplicates subjoined consonants during composition #1708

Closed
opened 2026-06-02 09:12:20 +02:00 by tomer-gom · 3 comments

When using the built-in macOS Tibetan Wylie input method in a CodeMirror 6 editor, typing Tibetan stacks can corrupt the inserted text by duplicating the subjoined consonant.

Environment:

  • macOS: 26.5
  • Browser: Chrome Version 148.0.7778.97 (Official Build) (arm64)
  • Input method: macOS Tibetan Wylie
  • CodeMirror: reproduced in the standalone CodeMirror 6 demo / try page
  • Also observed in Obsidian, whose editor uses CodeMirror

Steps to reproduce:

  1. Enable macOS Tibetan Wylie input.
  2. Open a CodeMirror 6 editor.
  3. Type sngon.
  4. Observe the inserted Tibetan text.
  5. Repeat with snying.

Expected:

  • sngon (with a space, this puts the '་') → སྔོན་
  • snying → སྙིང་
  • rtsis -> རྩིས་

Actual:

  • sngon → སྔྔན་
  • snying → སྙྙང་
  • rtsis -> རྩྩས་

Notes:
The same input method works correctly in TextEdit, OneNote, and Gmail in the same browser, but fails in CodeMirror-based editors. This suggests an IME/composition handling issue in CodeMirror’s editor input layer rather than a macOS keyboard or font-rendering issue.

Original downstream report:
[link to Obsidian forum report]

When using the built-in macOS Tibetan Wylie input method in a CodeMirror 6 editor, typing Tibetan stacks can corrupt the inserted text by duplicating the subjoined consonant. Environment: - macOS: 26.5 - Browser: Chrome Version 148.0.7778.97 (Official Build) (arm64) - Input method: macOS Tibetan Wylie - CodeMirror: reproduced in the standalone CodeMirror 6 demo / try page - Also observed in Obsidian, whose editor uses CodeMirror Steps to reproduce: 1. Enable macOS Tibetan Wylie input. 2. Open a CodeMirror 6 editor. 3. Type `sngon`. 4. Observe the inserted Tibetan text. 5. Repeat with `snying`. Expected: - `sngon `(with a space, this puts the '་') → སྔོན་ - `snying ` → སྙིང་ - `rtsis ` -> རྩིས་ Actual: - `sngon ` → སྔྔན་ - `snying ` → སྙྙང་ - `rtsis ` -> རྩྩས་ Notes: The same input method works correctly in TextEdit, OneNote, and Gmail in the same browser, but fails in CodeMirror-based editors. This suggests an IME/composition handling issue in CodeMirror’s editor input layer rather than a macOS keyboard or font-rendering issue. Original downstream report: [[link to Obsidian forum report]](https://forum.obsidian.md/t/macos-tibetan-wylie-input-duplicates-stacked-consonant-in-editor/113548)
Owner

What appears to happen is that Chrome, in this specific situation, moves the cursor out of the editor and into, of all things, the uneditable cursor overlay element. Attached patch seems to prevent this from happening, in my tests.

What appears to happen is that Chrome, in this specific situation, moves the cursor out of the editor and into, of all things, the uneditable cursor overlay element. Attached patch seems to prevent this from happening, in my tests.
Author

Tested locally and it's fixed!

Many many thanks! This issue caused a great pain while working with Tibetan.

Tested locally and it's fixed! Many many thanks! This issue caused a great pain while working with Tibetan.
Owner

I've tagged @codemirror/view 6.43.1 which includes this patch.

I've tagged @codemirror/view 6.43.1 which includes this patch.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
codemirror/dev#1708
No description provided.