For some emojis, it takes 2 keystrokes to delete

Steps to reproduce

  1. Obsidian 0.15.2
  2. open Sandbox vault
  3. new note
  4. paste :warning: emoji
  5. it is shown not as emoji but as some other similar unicode char (screenshot below)
  6. press backspace
  7. char is not erased
  8. press backspace again, it deletes

Have not tested all emoji, but does not affect e.g. “scream” :scream: for example.

similar to old bugs:

What happens if instead of pasting it, you input it with OS emoji picker.

I can’t reproduce on win/chrome. The emoji being “different” is just a font issue.

If it happens here https://codemirror.net/, open an issue here https://codemirror.net/

Same thing with emoji picker…

video (sandbox)

same bug on codemirror.net

I’ll file a bugreport I guess

Issue filed: Some emoji don't show up as emoji, but instead unicode alternates · Issue #883 · codemirror/dev · GitHub

This applies to more than just emojis. I use a transliteration scheme that makes use of the ‘COMBINING RETROFLEX HOOK BELOW’ (U+0322) codepoint to denote Tamil characters that have no english equivalent. For example: t̨ d̨ n̨ l̨.

Obsidian does not seem to handle combining codepoints like these well. Instead, it treats these as two individual grapheme clusters, meaning that text editing gives them separate boundaries. But really they should have a single combined boundary.

(Note: I have a weird usecase but this applies to combining characters in general. Like this a combined with a combining grave codepoint: )

This is particularly bad when you try to use these characters in code blocks, where they appear as two different characters. (counter-example: this Discord forum renders them properly :slight_smile: )

The issue reported in this BR was solved. It doesn’t need two keystrokes to delete an emoji.

@rahat regarding your problem.
Does it happen here https://codemirror.net/?