Incorrect handling not NFC-normalized file names

Steps to reproduce

Consider two visually identical characters

  1. й (NFC-normalized, U+0439). For simplicity, we will call this symbol as X
  2. й (not NFC-normalized, two Unicode characters, U+0438, U+0306). For simplicity, we will call this symbol as Y.

  1. Create Y.md in vault folder. Do this outside Obsidian.
  2. Internally Obsidian will rename to it to X.md, while in file system it is still Y.md.
  3. app.vault.getFileByPath('X.md') returns the file (F)
  4. app.vault.getFileByPath('Y.md') returns null
  5. app.vault.adapter.getFullRealPath(F.path) returns path\to\vault\X.md while in file system it is path\to\vault\Y.md

Even more, you can even have both X.md and Y.md in the same vault folder and Obsidian will consider them as one file with unpredictable behavior.

Did you follow the troubleshooting guide? [Y/N]

Y

Expected result

Obsidian shows warning with suggestion to rename not NFC-normalized file names as they are discovered in the vault.

Actual result

Obsidian silently treats not NFC-normalized file names as NFC-normalized.

Environment

SYSTEM INFO:
	Obsidian version: v1.9.2
	Installer version: v1.7.7
	Operating system: Windows 11 Pro 10.0.26100
	Login status: logged in
	Language: en
	Catalyst license: vip
	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

A post was merged into an existing topic: NFD-NFC Normalization Issues with Wiki Links in Obsidian