fix(core/dialog): reconstruct path using appropriate separator (#820)

* fix(core/dialog): reconstruct path using appropriate separator

ref: tauri-apps/tauri#8074

* Reference original issue [skip ci]
pull/829/head^2
Amr Bashir 1 year ago committed by GitHub
parent 2d6bfbfacf
commit b1c6a7885e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,5 @@
---
"dialog": patch
---
On Windows, fix `open` dialog `defaultPath`, when invoked from JS, not working if the path uses forward slash (`/`)

54
Cargo.lock generated

@ -230,7 +230,7 @@ checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
[[package]]
name = "api"
version = "2.0.0-alpha.7"
version = "2.0.0-alpha.8"
dependencies = [
"log",
"serde",
@ -5854,7 +5854,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-authenticator"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"authenticator",
"base64 0.21.5",
@ -5873,7 +5873,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-autostart"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"auto-launch",
"log",
@ -5885,7 +5885,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-barcode-scanner"
version = "2.0.0-alpha.2"
version = "2.0.0-alpha.3"
dependencies = [
"log",
"serde",
@ -5897,7 +5897,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-cli"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"clap",
"log",
@ -5909,7 +5909,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-clipboard-manager"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"arboard",
"log",
@ -5922,7 +5922,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-deep-link"
version = "2.0.0-alpha.2"
version = "2.0.0-alpha.3"
dependencies = [
"log",
"serde",
@ -5935,7 +5935,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-dialog"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"glib 0.16.9",
"log",
@ -5951,7 +5951,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-fs"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"anyhow",
"glob",
@ -5965,7 +5965,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-global-shortcut"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"global-hotkey",
"log",
@ -5977,7 +5977,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-http"
version = "2.0.0-alpha.5"
version = "2.0.0-alpha.6"
dependencies = [
"data-url",
"glob",
@ -5993,7 +5993,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-localhost"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"http",
"log",
@ -6006,7 +6006,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-log"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"android_logger",
"byte-unit",
@ -6025,7 +6025,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-notification"
version = "2.0.0-alpha.5"
version = "2.0.0-alpha.6"
dependencies = [
"log",
"notify-rust",
@ -6044,7 +6044,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-os"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"gethostname 0.4.3",
"log",
@ -6059,7 +6059,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-persisted-scope"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"aho-corasick",
"bincode",
@ -6073,7 +6073,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-positioner"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"log",
"serde",
@ -6085,14 +6085,14 @@ dependencies = [
[[package]]
name = "tauri-plugin-process"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"tauri",
]
[[package]]
name = "tauri-plugin-shell"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"encoding_rs",
"log",
@ -6108,7 +6108,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-single-instance"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"log",
"serde",
@ -6121,7 +6121,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-sql"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"futures-core",
"log",
@ -6136,7 +6136,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-store"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"log",
"serde",
@ -6147,7 +6147,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-stronghold"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"hex",
"iota-crypto 0.23.0",
@ -6167,7 +6167,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-updater"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"base64 0.21.5",
"dirs-next",
@ -6193,7 +6193,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-upload"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"futures-util",
"log",
@ -6209,7 +6209,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-websocket"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"futures-util",
"log",
@ -6224,7 +6224,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-window-state"
version = "2.0.0-alpha.4"
version = "2.0.0-alpha.5"
dependencies = [
"bincode",
"bitflags 2.4.1",

@ -71,6 +71,8 @@ fn set_default_path<R: Runtime>(
mut dialog_builder: FileDialogBuilder<R>,
default_path: PathBuf,
) -> FileDialogBuilder<R> {
// we need to adjust the separator on Windows: https://github.com/tauri-apps/tauri/issues/8074
let default_path: PathBuf = default_path.components().collect();
if default_path.is_file() || !default_path.exists() {
if let (Some(parent), Some(file_name)) = (default_path.parent(), default_path.file_name()) {
if parent.components().count() > 0 {

Loading…
Cancel
Save