Windows Canvas IME causes extra character

Steps to reproduce

  1. Add an empty card in Canvas
  2. Type an ordered list (1. )
  3. Use Windows IME and type one word and press spacebar to select(in the screen recording I typed “开”).

Expected result

“1. 开”

Actual result

“1. k开”, with an unexpected “k” appeares

Environment

Obsidian 1.8.0, sandbox vault, Windows 11


Additional information

Canvas card

Is this windows default IME?

Does it happen when you write in a note (not using canvas)?

Yes, default IME. Only happens in Canvas, in normal note it works as expected.

More infomation about this issue.

I meet this problem too.

iShot_2024-12-27_01.37.02

Another problem

Additionally, when the IME is on, if I input some characters and then delete them, there are extra characters that get inserted (as seen in the gif).

IME issue in Canvas

I have discovered that when editing within the canvas, ViewUpdate.view.composing consistently returns false, even when the IME is active. This issue causes my plugin (EasyTyping) to malfunction during canvas editing.

All of this problem only happen in canvas.

System Info

SYSTEM INFO:
Obsidian version: v1.8.0
Installer version: v1.7.7
Operating system: Darwin Kernel Version 24.1.0: Thu Oct 10 21:03:15 PDT 2024; root:xnu-11215.41.3~2/RELEASE_ARM64_T6000 24.1.0
Login status: logged in
Language: zh
Catalyst license: insider
Insider build toggle: on
Live preview: on
Base theme: adapt to system
Community theme: none
Snippets enabled: 0
Restricted mode: off
Plugins installed: 0
Plugins enabled: 0

RECOMMENDATIONS:
none

Has this started happening with 1.8 or is this an old bug?

Start from 1.8.0

This bug was caused by an upstream change in CodeMirror to support an up-up-stream new API of Chromium (EditContext)

We are going to undo this change and wait until the new API matures to reintroduce it.

This bug should be solved in v1.8.2.