fix: use vault+file URI format for Obsidian, more reliable than path=
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+6
-1
@@ -239,7 +239,12 @@ async def open_file(body: dict, user: dict = Depends(current_user)):
|
||||
dest = os.path.join(vault, os.path.basename(p))
|
||||
shutil.copy2(p, dest)
|
||||
open_target = os.path.join(vault, os.path.basename(all_paths[0]))
|
||||
uri = f"obsidian://open?path={quote(open_target, safe='/')}"
|
||||
vault_name = os.path.basename(vault.rstrip("/")) if vault else ""
|
||||
file_name = os.path.basename(open_target)
|
||||
if vault_name:
|
||||
uri = f"obsidian://open?vault={quote(vault_name)}&file={quote(file_name)}"
|
||||
else:
|
||||
uri = f"obsidian://open?path={quote(open_target, safe='/')}"
|
||||
obsidian_bin = shutil.which("obsidian") or "/usr/bin/obsidian"
|
||||
subprocess.Popen([obsidian_bin, uri])
|
||||
elif mode == "folder" and shutil.which("dolphin"):
|
||||
|
||||
Reference in New Issue
Block a user