Fix URI bugs by using .obsidian instead of cache

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)