Merge remote-tracking branch 'upstream/v2' into store-rework-2

pull/1860/head
Tony 10 months ago
commit 7c24d4a939
No known key found for this signature in database
GPG Key ID: 34BDD3EA27824956

@ -0,0 +1,6 @@
---
"dialog": patch
"dialog-js": patch
---
Set `save` dialog mime type from the `filters` extensions on Android.

@ -0,0 +1,6 @@
---
"positioner": patch
"positioner-js": patch
---
Added missing permission for `handleIconState` and fixed its event processing logic.

@ -0,0 +1,6 @@
---
"http": "patch"
"http-js": "patch"
---
Retain headers order.

@ -0,0 +1,6 @@
---
"shell": "patch"
"shell-js": "patch"
---
On Windows, Fix `open` JS API hanging and freezing the app.

212
Cargo.lock generated

@ -10,9 +10,9 @@ checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
[[package]] [[package]]
name = "addr2line" name = "addr2line"
version = "0.24.1" version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
dependencies = [ dependencies = [
"gimli", "gimli",
] ]
@ -341,9 +341,9 @@ checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16"
[[package]] [[package]]
name = "ashpd" name = "ashpd"
version = "0.9.1" version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfe7e0dd0ac5a401dc116ed9f9119cf9decc625600474cb41f0fc0a0050abc9a" checksum = "4d43c03d9e36dd40cab48435be0b09646da362c278223ca535493877b2c1dee9"
dependencies = [ dependencies = [
"enumflags2", "enumflags2",
"futures-channel", "futures-channel",
@ -396,11 +396,11 @@ dependencies = [
[[package]] [[package]]
name = "async-compression" name = "async-compression"
version = "0.4.12" version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" checksum = "7e614738943d3f68c628ae3dbce7c3daffb196665f82f8c8ea6b65de73c79429"
dependencies = [ dependencies = [
"brotli", "brotli 7.0.0",
"flate2", "flate2",
"futures-core", "futures-core",
"memchr", "memchr",
@ -682,9 +682,9 @@ dependencies = [
[[package]] [[package]]
name = "bitstream-io" name = "bitstream-io"
version = "2.3.0" version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c12d1856e42f0d817a835fe55853957c85c8c8a470114029143d3f12671446e" checksum = "b81e1519b0d82120d2fd469d5bfb2919a9361c48b02d82d04befc1cdd2002452"
[[package]] [[package]]
name = "bitvec" name = "bitvec"
@ -799,6 +799,17 @@ dependencies = [
"brotli-decompressor", "brotli-decompressor",
] ]
[[package]]
name = "brotli"
version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
"brotli-decompressor",
]
[[package]] [[package]]
name = "brotli-decompressor" name = "brotli-decompressor"
version = "4.0.1" version = "4.0.1"
@ -950,9 +961,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.1.22" version = "1.1.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0" checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1"
dependencies = [ dependencies = [
"jobserver", "jobserver",
"libc", "libc",
@ -1060,18 +1071,18 @@ dependencies = [
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.18" version = "4.5.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0956a43b323ac1afaffc053ed5c4b7c1f1800bacd1683c353aabbb752515dd3" checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
] ]
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.18" version = "4.5.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d72166dd41634086d5803a47eb71ae740e61d84709c36f3c34110173db3961b" checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -2220,9 +2231,9 @@ dependencies = [
[[package]] [[package]]
name = "futures" name = "futures"
version = "0.3.30" version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
dependencies = [ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",
@ -2235,9 +2246,9 @@ dependencies = [
[[package]] [[package]]
name = "futures-channel" name = "futures-channel"
version = "0.3.30" version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-sink", "futures-sink",
@ -2245,15 +2256,15 @@ dependencies = [
[[package]] [[package]]
name = "futures-core" name = "futures-core"
version = "0.3.30" version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
[[package]] [[package]]
name = "futures-executor" name = "futures-executor"
version = "0.3.30" version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-task", "futures-task",
@ -2273,9 +2284,9 @@ dependencies = [
[[package]] [[package]]
name = "futures-io" name = "futures-io"
version = "0.3.30" version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
[[package]] [[package]]
name = "futures-lite" name = "futures-lite"
@ -2292,9 +2303,9 @@ dependencies = [
[[package]] [[package]]
name = "futures-macro" name = "futures-macro"
version = "0.3.30" version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2303,21 +2314,21 @@ dependencies = [
[[package]] [[package]]
name = "futures-sink" name = "futures-sink"
version = "0.3.30" version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
[[package]] [[package]]
name = "futures-task" name = "futures-task"
version = "0.3.30" version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
[[package]] [[package]]
name = "futures-util" name = "futures-util"
version = "0.3.30" version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
dependencies = [ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",
@ -2516,9 +2527,9 @@ dependencies = [
[[package]] [[package]]
name = "gimli" name = "gimli"
version = "0.31.0" version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
[[package]] [[package]]
name = "gio" name = "gio"
@ -2708,7 +2719,7 @@ dependencies = [
"futures-core", "futures-core",
"futures-sink", "futures-sink",
"http", "http",
"indexmap 2.5.0", "indexmap 2.6.0",
"slab", "slab",
"tokio", "tokio",
"tokio-util", "tokio-util",
@ -2744,6 +2755,12 @@ dependencies = [
"allocator-api2", "allocator-api2",
] ]
[[package]]
name = "hashbrown"
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
[[package]] [[package]]
name = "hashlink" name = "hashlink"
version = "0.9.1" version = "0.9.1"
@ -2866,9 +2883,9 @@ checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
[[package]] [[package]]
name = "httparse" name = "httparse"
version = "1.9.4" version = "1.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946"
[[package]] [[package]]
name = "httpdate" name = "httpdate"
@ -2908,7 +2925,7 @@ dependencies = [
"hyper", "hyper",
"hyper-util", "hyper-util",
"rustls", "rustls",
"rustls-native-certs 0.8.0", "rustls-native-certs",
"rustls-pki-types", "rustls-pki-types",
"tokio", "tokio",
"tokio-rustls", "tokio-rustls",
@ -3062,12 +3079,12 @@ dependencies = [
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "2.5.0" version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
dependencies = [ dependencies = [
"equivalent", "equivalent",
"hashbrown 0.14.5", "hashbrown 0.15.0",
"serde", "serde",
] ]
@ -3184,9 +3201,9 @@ dependencies = [
[[package]] [[package]]
name = "ipnet" name = "ipnet"
version = "2.10.0" version = "2.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708"
[[package]] [[package]]
name = "is-docker" name = "is-docker"
@ -3646,7 +3663,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"rayon",
] ]
[[package]] [[package]]
@ -4190,21 +4206,18 @@ dependencies = [
[[package]] [[package]]
name = "object" name = "object"
version = "0.36.4" version = "0.36.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.20.1" version = "1.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
dependencies = [
"portable-atomic",
]
[[package]] [[package]]
name = "opaque-debug" name = "opaque-debug"
@ -4606,7 +4619,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"indexmap 2.5.0", "indexmap 2.6.0",
"quick-xml 0.32.0", "quick-xml 0.32.0",
"serde", "serde",
"time", "time",
@ -4663,12 +4676,6 @@ dependencies = [
"universal-hash", "universal-hash",
] ]
[[package]]
name = "portable-atomic"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2"
[[package]] [[package]]
name = "powerfmt" name = "powerfmt"
version = "0.2.0" version = "0.2.0"
@ -4742,9 +4749,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.86" version = "1.0.87"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
@ -5033,16 +5040,15 @@ dependencies = [
[[package]] [[package]]
name = "ravif" name = "ravif"
version = "0.11.5" version = "0.11.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc13288f5ab39e6d7c9d501759712e6969fcc9734220846fc9ed26cae2cc4234" checksum = "a8f0bfd976333248de2078d350bfdf182ff96e168a24d23d2436cef320dd4bdd"
dependencies = [ dependencies = [
"avif-serialize", "avif-serialize",
"imgref", "imgref",
"loop9", "loop9",
"quick-error 2.0.1", "quick-error 2.0.1",
"rav1e", "rav1e",
"rayon",
"rgb", "rgb",
] ]
@ -5085,9 +5091,9 @@ dependencies = [
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.5.6" version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "355ae415ccd3a04315d3f8246e86d67689ea74d88d915576e1589a351062a13b" checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
dependencies = [ dependencies = [
"bitflags 2.6.0", "bitflags 2.6.0",
] ]
@ -5143,9 +5149,9 @@ dependencies = [
[[package]] [[package]]
name = "reqwest" name = "reqwest"
version = "0.12.7" version = "0.12.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b"
dependencies = [ dependencies = [
"async-compression", "async-compression",
"base64 0.22.1", "base64 0.22.1",
@ -5175,7 +5181,7 @@ dependencies = [
"pin-project-lite", "pin-project-lite",
"quinn", "quinn",
"rustls", "rustls",
"rustls-native-certs 0.7.3", "rustls-native-certs",
"rustls-pemfile", "rustls-pemfile",
"rustls-pki-types", "rustls-pki-types",
"serde", "serde",
@ -5396,9 +5402,9 @@ dependencies = [
[[package]] [[package]]
name = "rustls" name = "rustls"
version = "0.23.13" version = "0.23.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8"
dependencies = [ dependencies = [
"once_cell", "once_cell",
"ring", "ring",
@ -5408,19 +5414,6 @@ dependencies = [
"zeroize", "zeroize",
] ]
[[package]]
name = "rustls-native-certs"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5"
dependencies = [
"openssl-probe",
"rustls-pemfile",
"rustls-pki-types",
"schannel",
"security-framework",
]
[[package]] [[package]]
name = "rustls-native-certs" name = "rustls-native-certs"
version = "0.8.0" version = "0.8.0"
@ -5436,11 +5429,10 @@ dependencies = [
[[package]] [[package]]
name = "rustls-pemfile" name = "rustls-pemfile"
version = "2.1.3" version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
dependencies = [ dependencies = [
"base64 0.22.1",
"rustls-pki-types", "rustls-pki-types",
] ]
@ -5499,9 +5491,9 @@ dependencies = [
[[package]] [[package]]
name = "schannel" name = "schannel"
version = "0.1.24" version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1"
dependencies = [ dependencies = [
"windows-sys 0.59.0", "windows-sys 0.59.0",
] ]
@ -5716,15 +5708,15 @@ dependencies = [
[[package]] [[package]]
name = "serde_with" name = "serde_with"
version = "3.9.0" version = "3.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"chrono", "chrono",
"hex", "hex",
"indexmap 1.9.3", "indexmap 1.9.3",
"indexmap 2.5.0", "indexmap 2.6.0",
"serde", "serde",
"serde_derive", "serde_derive",
"serde_json", "serde_json",
@ -5734,9 +5726,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_with_macros" name = "serde_with_macros"
version = "3.9.0" version = "3.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d"
dependencies = [ dependencies = [
"darling", "darling",
"proc-macro2", "proc-macro2",
@ -6040,7 +6032,7 @@ dependencies = [
"hashbrown 0.14.5", "hashbrown 0.14.5",
"hashlink", "hashlink",
"hex", "hex",
"indexmap 2.5.0", "indexmap 2.6.0",
"log", "log",
"memchr", "memchr",
"once_cell", "once_cell",
@ -6425,9 +6417,9 @@ dependencies = [
[[package]] [[package]]
name = "tao" name = "tao"
version = "0.30.2" version = "0.30.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06e48d7c56b3f7425d061886e8ce3b6acfab1993682ed70bef50fd133d721ee6" checksum = "a0dbbebe82d02044dfa481adca1550d6dd7bd16e086bc34fa0fbecceb5a63751"
dependencies = [ dependencies = [
"bitflags 2.6.0", "bitflags 2.6.0",
"cocoa", "cocoa",
@ -6498,9 +6490,9 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
[[package]] [[package]]
name = "tauri" name = "tauri"
version = "2.0.1" version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3fad474c02a3bcd4a304afff97159a31b9bab84e29563f7109c7b0ce8cd774e" checksum = "5920aad0804ea5e86808d4b6e8753d3bcbae7efc8f4e41a4da00b45427559868"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bytes", "bytes",
@ -6581,7 +6573,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95d7443dd4f0b597704b6a14b964ee2ed16e99928d8e6292ae9825f09fbcd30e" checksum = "95d7443dd4f0b597704b6a14b964ee2ed16e99928d8e6292ae9825f09fbcd30e"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"brotli", "brotli 6.0.0",
"ico", "ico",
"json-patch", "json-patch",
"plist", "plist",
@ -6969,7 +6961,7 @@ name = "tauri-plugin-sql"
version = "2.0.1" version = "2.0.1"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"indexmap 2.5.0", "indexmap 2.6.0",
"log", "log",
"serde", "serde",
"serde_json", "serde_json",
@ -7144,7 +7136,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c38b0230d6880cf6dd07b6d7dd7789a0869f98ac12146e0d18d1c1049215a045" checksum = "c38b0230d6880cf6dd07b6d7dd7789a0869f98ac12146e0d18d1c1049215a045"
dependencies = [ dependencies = [
"aes-gcm", "aes-gcm",
"brotli", "brotli 6.0.0",
"cargo_metadata", "cargo_metadata",
"ctor", "ctor",
"dunce", "dunce",
@ -7420,7 +7412,7 @@ dependencies = [
"log", "log",
"native-tls", "native-tls",
"rustls", "rustls",
"rustls-native-certs 0.8.0", "rustls-native-certs",
"rustls-pki-types", "rustls-pki-types",
"tokio", "tokio",
"tokio-native-tls", "tokio-native-tls",
@ -7481,7 +7473,7 @@ version = "0.19.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [ dependencies = [
"indexmap 2.5.0", "indexmap 2.6.0",
"serde", "serde",
"serde_spanned", "serde_spanned",
"toml_datetime", "toml_datetime",
@ -7494,7 +7486,7 @@ version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
dependencies = [ dependencies = [
"indexmap 2.5.0", "indexmap 2.6.0",
"serde", "serde",
"serde_spanned", "serde_spanned",
"toml_datetime", "toml_datetime",
@ -7668,9 +7660,9 @@ dependencies = [
[[package]] [[package]]
name = "unicode-bidi" name = "unicode-bidi"
version = "0.3.15" version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
@ -7689,9 +7681,9 @@ dependencies = [
[[package]] [[package]]
name = "unicode-properties" name = "unicode-properties"
version = "0.1.2" version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0"
[[package]] [[package]]
name = "unicode-segmentation" name = "unicode-segmentation"
@ -8911,7 +8903,7 @@ dependencies = [
"crossbeam-utils", "crossbeam-utils",
"displaydoc", "displaydoc",
"flate2", "flate2",
"indexmap 2.5.0", "indexmap 2.6.0",
"memchr", "memchr",
"thiserror", "thiserror",
"zopfli", "zopfli",

@ -11,7 +11,7 @@ resolver = "2"
[workspace.dependencies] [workspace.dependencies]
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
log = "0.4" log = "0.4"
tauri = { version = "2.0.1", default-features = false } tauri = { version = "2.0.2", default-features = false }
tauri-build = "2.0.1" tauri-build = "2.0.1"
tauri-plugin = "2.0.1" tauri-plugin = "2.0.1"
tauri-utils = "2.0.1" tauri-utils = "2.0.1"

@ -9,7 +9,7 @@
"serve": "vite preview" "serve": "vite preview"
}, },
"dependencies": { "dependencies": {
"@tauri-apps/api": "2.0.1", "@tauri-apps/api": "2.0.2",
"@tauri-apps/plugin-barcode-scanner": "2.0.0", "@tauri-apps/plugin-barcode-scanner": "2.0.0",
"@tauri-apps/plugin-biometric": "2.0.0", "@tauri-apps/plugin-biometric": "2.0.0",
"@tauri-apps/plugin-cli": "2.0.0", "@tauri-apps/plugin-cli": "2.0.0",
@ -33,7 +33,7 @@
"@iconify-json/codicon": "^1.1.37", "@iconify-json/codicon": "^1.1.37",
"@iconify-json/ph": "^1.1.8", "@iconify-json/ph": "^1.1.8",
"@sveltejs/vite-plugin-svelte": "^3.0.1", "@sveltejs/vite-plugin-svelte": "^3.0.1",
"@tauri-apps/cli": "2.0.0", "@tauri-apps/cli": "2.0.2",
"@unocss/extractor-svelte": "^0.63.0", "@unocss/extractor-svelte": "^0.63.0",
"svelte": "^4.2.19", "svelte": "^4.2.19",
"unocss": "^0.63.0", "unocss": "^0.63.0",

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings"> <component name="GradleSettings">
<option name="linkedExternalProjectsSettings"> <option name="linkedExternalProjectsSettings">
<GradleProjectSettings> <GradleProjectSettings>
@ -18,7 +19,7 @@
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" /> <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
<option name="modules"> <option name="modules">
<set> <set>
<option value="$USER_HOME$/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-2.0.0-rc.7/mobile/android" /> <option value="$USER_HOME$/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-2.0.2/mobile/android" />
<option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" /> <option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/buildSrc" /> <option value="$PROJECT_DIR$/buildSrc" />
@ -27,6 +28,8 @@
<option value="$PROJECT_DIR$/../../../../../plugins/clipboard-manager/android" /> <option value="$PROJECT_DIR$/../../../../../plugins/clipboard-manager/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/dialog/android" /> <option value="$PROJECT_DIR$/../../../../../plugins/dialog/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/fs/android" /> <option value="$PROJECT_DIR$/../../../../../plugins/fs/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/geolocation/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/haptics/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/nfc/android" /> <option value="$PROJECT_DIR$/../../../../../plugins/nfc/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/notification/android" /> <option value="$PROJECT_DIR$/../../../../../plugins/notification/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/shell/android" /> <option value="$PROJECT_DIR$/../../../../../plugins/shell/android" />

@ -22,7 +22,7 @@
"prettier": "3.3.3", "prettier": "3.3.3",
"rollup": "4.22.4", "rollup": "4.22.4",
"tslib": "2.7.0", "tslib": "2.7.0",
"typescript": "5.6.2", "typescript": "5.6.3",
"typescript-eslint": "8.8.1" "typescript-eslint": "8.8.1"
}, },
"resolutions": { "resolutions": {

@ -10,11 +10,11 @@
"tauri": "tauri" "tauri": "tauri"
}, },
"dependencies": { "dependencies": {
"@tauri-apps/api": "2.0.1", "@tauri-apps/api": "2.0.2",
"@tauri-apps/plugin-deep-link": "2.0.0" "@tauri-apps/plugin-deep-link": "2.0.0"
}, },
"devDependencies": { "devDependencies": {
"@tauri-apps/cli": "2.0.0", "@tauri-apps/cli": "2.0.2",
"typescript": "^5.2.2", "typescript": "^5.2.2",
"vite": "^5.4.7" "vite": "^5.4.7"
} }

@ -10,6 +10,7 @@ import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import android.webkit.MimeTypeMap
import androidx.activity.result.ActivityResult import androidx.activity.result.ActivityResult
import app.tauri.Logger import app.tauri.Logger
import app.tauri.annotation.ActivityCallback import app.tauri.annotation.ActivityCallback
@ -43,6 +44,7 @@ class MessageOptions {
@InvokeArg @InvokeArg
class SaveFileDialogOptions { class SaveFileDialogOptions {
var fileName: String? = null var fileName: String? = null
lateinit var filters: Array<Filter>
} }
@TauriPlugin @TauriPlugin
@ -57,20 +59,7 @@ class DialogPlugin(private val activity: Activity): Plugin(activity) {
val intent = if (parsedTypes.isNotEmpty()) { val intent = if (parsedTypes.isNotEmpty()) {
val intent = Intent(Intent.ACTION_PICK) val intent = Intent(Intent.ACTION_PICK)
intent.putExtra(Intent.EXTRA_MIME_TYPES, parsedTypes) setIntentMimeTypes(intent, parsedTypes)
var uniqueMimeType = true
var mimeKind: String? = null
for (mime in parsedTypes) {
val kind = mime.split("/")[0]
if (mimeKind == null) {
mimeKind = kind
} else if (mimeKind != kind) {
uniqueMimeType = false
}
}
intent.type = if (uniqueMimeType) Intent.normalizeMimeType("$mimeKind/*") else "*/*"
intent intent
} else { } else {
val intent = Intent(Intent.ACTION_GET_CONTENT) val intent = Intent(Intent.ACTION_GET_CONTENT)
@ -130,12 +119,46 @@ class DialogPlugin(private val activity: Activity): Plugin(activity) {
private fun parseFiltersOption(filters: Array<Filter>): Array<String> { private fun parseFiltersOption(filters: Array<Filter>): Array<String> {
val mimeTypes = mutableListOf<String>() val mimeTypes = mutableListOf<String>()
for (filter in filters) { for (filter in filters) {
for (mime in filter.extensions) { for (ext in filter.extensions) {
mimeTypes.add(if (mime == "text/csv") "text/comma-separated-values" else mime) if (ext.contains('/')) {
mimeTypes.add(if (ext == "text/csv") "text/comma-separated-values" else ext)
} else {
MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext)?.let {
mimeTypes.add(it)
}
}
} }
} }
return mimeTypes.toTypedArray() return mimeTypes.toTypedArray()
} }
private fun setIntentMimeTypes(intent: Intent, mimeTypes: Array<String>) {
if (mimeTypes.isNotEmpty()) {
var uniqueMimeKind = true
var mimeKind: String? = null
for (mime in mimeTypes) {
val kind = mime.split("/")[0]
if (mimeKind == null) {
mimeKind = kind
} else if (mimeKind != kind) {
uniqueMimeKind = false
}
}
if (uniqueMimeKind) {
if (mimeTypes.size > 1) {
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes)
intent.type = Intent.normalizeMimeType("$mimeKind/*")
} else {
intent.type = mimeTypes[0]
}
} else {
intent.type = "*/*"
}
} else {
intent.type = "*/*"
}
}
@Command @Command
fun showMessageDialog(invoke: Invoke) { fun showMessageDialog(invoke: Invoke) {
@ -187,10 +210,12 @@ class DialogPlugin(private val activity: Activity): Plugin(activity) {
fun saveFileDialog(invoke: Invoke) { fun saveFileDialog(invoke: Invoke) {
try { try {
val args = invoke.parseArgs(SaveFileDialogOptions::class.java) val args = invoke.parseArgs(SaveFileDialogOptions::class.java)
val parsedTypes = parseFiltersOption(args.filters)
val intent = Intent(Intent.ACTION_CREATE_DOCUMENT) val intent = Intent(Intent.ACTION_CREATE_DOCUMENT)
setIntentMimeTypes(intent, parsedTypes)
intent.addCategory(Intent.CATEGORY_OPENABLE) intent.addCategory(Intent.CATEGORY_OPENABLE)
intent.setType("text/plain")
intent.putExtra(Intent.EXTRA_TITLE, args.fileName ?: "") intent.putExtra(Intent.EXTRA_TITLE, args.fileName ?: "")
startActivityForResult(invoke, intent, "saveFileDialogResult") startActivityForResult(invoke, intent, "saveFileDialogResult")
} catch (ex: Exception) { } catch (ex: Exception) {

@ -2,9 +2,9 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
use std::{collections::HashMap, future::Future, pin::Pin, sync::Arc, time::Duration}; use std::{future::Future, pin::Pin, str::FromStr, sync::Arc, time::Duration};
use http::{header, HeaderName, Method, StatusCode}; use http::{header, HeaderMap, HeaderName, HeaderValue, Method, StatusCode};
use reqwest::{redirect::Policy, NoProxy}; use reqwest::{redirect::Policy, NoProxy};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use tauri::{ use tauri::{
@ -176,7 +176,7 @@ pub async fn fetch<R: Runtime>(
let ClientConfig { let ClientConfig {
method, method,
url, url,
headers, headers: headers_raw,
data, data,
connect_timeout, connect_timeout,
max_redirections, max_redirections,
@ -185,7 +185,17 @@ pub async fn fetch<R: Runtime>(
let scheme = url.scheme(); let scheme = url.scheme();
let method = Method::from_bytes(method.as_bytes())?; let method = Method::from_bytes(method.as_bytes())?;
let headers: HashMap<String, String> = HashMap::from_iter(headers);
let mut headers = HeaderMap::new();
for (h, v) in headers_raw {
let name = HeaderName::from_str(&h)?;
#[cfg(not(feature = "unsafe-headers"))]
if is_unsafe_header(&name) {
continue;
}
headers.append(name, HeaderValue::from_str(&v)?);
}
match scheme { match scheme {
"http" | "https" => { "http" | "https" => {
@ -228,38 +238,29 @@ pub async fn fetch<R: Runtime>(
let mut request = builder.build()?.request(method.clone(), url); let mut request = builder.build()?.request(method.clone(), url);
for (name, value) in &headers {
let name = HeaderName::from_bytes(name.as_bytes())?;
#[cfg(not(feature = "unsafe-headers"))]
if is_unsafe_header(&name) {
continue;
}
request = request.header(name, value);
}
// POST and PUT requests should always have a 0 length content-length, // POST and PUT requests should always have a 0 length content-length,
// if there is no body. https://fetch.spec.whatwg.org/#http-network-or-cache-fetch // if there is no body. https://fetch.spec.whatwg.org/#http-network-or-cache-fetch
if data.is_none() && matches!(method, Method::POST | Method::PUT) { if data.is_none() && matches!(method, Method::POST | Method::PUT) {
request = request.header(header::CONTENT_LENGTH, 0); headers.append(header::CONTENT_LENGTH, HeaderValue::from_str("0")?);
} }
if headers.contains_key(header::RANGE.as_str()) { if headers.contains_key(header::RANGE) {
// https://fetch.spec.whatwg.org/#http-network-or-cache-fetch step 18 // https://fetch.spec.whatwg.org/#http-network-or-cache-fetch step 18
// If httpRequests header list contains `Range`, then append (`Accept-Encoding`, `identity`) // If httpRequests header list contains `Range`, then append (`Accept-Encoding`, `identity`)
request = request.header(header::ACCEPT_ENCODING, "identity"); headers.append(header::ACCEPT_ENCODING, HeaderValue::from_str("identity")?);
} }
if !headers.contains_key(header::USER_AGENT.as_str()) { if !headers.contains_key(header::USER_AGENT) {
request = request.header(header::USER_AGENT, HTTP_USER_AGENT); headers.append(header::USER_AGENT, HeaderValue::from_str(HTTP_USER_AGENT)?);
} }
if cfg!(feature = "unsafe-headers") // ensure we have an Origin header set
&& !headers.contains_key(header::ORIGIN.as_str()) if cfg!(not(feature = "unsafe-headers")) || !headers.contains_key(header::ORIGIN) {
{
if let Ok(url) = webview.url() { if let Ok(url) = webview.url() {
request = headers.append(
request.header(header::ORIGIN, url.origin().ascii_serialization()); header::ORIGIN,
HeaderValue::from_str(&url.origin().ascii_serialization())?,
);
} }
} }
@ -267,6 +268,8 @@ pub async fn fetch<R: Runtime>(
request = request.body(data); request = request.body(data);
} }
request = request.headers(headers);
let fut = async move { request.send().await.map_err(Into::into) }; let fut = async move { request.send().await.map_err(Into::into) };
let mut resources_table = webview.resources_table(); let mut resources_table = webview.resources_table();
let rid = resources_table.add_request(Box::pin(fut)); let rid = resources_table.add_request(Box::pin(fut));

@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_POSITIONER__=function(t){"use strict";async function e(t,e={},o){return window.__TAURI_INTERNALS__.invoke(t,e,o)}var o;return"function"==typeof SuppressedError&&SuppressedError,t.Position=void 0,(o=t.Position||(t.Position={}))[o.TopLeft=0]="TopLeft",o[o.TopRight=1]="TopRight",o[o.BottomLeft=2]="BottomLeft",o[o.BottomRight=3]="BottomRight",o[o.TopCenter=4]="TopCenter",o[o.BottomCenter=5]="BottomCenter",o[o.LeftCenter=6]="LeftCenter",o[o.RightCenter=7]="RightCenter",o[o.Center=8]="Center",o[o.TrayLeft=9]="TrayLeft",o[o.TrayBottomLeft=10]="TrayBottomLeft",o[o.TrayRight=11]="TrayRight",o[o.TrayBottomRight=12]="TrayBottomRight",o[o.TrayCenter=13]="TrayCenter",o[o.TrayBottomCenter=14]="TrayBottomCenter",t.handleIconState=async function(t){const o={};o[`${t.rect.size.type}`]={width:t.rect.size.width,height:t.rect.size.height};const i={};i[`${t.rect.position.type}`]={x:t.rect.position.x,y:t.rect.position.y},await e("plugin:positioner|set_tray_icon_state",{position:i,size:o})},t.moveWindow=async function(t){await e("plugin:positioner|move_window",{position:t})},t}({});Object.defineProperty(window.__TAURI__,"positioner",{value:__TAURI_PLUGIN_POSITIONER__})} if("__TAURI__"in window){var __TAURI_PLUGIN_POSITIONER__=function(t){"use strict";async function o(t,o={},e){return window.__TAURI_INTERNALS__.invoke(t,o,e)}var e;return"function"==typeof SuppressedError&&SuppressedError,t.Position=void 0,(e=t.Position||(t.Position={}))[e.TopLeft=0]="TopLeft",e[e.TopRight=1]="TopRight",e[e.BottomLeft=2]="BottomLeft",e[e.BottomRight=3]="BottomRight",e[e.TopCenter=4]="TopCenter",e[e.BottomCenter=5]="BottomCenter",e[e.LeftCenter=6]="LeftCenter",e[e.RightCenter=7]="RightCenter",e[e.Center=8]="Center",e[e.TrayLeft=9]="TrayLeft",e[e.TrayBottomLeft=10]="TrayBottomLeft",e[e.TrayRight=11]="TrayRight",e[e.TrayBottomRight=12]="TrayBottomRight",e[e.TrayCenter=13]="TrayCenter",e[e.TrayBottomCenter=14]="TrayBottomCenter",t.handleIconState=async function(t){await o("plugin:positioner|set_tray_icon_state",{position:t.rect.position,size:t.rect.size})},t.moveWindow=async function(t){await o("plugin:positioner|move_window",{position:t})},t}({});Object.defineProperty(window.__TAURI__,"positioner",{value:__TAURI_PLUGIN_POSITIONER__})}

@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
const COMMANDS: &[&str] = &["move_window"]; const COMMANDS: &[&str] = &["move_window", "set_tray_icon_state"];
fn main() { fn main() {
tauri_plugin::Builder::new(COMMANDS) tauri_plugin::Builder::new(COMMANDS)

@ -40,20 +40,8 @@ export async function moveWindow(to: Position): Promise<void> {
} }
export async function handleIconState(event: TrayIconEvent): Promise<void> { export async function handleIconState(event: TrayIconEvent): Promise<void> {
const size = {} as Record<string, unknown>
size[`${event.rect.size.type}`] = {
width: event.rect.size.width,
height: event.rect.size.height
}
const position = {} as Record<string, unknown>
position[`${event.rect.position.type}`] = {
x: event.rect.position.x,
y: event.rect.position.y
}
await invoke('plugin:positioner|set_tray_icon_state', { await invoke('plugin:positioner|set_tray_icon_state', {
position, position: event.rect.position,
size size: event.rect.size
}) })
} }

@ -4,5 +4,10 @@
[[permission]] [[permission]]
identifier = "allow-set-tray-icon-state" identifier = "allow-set-tray-icon-state"
description = "Enables the set_tray_icon_state to handle events and set the TrayIcon state." description = "Enables the set_tray_icon_state command without any pre-configured scope."
commands.allow = ["set_tray_icon_state"] commands.allow = ["set_tray_icon_state"]
[[permission]]
identifier = "deny-set-tray-icon-state"
description = "Denies the set_tray_icon_state command without any pre-configured scope."
commands.deny = ["set_tray_icon_state"]

@ -1,6 +1,6 @@
## Default Permission ## Default Permission
Allows the move_window command Allows the moveWindow and handleIconState APIs
- `allow-move-window` - `allow-move-window`
- `set-tray-icon-state` - `set-tray-icon-state`
@ -48,7 +48,20 @@ Denies the move_window command without any pre-configured scope.
</td> </td>
<td> <td>
Enables the set_tray_icon_state to handle events and set the TrayIcon state. Enables the set_tray_icon_state command without any pre-configured scope.
</td>
</tr>
<tr>
<td>
`positioner:deny-set-tray-icon-state`
</td>
<td>
Denies the set_tray_icon_state command without any pre-configured scope.
</td> </td>
</tr> </tr>

@ -1,4 +1,4 @@
"$schema" = "schemas/schema.json" "$schema" = "schemas/schema.json"
[default] [default]
description = "Allows the move_window command" description = "Allows the moveWindow and handleIconState APIs"
permissions = ["allow-move-window", "set-tray-icon-state"] permissions = ["allow-move-window", "set-tray-icon-state"]

@ -305,12 +305,17 @@
"const": "deny-move-window" "const": "deny-move-window"
}, },
{ {
"description": "Enables the set_tray_icon_state to handle events and set the TrayIcon state.", "description": "Enables the set_tray_icon_state command without any pre-configured scope.",
"type": "string", "type": "string",
"const": "allow-set-tray-icon-state" "const": "allow-set-tray-icon-state"
}, },
{ {
"description": "Allows the move_window command", "description": "Denies the set_tray_icon_state command without any pre-configured scope.",
"type": "string",
"const": "deny-set-tray-icon-state"
},
{
"description": "Allows the moveWindow and handleIconState APIs",
"type": "string", "type": "string",
"const": "default" "const": "default"
} }

@ -303,7 +303,7 @@ pub fn kill<R: Runtime>(
} }
#[tauri::command] #[tauri::command]
pub fn open<R: Runtime>( pub async fn open<R: Runtime>(
_window: Window<R>, _window: Window<R>,
shell: State<'_, Shell<R>>, shell: State<'_, Shell<R>>,
path: String, path: String,

@ -9,6 +9,6 @@
"author": "", "author": "",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@tauri-apps/cli": "2.0.0" "@tauri-apps/cli": "2.0.2"
} }
} }

@ -8,7 +8,7 @@
"tauri": "tauri" "tauri": "tauri"
}, },
"devDependencies": { "devDependencies": {
"@tauri-apps/cli": "2.0.0", "@tauri-apps/cli": "2.0.2",
"vite": "^5.0.12", "vite": "^5.0.12",
"typescript": "^5.4.7" "typescript": "^5.4.7"
} }

@ -9,7 +9,7 @@
"preview": "vite preview" "preview": "vite preview"
}, },
"devDependencies": { "devDependencies": {
"@tauri-apps/cli": "2.0.0", "@tauri-apps/cli": "2.0.2",
"typescript": "^5.3.3", "typescript": "^5.3.3",
"vite": "^5.4.7" "vite": "^5.4.7"
}, },

@ -23,7 +23,7 @@ importers:
version: 0.4.4(rollup@4.22.4) version: 0.4.4(rollup@4.22.4)
'@rollup/plugin-typescript': '@rollup/plugin-typescript':
specifier: 11.1.6 specifier: 11.1.6
version: 11.1.6(rollup@4.22.4)(tslib@2.7.0)(typescript@5.6.2) version: 11.1.6(rollup@4.22.4)(tslib@2.7.0)(typescript@5.6.3)
'@types/eslint__js': '@types/eslint__js':
specifier: 8.42.3 specifier: 8.42.3
version: 8.42.3 version: 8.42.3
@ -49,17 +49,17 @@ importers:
specifier: 2.7.0 specifier: 2.7.0
version: 2.7.0 version: 2.7.0
typescript: typescript:
specifier: 5.6.2 specifier: 5.6.3
version: 5.6.2 version: 5.6.3
typescript-eslint: typescript-eslint:
specifier: 8.8.1 specifier: 8.8.1
version: 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2) version: 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)
examples/api: examples/api:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: 2.0.1 specifier: 2.0.2
version: 2.0.1 version: 2.0.2
'@tauri-apps/plugin-barcode-scanner': '@tauri-apps/plugin-barcode-scanner':
specifier: 2.0.0 specifier: 2.0.0
version: link:../../plugins/barcode-scanner version: link:../../plugins/barcode-scanner
@ -125,8 +125,8 @@ importers:
specifier: ^3.0.1 specifier: ^3.0.1
version: 3.1.2(svelte@4.2.19)(vite@5.4.8(terser@5.34.1)) version: 3.1.2(svelte@4.2.19)(vite@5.4.8(terser@5.34.1))
'@tauri-apps/cli': '@tauri-apps/cli':
specifier: 2.0.0 specifier: 2.0.2
version: 2.0.0 version: 2.0.2
'@unocss/extractor-svelte': '@unocss/extractor-svelte':
specifier: ^0.63.0 specifier: ^0.63.0
version: 0.63.1 version: 0.63.1
@ -144,53 +144,53 @@ importers:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/barcode-scanner: plugins/barcode-scanner:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/biometric: plugins/biometric:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/cli: plugins/cli:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/clipboard-manager: plugins/clipboard-manager:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/deep-link: plugins/deep-link:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/deep-link/examples/app: plugins/deep-link/examples/app:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: 2.0.1 specifier: 2.0.2
version: 2.0.1 version: 2.0.2
'@tauri-apps/plugin-deep-link': '@tauri-apps/plugin-deep-link':
specifier: 2.0.0 specifier: 2.0.0
version: link:../.. version: link:../..
devDependencies: devDependencies:
'@tauri-apps/cli': '@tauri-apps/cli':
specifier: 2.0.0 specifier: 2.0.2
version: 2.0.0 version: 2.0.2
typescript: typescript:
specifier: ^5.2.2 specifier: ^5.2.2
version: 5.6.2 version: 5.6.3
vite: vite:
specifier: ^5.4.7 specifier: ^5.4.7
version: 5.4.8(terser@5.34.1) version: 5.4.8(terser@5.34.1)
@ -199,106 +199,106 @@ importers:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/fs: plugins/fs:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/geolocation: plugins/geolocation:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/global-shortcut: plugins/global-shortcut:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/haptics: plugins/haptics:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/http: plugins/http:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/log: plugins/log:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/nfc: plugins/nfc:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/notification: plugins/notification:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/os: plugins/os:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/positioner: plugins/positioner:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/process: plugins/process:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/shell: plugins/shell:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/single-instance/examples/vanilla: plugins/single-instance/examples/vanilla:
devDependencies: devDependencies:
'@tauri-apps/cli': '@tauri-apps/cli':
specifier: 2.0.0 specifier: 2.0.2
version: 2.0.0 version: 2.0.2
plugins/sql: plugins/sql:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/store: plugins/store:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/store/examples/AppSettingsManager: plugins/store/examples/AppSettingsManager:
devDependencies: devDependencies:
'@tauri-apps/cli': '@tauri-apps/cli':
specifier: 2.0.0 specifier: 2.0.2
version: 2.0.0 version: 2.0.2
typescript: typescript:
specifier: ^5.4.7 specifier: ^5.4.7
version: 5.6.2 version: 5.6.3
vite: vite:
specifier: ^5.0.12 specifier: ^5.0.12
version: 5.4.8(terser@5.34.1) version: 5.4.8(terser@5.34.1)
@ -307,25 +307,25 @@ importers:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/updater: plugins/updater:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/upload: plugins/upload:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/websocket: plugins/websocket:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
plugins/websocket/examples/tauri-app: plugins/websocket/examples/tauri-app:
dependencies: dependencies:
@ -334,11 +334,11 @@ importers:
version: link:../.. version: link:../..
devDependencies: devDependencies:
'@tauri-apps/cli': '@tauri-apps/cli':
specifier: 2.0.0 specifier: 2.0.2
version: 2.0.0 version: 2.0.2
typescript: typescript:
specifier: ^5.3.3 specifier: ^5.3.3
version: 5.6.2 version: 5.6.3
vite: vite:
specifier: ^5.4.7 specifier: ^5.4.7
version: 5.4.8(terser@5.34.1) version: 5.4.8(terser@5.34.1)
@ -347,7 +347,7 @@ importers:
dependencies: dependencies:
'@tauri-apps/api': '@tauri-apps/api':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.1 version: 2.0.2
packages: packages:
@ -936,71 +936,71 @@ packages:
svelte: ^4.0.0 || ^5.0.0-next.0 svelte: ^4.0.0 || ^5.0.0-next.0
vite: ^5.0.0 vite: ^5.0.0
'@tauri-apps/api@2.0.1': '@tauri-apps/api@2.0.2':
resolution: {integrity: sha512-eoQWT+Tq1qSwQpHV+nw1eNYe5B/nm1PoRjQCRiEOS12I1b+X4PUcREfXVX8dPcBT6GrzWGDtaecY0+1p0Rfqlw==} resolution: {integrity: sha512-3wSwmG+1kr6WrgAFKK5ijkNFPp8TT3FLj3YHUb5EwMO+3FxX4uWlfSWkeeBy+Kc1RsKzugtYLuuya+98Flj+3w==}
'@tauri-apps/cli-darwin-arm64@2.0.0': '@tauri-apps/cli-darwin-arm64@2.0.2':
resolution: {integrity: sha512-+agYqg2c77imaMfKw7mzqecVIDGcwr6bZMdglJ808O2UjTFzMwnAam1sU26YBYU+IyIjwOu00fm9Azpal+N/Ew==} resolution: {integrity: sha512-B+/a8Q6wAqmB4A4HVeK0oQP5TdQGKW60ZLOI9O2ktH2HPr9ETr3XkwXPuJ2uAOuGEgtRZHBgFOIgG000vMnKlg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@tauri-apps/cli-darwin-x64@2.0.0': '@tauri-apps/cli-darwin-x64@2.0.2':
resolution: {integrity: sha512-keN2PLTTcZmbWwFMup/NGcshmvyLnhRPChO8lbm9C5a0IY7zUNQUD7/o/zIulQdLJqDxkdpWJ1j2jTycAtvtKQ==} resolution: {integrity: sha512-kaurhn6XT4gAVCPAQSSHl/CHFxTS0ljc47N7iGTSlYJ03sCWPRZeNuVa/bn6rolz9MA2JfnRnFqB1pUL6jzp9Q==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@tauri-apps/cli-linux-arm-gnueabihf@2.0.0': '@tauri-apps/cli-linux-arm-gnueabihf@2.0.2':
resolution: {integrity: sha512-FQJNrlCUBb9E7Fhp5ARy+Or8lSvorG41aVrfi0cGNvv1QlIGSj77TN7SKK+L1jAGzKj1Bl2kCZIESF6Zi8N/+Q==} resolution: {integrity: sha512-bVrofjlacMxmGMcqK18iBW05tsZXOd19/MnqruFFcHSVjvkGGIXHMtUbMXnZNXBPkHDsnfytNtkY9SZGfCFaBA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@tauri-apps/cli-linux-arm64-gnu@2.0.0': '@tauri-apps/cli-linux-arm64-gnu@2.0.2':
resolution: {integrity: sha512-TK3VrZG5LK1NGueKwnZA1/3gj/qkwry001MNCHXjT6394dwrDv+digCc9Qc569h+xeH/FF71jyoiRIu3gRE6iA==} resolution: {integrity: sha512-7XCBn0TTBVQGnV42dXcbHPLg/9W8kJoVzuliIozvNGyRWxfXqDbQYzpI48HUQG3LgHMabcw8+pVZAfGhevLrCA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@tauri-apps/cli-linux-arm64-musl@2.0.0': '@tauri-apps/cli-linux-arm64-musl@2.0.2':
resolution: {integrity: sha512-E3hRmS/0m8YUYMTKZtBExpk/284CTi2nymks0dK0L1j+3KjffL7DiilnIfNFmTvWBgMrs0cVCtoaN/ba/A9mNA==} resolution: {integrity: sha512-1xi2SreGVlpAL68MCsDUY63rdItUdPZreXIAcOVqvUehcJRYOa1XGSBhrV0YXRgZeh0AtKC19z6PRzcv4rosZA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@tauri-apps/cli-linux-x64-gnu@2.0.0': '@tauri-apps/cli-linux-x64-gnu@2.0.2':
resolution: {integrity: sha512-veX4BJp5xnW8KmxVjchWt4oZEIvKGhuSR7qU1WpqTR21e/eTe/ksGsdXPsqOKQvv/w1X6jhqmlPvhnFmDwUJ/w==} resolution: {integrity: sha512-WVjwYzPWFqZVg1fx6KSU5w47Q0VbMyaCp34qs5EcS8EIU0/RnofdzqUoOYqvgGVgNgoz7Pj5dXK2SkS8BHXMmA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@tauri-apps/cli-linux-x64-musl@2.0.0': '@tauri-apps/cli-linux-x64-musl@2.0.2':
resolution: {integrity: sha512-9Eso/8wbsWbOyd9PZEIzN/48ZQJrUGQqGZtglcjUku0lO76mnX0fOnit4nQ57Oj0wezJPhv4mgSseG1OsTIVzw==} resolution: {integrity: sha512-h5miE2mctgaQNn/BbG9o1pnJcrx+VGBi2A6JFqGu934lFgSV5+s28M8Gc8AF2JgFH4hQV4IuMkeSw8Chu5Dodg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@tauri-apps/cli-win32-arm64-msvc@2.0.0': '@tauri-apps/cli-win32-arm64-msvc@2.0.2':
resolution: {integrity: sha512-ky8vWAuDUf8WGt9+a0G/EbU0OhdIkogelh9qjIYGHbyEYAJqXfN5P40aHUEg3y8ngQ0YGwRX5ePsQsSZiiR5PQ==} resolution: {integrity: sha512-2b8oO0+dYonahG5PfA/zoq0zlafLclfmXgqoWDZ++UiPtQHJNpNeEQ8GWbSFKGHQ494Jo6jHvazOojGRE1kqAg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@tauri-apps/cli-win32-ia32-msvc@2.0.0': '@tauri-apps/cli-win32-ia32-msvc@2.0.2':
resolution: {integrity: sha512-uD45cLZ/EBaT8o4a27tHW7t5UKFplnvDLt/uSUaCpJ3NyOTV6nMXOUrJBe+hH9hSBohqNAF7LEyYo1p932DWFg==} resolution: {integrity: sha512-axgICLunFi0To3EibdCBgbST5RocsSmtM4c04+CbcX8WQQosJ9ziWlCSrrOTRr+gJERAMSvEyVUS98f6bWMw9A==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
'@tauri-apps/cli-win32-x64-msvc@2.0.0': '@tauri-apps/cli-win32-x64-msvc@2.0.2':
resolution: {integrity: sha512-oFlo14YMsvyhJHmmHgRuOpJ1L9w15193c1Nfj1DksS2LHj6tLzirI7YrAF9inY/XjHFjNHzYPmBpABibkf/9wQ==} resolution: {integrity: sha512-JR17cM6+DyExZRgpXr2/DdqvcFYi/EKvQt8dI5R1/uQoesWd8jeNnrU7c1FG1Zmw9+pTzDztsNqEKsrNq2sNIg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@tauri-apps/cli@2.0.0': '@tauri-apps/cli@2.0.2':
resolution: {integrity: sha512-xxmPllRa6w/LRRcPczST3yHrYoi8l6ZZmzwabEmM0cgDdhVDmX+Y4oDJkiKD+8cVdxwwEzIuIKuaCwsX8iNsgA==} resolution: {integrity: sha512-R4ontHZvXORArERAHIidp5zRfZEshZczTiK+poslBv7AGKpQZoMw+E49zns7mOmP64i2Cq9Ci0pJvi4Rm8Okzw==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
hasBin: true hasBin: true
@ -2154,8 +2154,8 @@ packages:
typescript: typescript:
optional: true optional: true
typescript@5.6.2: typescript@5.6.3:
resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
@ -2701,11 +2701,11 @@ snapshots:
optionalDependencies: optionalDependencies:
rollup: 4.22.4 rollup: 4.22.4
'@rollup/plugin-typescript@11.1.6(rollup@4.22.4)(tslib@2.7.0)(typescript@5.6.2)': '@rollup/plugin-typescript@11.1.6(rollup@4.22.4)(tslib@2.7.0)(typescript@5.6.3)':
dependencies: dependencies:
'@rollup/pluginutils': 5.1.2(rollup@4.22.4) '@rollup/pluginutils': 5.1.2(rollup@4.22.4)
resolve: 1.22.8 resolve: 1.22.8
typescript: 5.6.2 typescript: 5.6.3
optionalDependencies: optionalDependencies:
rollup: 4.22.4 rollup: 4.22.4
tslib: 2.7.0 tslib: 2.7.0
@ -2789,50 +2789,50 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@tauri-apps/api@2.0.1': {} '@tauri-apps/api@2.0.2': {}
'@tauri-apps/cli-darwin-arm64@2.0.0': '@tauri-apps/cli-darwin-arm64@2.0.2':
optional: true optional: true
'@tauri-apps/cli-darwin-x64@2.0.0': '@tauri-apps/cli-darwin-x64@2.0.2':
optional: true optional: true
'@tauri-apps/cli-linux-arm-gnueabihf@2.0.0': '@tauri-apps/cli-linux-arm-gnueabihf@2.0.2':
optional: true optional: true
'@tauri-apps/cli-linux-arm64-gnu@2.0.0': '@tauri-apps/cli-linux-arm64-gnu@2.0.2':
optional: true optional: true
'@tauri-apps/cli-linux-arm64-musl@2.0.0': '@tauri-apps/cli-linux-arm64-musl@2.0.2':
optional: true optional: true
'@tauri-apps/cli-linux-x64-gnu@2.0.0': '@tauri-apps/cli-linux-x64-gnu@2.0.2':
optional: true optional: true
'@tauri-apps/cli-linux-x64-musl@2.0.0': '@tauri-apps/cli-linux-x64-musl@2.0.2':
optional: true optional: true
'@tauri-apps/cli-win32-arm64-msvc@2.0.0': '@tauri-apps/cli-win32-arm64-msvc@2.0.2':
optional: true optional: true
'@tauri-apps/cli-win32-ia32-msvc@2.0.0': '@tauri-apps/cli-win32-ia32-msvc@2.0.2':
optional: true optional: true
'@tauri-apps/cli-win32-x64-msvc@2.0.0': '@tauri-apps/cli-win32-x64-msvc@2.0.2':
optional: true optional: true
'@tauri-apps/cli@2.0.0': '@tauri-apps/cli@2.0.2':
optionalDependencies: optionalDependencies:
'@tauri-apps/cli-darwin-arm64': 2.0.0 '@tauri-apps/cli-darwin-arm64': 2.0.2
'@tauri-apps/cli-darwin-x64': 2.0.0 '@tauri-apps/cli-darwin-x64': 2.0.2
'@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0 '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.2
'@tauri-apps/cli-linux-arm64-gnu': 2.0.0 '@tauri-apps/cli-linux-arm64-gnu': 2.0.2
'@tauri-apps/cli-linux-arm64-musl': 2.0.0 '@tauri-apps/cli-linux-arm64-musl': 2.0.2
'@tauri-apps/cli-linux-x64-gnu': 2.0.0 '@tauri-apps/cli-linux-x64-gnu': 2.0.2
'@tauri-apps/cli-linux-x64-musl': 2.0.0 '@tauri-apps/cli-linux-x64-musl': 2.0.2
'@tauri-apps/cli-win32-arm64-msvc': 2.0.0 '@tauri-apps/cli-win32-arm64-msvc': 2.0.2
'@tauri-apps/cli-win32-ia32-msvc': 2.0.0 '@tauri-apps/cli-win32-ia32-msvc': 2.0.2
'@tauri-apps/cli-win32-x64-msvc': 2.0.0 '@tauri-apps/cli-win32-x64-msvc': 2.0.2
'@types/eslint@9.6.1': '@types/eslint@9.6.1':
dependencies: dependencies:
@ -2857,34 +2857,34 @@ snapshots:
'@types/unist@2.0.11': {} '@types/unist@2.0.11': {}
'@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2))(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2)': '@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3))(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.11.1 '@eslint-community/regexpp': 4.11.1
'@typescript-eslint/parser': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2) '@typescript-eslint/parser': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)
'@typescript-eslint/scope-manager': 8.8.1 '@typescript-eslint/scope-manager': 8.8.1
'@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2) '@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2) '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)
'@typescript-eslint/visitor-keys': 8.8.1 '@typescript-eslint/visitor-keys': 8.8.1
eslint: 9.12.0(jiti@2.0.0) eslint: 9.12.0(jiti@2.0.0)
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.3.2 ignore: 5.3.2
natural-compare: 1.4.0 natural-compare: 1.4.0
ts-api-utils: 1.3.0(typescript@5.6.2) ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies: optionalDependencies:
typescript: 5.6.2 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2)': '@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)':
dependencies: dependencies:
'@typescript-eslint/scope-manager': 8.8.1 '@typescript-eslint/scope-manager': 8.8.1
'@typescript-eslint/types': 8.8.1 '@typescript-eslint/types': 8.8.1
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.2) '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3)
'@typescript-eslint/visitor-keys': 8.8.1 '@typescript-eslint/visitor-keys': 8.8.1
debug: 4.3.7(supports-color@8.1.1) debug: 4.3.7(supports-color@8.1.1)
eslint: 9.12.0(jiti@2.0.0) eslint: 9.12.0(jiti@2.0.0)
optionalDependencies: optionalDependencies:
typescript: 5.6.2 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -2893,21 +2893,21 @@ snapshots:
'@typescript-eslint/types': 8.8.1 '@typescript-eslint/types': 8.8.1
'@typescript-eslint/visitor-keys': 8.8.1 '@typescript-eslint/visitor-keys': 8.8.1
'@typescript-eslint/type-utils@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2)': '@typescript-eslint/type-utils@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)':
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.2) '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3)
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2) '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)
debug: 4.3.7(supports-color@8.1.1) debug: 4.3.7(supports-color@8.1.1)
ts-api-utils: 1.3.0(typescript@5.6.2) ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies: optionalDependencies:
typescript: 5.6.2 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- eslint - eslint
- supports-color - supports-color
'@typescript-eslint/types@8.8.1': {} '@typescript-eslint/types@8.8.1': {}
'@typescript-eslint/typescript-estree@8.8.1(typescript@5.6.2)': '@typescript-eslint/typescript-estree@8.8.1(typescript@5.6.3)':
dependencies: dependencies:
'@typescript-eslint/types': 8.8.1 '@typescript-eslint/types': 8.8.1
'@typescript-eslint/visitor-keys': 8.8.1 '@typescript-eslint/visitor-keys': 8.8.1
@ -2916,18 +2916,18 @@ snapshots:
is-glob: 4.0.3 is-glob: 4.0.3
minimatch: 9.0.5 minimatch: 9.0.5
semver: 7.6.3 semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.6.2) ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies: optionalDependencies:
typescript: 5.6.2 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/utils@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2)': '@typescript-eslint/utils@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)':
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.0.0)) '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.0.0))
'@typescript-eslint/scope-manager': 8.8.1 '@typescript-eslint/scope-manager': 8.8.1
'@typescript-eslint/types': 8.8.1 '@typescript-eslint/types': 8.8.1
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.2) '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3)
eslint: 9.12.0(jiti@2.0.0) eslint: 9.12.0(jiti@2.0.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -4118,9 +4118,9 @@ snapshots:
trough@1.0.5: {} trough@1.0.5: {}
ts-api-utils@1.3.0(typescript@5.6.2): ts-api-utils@1.3.0(typescript@5.6.3):
dependencies: dependencies:
typescript: 5.6.2 typescript: 5.6.3
tslib@2.7.0: {} tslib@2.7.0: {}
@ -4137,18 +4137,18 @@ snapshots:
type-fest@0.7.1: {} type-fest@0.7.1: {}
typescript-eslint@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2): typescript-eslint@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3):
dependencies: dependencies:
'@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2))(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2) '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3))(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)
'@typescript-eslint/parser': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2) '@typescript-eslint/parser': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.2) '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.0.0))(typescript@5.6.3)
optionalDependencies: optionalDependencies:
typescript: 5.6.2 typescript: 5.6.3
transitivePeerDependencies: transitivePeerDependencies:
- eslint - eslint
- supports-color - supports-color
typescript@5.6.2: {} typescript@5.6.3: {}
ufo@1.5.4: {} ufo@1.5.4: {}

@ -30,13 +30,6 @@
"matchBaseBranches": ["v1"], "matchBaseBranches": ["v1"],
"matchUpdateTypes": ["lockFileMaintenance"], "matchUpdateTypes": ["lockFileMaintenance"],
"enabled": false "enabled": false
},
{
"description": "Prevent Renovate from replacing 2.0.0-beta.10 with 2.0.0-beta - REMOVE ONCE TAURI IS STABLE",
"matchManagers": ["cargo"],
"matchPackagePatterns": ["^tauri"],
"matchCurrentValue": "2.*",
"rangeStrategy": "bump"
} }
], ],
"postUpdateOptions": ["pnpmDedupe"] "postUpdateOptions": ["pnpmDedupe"]

Loading…
Cancel
Save