plugins-workspace icon indicating copy to clipboard operation
plugins-workspace copied to clipboard

opener: revealItemInDir receives wrong `path` key

Open ndzik opened this issue 1 month ago • 1 comments

          await revealItemInDir(save_to_path)

This fails with:

[Error] Unhandled Promise Rejection: invalid args `path` for command `reveal_item_in_dir`: command reveal_item_in_dir missing required key path
	(anonymous function) (MyComponent.svelte:881)

I dived into the releases and suspect it happened here b8056f484c7144af095d4d6ded1e8adbb9b8a865

Specifically here

Quick workaround is manually calling the invoke command.

<<<<<<< HOTFIX
          await invoke("plugin:opener|reveal_item_in_dir", { path: save_to_path })
=======
          await revealItemInDir(save_to_path)
>>>>>>> BEFORE

ndzik avatar Nov 19 '25 18:11 ndzik

can you share the output of the tauri info command please?

FabianLars avatar Nov 19 '25 19:11 FabianLars

Sorry, it slipped my mind to reply 🙏

[✘] Environment
- OS: Mac OS 15.6.1 arm64 (X64)
✔ Xcode Command Line Tools: installed
✘ Xcode: not installed!
✔ rustc: 1.91.0 (f8297e351 2025-10-28)
✔ cargo: 1.91.0 (ea2d97820 2025-10-10)
✔ rustup: 1.28.2 (2025-04-28)
✔ Rust toolchain: stable-aarch64-apple-darwin (default)
- node: 20.19.3
- pnpm: 10.20.0
- yarn: 1.22.22
- npm: 10.8.2

[-] Packages
- tauri 🦀: 2.9.3
- tauri-build 🦀: 2.5.2
- wry 🦀: 0.53.5
- tao 🦀: 0.34.5
- tauri-cli 🦀: 2.4.0 (outdated, latest: 2.9.4)
- @tauri-apps/api  ⱼₛ: 2.9.0
- @tauri-apps/cli  ⱼₛ: 2.9.4

[-] Plugins
- tauri-plugin-updater 🦀: 2.9.0
- @tauri-apps/plugin-updater  ⱼₛ: 2.7.1 (outdated, latest: 2.9.0)
- tauri-plugin-single-instance 🦀: 2.3.6
- @tauri-apps/plugin-single-instance  ⱼₛ: not installed!
- tauri-plugin-upload 🦀: 2.3.0, (outdated, latest: 2.3.2)
- @tauri-apps/plugin-upload  ⱼₛ: 2.2.2 (outdated, latest: 2.3.2)
- tauri-plugin-fs 🦀: 2.4.0, (outdated, latest: 2.4.4)
- @tauri-apps/plugin-fs  ⱼₛ: 2.2.1 (outdated, latest: 2.4.4)
- tauri-plugin-opener 🦀: 2.4.0, (outdated, latest: 2.5.2)
- @tauri-apps/plugin-opener  ⱼₛ: 2.5.2
- tauri-plugin-process 🦀: 2.3.0, (outdated, latest: 2.3.1)
- @tauri-apps/plugin-process  ⱼₛ: 2.3.1
- tauri-plugin-shell 🦀: 2.3.0, (outdated, latest: 2.3.3)
- @tauri-apps/plugin-shell  ⱼₛ: 2.2.2 (outdated, latest: 2.3.3)
- tauri-plugin-dialog 🦀: 2.3.0, (outdated, latest: 2.4.2)
- @tauri-apps/plugin-dialog  ⱼₛ: 2.2.2 (outdated, latest: 2.4.2)
- tauri-plugin-http 🦀: 2.5.0, (outdated, latest: 2.5.4)
- @tauri-apps/plugin-http  ⱼₛ: 2.4.4 (outdated, latest: 2.5.4)
- tauri-plugin-persisted-scope 🦀: 2.3.0, (outdated, latest: 2.3.4)
- @tauri-apps/plugin-persisted-scope  ⱼₛ: not installed!
- tauri-plugin-deep-link 🦀: 2.4.5
- @tauri-apps/plugin-deep-link  ⱼₛ: 2.2.1 (outdated, latest: 2.4.5)

