Use case or problem
The current implementation of path URIs doesn’t make any sense and leads to buggy behavior like the problems discussed in this thread:
Proposed solution
The way that Obsidian locates vaults at the moment is by looking through Obsidian’s JSON-cache files instead of trying to locate the .obsidian folder. I understand how the JSON-cache is used for loading the correct data from Obsidian’s/Electron’s leveldbs, but this behavior isn’t always required for loading the vault.
I discuss how Obsidian does this on one of my blog posts: Unit Testing - Obisidian Plugins - smartguy1196's projects
This makes sense for the open?vault=...
URIs but not for open?path=...
What would make sense would be for obsidian to locate the vault by the .obsidian folder similarly to how node.js finds the node_modules folder.
Current workaround (optional)
My method for manually adding untracked vaults somewhat fixes the issue (blog post)