Obsidian incorrectly interprets the backslash "\" in filenames as a directory divisor in Ubuntu (Linux)

Steps to reproduce

  1. Within the linux file system create a file names ";\:" .
    /home/user1:~/$touch ;\:

  2. Open a vault using the directory were the file is located. “/home/user1” in the example above.

  3. Should receive an error indicating that '/home/path/to/file/;/:' is not a directory.

Expected result

It is understood that if you attempt to create a file from within Obsidian using characters that are supported in Linux but not in windows, it will be rejected. However, a user may be generating a vault from a repository and not have control over the names of the files.

Within linux "\" is a valid filename character, and it is expected that Obsidian would not interpret it as a "/" directory indicator.

Actual result

Obsidian appears to be converting the filename and path using a library or code that does not distinguish between the forward slash "/" a divisor indicating directories, and the backward slash "\" which can be interpreted as an escape character or in this case should be interpreted as a filename character. This causes a directory named /dir1 with a file name of ;\: to be interpreted as /dir1/;/: instead of /dir1/;\:.

Environment

  • Operating system: Ubuntu 22.04
  • Debug info:
    SYSTEM INFO:
    Obsidian version: v1.1.16
    Installer version: v0.15.9
    Operating system: #74-Ubuntu SMP Wed Feb 22 14:14:39 UTC 2023 5.15.0-67-generic
    Login status: not logged in
    Insider build toggle: off
    Live preview: off
    Legacy editor: off
    Base theme: dark
    Community theme: none
    Snippets enabled: 0
    Restricted mode: off
    Plugins installed: 3
    Plugins enabled: 3
    1: Templater v1.12.0
    2: txt as md v0.0.1
    3: Pandoc Plugin v0.2.5

RECOMMENDATIONS:

The issue is present regardless of the plugins installed or activated.


Additional information

(I’ve edited your post to surround your names and code with ` ticks, so they don’t get auto-formatted by the forum.)

This isn’t exactly right. Obsidian generally follows what your OS allows.
But \, / are used as path delimiter globally (across OSes) and this is unlikely to change.