[-] App
- build-type: bundle
- CSP: <removed>
- frontendDist: ../build
- devUrl: http://localhost:1420/
- framework: Svelte
- bundler: Vite

This is our current one. We also tried updating tauri and its dependencies but that had the same issue.

ndzik avatar Nov 26 '25 12:11 ndzik

updating tauri-plugin-opener on the rust side should fix this 🤔

FabianLars avatar Nov 26 '25 12:11 FabianLars

Okay. So I have:

[-] Packages
    - tauri 🦀: 2.9.3
    - tauri-build 🦀: 2.5.2
    - wry 🦀: 0.53.5
    - tao 🦀: 0.34.5
    - tauri-cli 🦀: 2.4.0 (outdated, latest: 2.9.4)
    - @tauri-apps/api  ⱼₛ: 2.9.0
    - @tauri-apps/cli  ⱼₛ: 2.9.4

[-] Plugins
    - tauri-plugin-persisted-scope 🦀: 2.3.4
    - @tauri-apps/plugin-persisted-scope  ⱼₛ: not installed!
    - tauri-plugin-fs 🦀: 2.4.4
    - @tauri-apps/plugin-fs  ⱼₛ: 2.4.4
    - tauri-plugin-deep-link 🦀: 2.4.5
    - @tauri-apps/plugin-deep-link  ⱼₛ: 2.4.5
    - tauri-plugin-dialog 🦀: 2.4.2
    - @tauri-apps/plugin-dialog  ⱼₛ: 2.4.2
    - tauri-plugin-http 🦀: 2.5.4
    - @tauri-apps/plugin-http  ⱼₛ: 2.5.4
    - tauri-plugin-updater 🦀: 2.9.0
    - @tauri-apps/plugin-updater  ⱼₛ: 2.9.0
    - tauri-plugin-opener 🦀: 2.5.2
    - @tauri-apps/plugin-opener  ⱼₛ: 2.5.2
    - tauri-plugin-shell 🦀: 2.3.3
    - @tauri-apps/plugin-shell  ⱼₛ: 2.3.3
    - tauri-plugin-single-instance 🦀: 2.3.6
    - @tauri-apps/plugin-single-instance  ⱼₛ: not installed!
    - tauri-plugin-upload 🦀: 2.3.2
    - @tauri-apps/plugin-upload  ⱼₛ: 2.3.2
    - tauri-plugin-process 🦀: 2.3.1
    - @tauri-apps/plugin-process  ⱼₛ: 2.3.1

2.5.2 for plugin-opener should be the latest AFAICT and I have no idea how to update tauri-cli (the only one marked as outdated).

My package.json has:

    cat package.json | grep plugin-opener
    "@tauri-apps/plugin-opener": "^2.5.2",

I also updated all tauri plugin dependencies if that matters, but I guess this can be seen in the tauri info command. And I still get the error on the frontend side:

Image

ndzik avatar Nov 26 '25 15:11 ndzik

well the error is slightly different now, it complains about paths instead of path now but that makes even less sense cause paths is correct.

your code is still await revealItemInDir(save_to_path) with save_to_path being defined, right?

it works for me on Windows btw. I can't check macOS until tomorrow though :/

FabianLars avatar Nov 26 '25 15:11 FabianLars

Yes, await revealItemInDir(save_to_path). Thanks for taking a look!

ndzik avatar Nov 26 '25 15:11 ndzik

works for me on macOS too. Does the path contain any non ascii characters perhaps?

FabianLars avatar Nov 27 '25 15:11 FabianLars

No special characters. Thank you for double checking. I will take another look at it as well and see if something comes up.

ndzik avatar Nov 28 '25 09:11 ndzik