diff --git a/.changes/dialog-async-message-dialog.md b/.changes/dialog-async-message-dialog.md
new file mode 100644
index 00000000..adfe008b
--- /dev/null
+++ b/.changes/dialog-async-message-dialog.md
@@ -0,0 +1,5 @@
+---
+"dialog": "patch"
+---
+
+On non-Linux system, use `AsyncMessageDialog` instead of `MessageDialog`. [(tauri#7182)](https://github.com/tauri-apps/tauri/issues/7182)
diff --git a/.changes/fs-wiret-binary-file.md b/.changes/fs-wiret-binary-file.md
new file mode 100644
index 00000000..82dd056f
--- /dev/null
+++ b/.changes/fs-wiret-binary-file.md
@@ -0,0 +1,5 @@
+---
+"fs-js": patch
+---
+
+Fix `writeBinaryFile` crashing with `command 'write_binary_file' not found`
diff --git a/.changes/http-multipart-refactor.md b/.changes/http-multipart-refactor.md
new file mode 100644
index 00000000..562943d5
--- /dev/null
+++ b/.changes/http-multipart-refactor.md
@@ -0,0 +1,5 @@
+---
+"http-js": minor
+---
+
+Multipart requests are now handled in JavaScript by the `Request` JavaScript class so you just need to use a `FormData` body and not set the content-type header to `multipart/form-data`. `application/x-www-form-urlencoded` requests must be done manually.
diff --git a/.changes/http-plugin-refactor.md b/.changes/http-plugin-refactor.md
new file mode 100644
index 00000000..ff089543
--- /dev/null
+++ b/.changes/http-plugin-refactor.md
@@ -0,0 +1,6 @@
+---
+"http": minor
+"http-js": minor
+---
+
+The http plugin has been rewritten from scratch and now only exposes a `fetch` function in Javascript and Re-exports `reqwest` crate in Rust. The new `fetch` method tries to be as close and compliant to the `fetch` Web API as possible.
diff --git a/.changes/persisted-scope-asset.md b/.changes/persisted-scope-asset.md
new file mode 100644
index 00000000..5b4b933a
--- /dev/null
+++ b/.changes/persisted-scope-asset.md
@@ -0,0 +1,5 @@
+---
+"persisted-scope": patch
+---
+
+Split up fs and asset scopes. **This will reset the asset protocol scope once!**
diff --git a/.changes/persisted-scope-glob.md b/.changes/persisted-scope-glob.md
new file mode 100644
index 00000000..24875a8e
--- /dev/null
+++ b/.changes/persisted-scope-glob.md
@@ -0,0 +1,5 @@
+---
+"persisted-scope": patch
+---
+
+Fix usage of directory patterns by removing glob asterisks at the end before allowing/forbidding them. This was causing them to be escaped, and so undesirable paths were allowed/forbidden while polluting the `.persisted-scope` file.
diff --git a/.changes/shell-command-apis.md b/.changes/shell-command-apis.md
new file mode 100644
index 00000000..2307e07c
--- /dev/null
+++ b/.changes/shell-command-apis.md
@@ -0,0 +1,5 @@
+---
+"shell": "patch"
+---
+
+Added `Command::arg`, `Command::env` and changed `Command::new` input type.
\ No newline at end of file
diff --git a/.changes/shell-detached.md b/.changes/shell-detached.md
new file mode 100644
index 00000000..4d65f865
--- /dev/null
+++ b/.changes/shell-detached.md
@@ -0,0 +1,5 @@
+---
+"shell": patch
+---
+
+Ensure the launched process is detached so it can out-live your tauri app and does not shutdown with it.
diff --git a/.changes/stronghold-arg-name.md b/.changes/stronghold-arg-name.md
new file mode 100644
index 00000000..61efc0ed
--- /dev/null
+++ b/.changes/stronghold-arg-name.md
@@ -0,0 +1,5 @@
+---
+"stronghold-js": patch
+---
+
+Change the argument name of the `Stronghold.remove` from `location` to `recordPath` to match the Stronghold command argument
diff --git a/.changes/updater-nsis-admin.md b/.changes/updater-nsis-admin.md
new file mode 100644
index 00000000..b4e92e87
--- /dev/null
+++ b/.changes/updater-nsis-admin.md
@@ -0,0 +1,5 @@
+---
+"updater": "patch"
+---
+
+On Windows, fix NSIS installers requiring administrator rights failing to be launched by updater.
diff --git a/.scripts/ci/check-license-header.js b/.scripts/ci/check-license-header.js
index d8a64650..ee6ef336 100644
--- a/.scripts/ci/check-license-header.js
+++ b/.scripts/ci/check-license-header.js
@@ -116,6 +116,6 @@ if (files.length > 0) {
console.log(missing.join("\n"));
process.exit(1);
}
- }
+ },
);
}
diff --git a/.scripts/covector/package-latest-version.cjs b/.scripts/covector/package-latest-version.cjs
index 68203a1f..fde1d4c0 100644
--- a/.scripts/covector/package-latest-version.cjs
+++ b/.scripts/covector/package-latest-version.cjs
@@ -52,7 +52,7 @@ https.get(url, options, (response) => {
}
} else if (kind === "npm") {
const versions = Object.keys(data.versions || {}).filter((v) =>
- v.startsWith(target)
+ v.startsWith(target),
);
console.log(versions[versions.length - 1] || "0.0.0");
}
diff --git a/Cargo.lock b/Cargo.lock
index 813f90dc..b3e9f4ef 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2,6 +2,15 @@
# It is not intended for manual editing.
version = 3
+[[package]]
+name = "addr2line"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
+dependencies = [
+ "gimli",
+]
+
[[package]]
name = "adler"
version = "1.0.2"
@@ -41,9 +50,9 @@ dependencies = [
[[package]]
name = "aes"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241"
+checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
dependencies = [
"cfg-if",
"cipher 0.4.4",
@@ -71,7 +80,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "209b47e8954a928e1d72e86eca7000ebb6655fe1436d33eefc2201cad027e237"
dependencies = [
"aead 0.5.2",
- "aes 0.8.2",
+ "aes 0.8.3",
"cipher 0.4.4",
"ctr 0.9.2",
"ghash 0.5.0",
@@ -84,7 +93,7 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
"once_cell",
"version_check",
]
@@ -96,24 +105,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
dependencies = [
"cfg-if",
+ "getrandom 0.2.10",
"once_cell",
"version_check",
]
[[package]]
name = "aho-corasick"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
+checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
dependencies = [
"memchr",
]
@@ -133,6 +134,18 @@ dependencies = [
"alloc-no-stdlib",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
[[package]]
name = "android_log-sys"
version = "0.2.0"
@@ -177,15 +190,15 @@ dependencies = [
[[package]]
name = "anstyle"
-version = "1.0.0"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
+checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
[[package]]
name = "anstyle-parse"
-version = "0.2.0"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
+checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
dependencies = [
"utf8parse",
]
@@ -211,9 +224,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.71"
+version = "1.0.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
[[package]]
name = "api"
@@ -251,7 +264,7 @@ dependencies = [
"tauri",
"tauri-build",
"tauri-plugin-updater",
- "time 0.3.21",
+ "time 0.3.24",
"tiny_http 0.11.0",
]
@@ -269,7 +282,7 @@ dependencies = [
"objc-foundation",
"objc_id",
"once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
"thiserror",
"winapi",
"x11rb",
@@ -283,9 +296,9 @@ checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
[[package]]
name = "arrayvec"
-version = "0.7.2"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
[[package]]
name = "ascii"
@@ -315,15 +328,29 @@ dependencies = [
[[package]]
name = "async-channel"
-version = "1.8.0"
+version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
+checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
dependencies = [
"concurrent-queue",
"event-listener",
"futures-core",
]
+[[package]]
+name = "async-compression"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b74f44609f0f91493e3082d3734d98497e094777144380ea4db9f9905dd5b6"
+dependencies = [
+ "brotli",
+ "flate2",
+ "futures-core",
+ "memchr",
+ "pin-project-lite",
+ "tokio",
+]
+
[[package]]
name = "async-executor"
version = "1.5.1"
@@ -333,7 +360,7 @@ dependencies = [
"async-lock",
"async-task",
"concurrent-queue",
- "fastrand",
+ "fastrand 1.9.0",
"futures-lite",
"slab",
]
@@ -364,9 +391,9 @@ dependencies = [
"log",
"parking",
"polling",
- "rustix",
+ "rustix 0.37.23",
"slab",
- "socket2",
+ "socket2 0.4.9",
"waker-fn",
]
@@ -379,6 +406,24 @@ dependencies = [
"event-listener",
]
+[[package]]
+name = "async-process"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9"
+dependencies = [
+ "async-io",
+ "async-lock",
+ "autocfg",
+ "blocking",
+ "cfg-if",
+ "event-listener",
+ "futures-lite",
+ "rustix 0.37.23",
+ "signal-hook",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "async-recursion"
version = "1.0.4"
@@ -387,7 +432,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -409,7 +454,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -420,13 +465,13 @@ checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
[[package]]
name = "async-trait"
-version = "0.1.68"
+version = "0.1.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
+checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -455,9 +500,9 @@ dependencies = [
[[package]]
name = "atoi"
-version = "1.0.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e"
+checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"
dependencies = [
"num-traits",
]
@@ -468,17 +513,6 @@ version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
[[package]]
name = "authenticator"
version = "0.3.1"
@@ -513,6 +547,21 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+[[package]]
+name = "backtrace"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
[[package]]
name = "base64"
version = "0.11.0"
@@ -554,9 +603,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.3.1"
+version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6776fc96284a0bb647b615056fc496d1fe1644a7ab01829818a6d91cae888b84"
+checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+dependencies = [
+ "serde",
+]
[[package]]
name = "blake2"
@@ -575,7 +627,7 @@ checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc"
dependencies = [
"arrayref",
"arrayvec",
- "constant_time_eq 0.2.5",
+ "constant_time_eq 0.2.6",
]
[[package]]
@@ -612,7 +664,7 @@ dependencies = [
"async-lock",
"async-task",
"atomic-waker",
- "fastrand",
+ "fastrand 1.9.0",
"futures-lite",
"log",
]
@@ -640,9 +692,9 @@ dependencies = [
[[package]]
name = "bstr"
-version = "1.5.0"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5"
+checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
dependencies = [
"memchr",
"serde",
@@ -722,9 +774,9 @@ dependencies = [
[[package]]
name = "cargo_toml"
-version = "0.15.2"
+version = "0.15.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f83bc2e401ed041b7057345ebc488c005efa0341d5541ce7004d30458d0090b"
+checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838"
dependencies = [
"serde",
"toml",
@@ -755,9 +807,9 @@ dependencies = [
[[package]]
name = "cfg-expr"
-version = "0.15.1"
+version = "0.15.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8790cf1286da485c72cf5fc7aeba308438800036ec67d89425924c4807268c9"
+checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9"
dependencies = [
"smallvec",
"target-lexicon",
@@ -796,13 +848,13 @@ dependencies = [
[[package]]
name = "chrono"
-version = "0.4.24"
+version = "0.4.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
dependencies = [
+ "android-tzdata",
"iana-time-zone",
"js-sys",
- "num-integer",
"num-traits",
"serde",
"time 0.1.45",
@@ -837,22 +889,21 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.3.0"
+version = "4.3.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93aae7a4192245f70fe75dd9157fc7b4a5bf53e88d30bd4396f7d8f9284d5acc"
+checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d"
dependencies = [
"clap_builder",
]
[[package]]
name = "clap_builder"
-version = "4.3.0"
+version = "4.3.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f423e341edefb78c9caba2d9c7f7687d0e72e89df3ce3394554754393ac3990"
+checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1"
dependencies = [
"anstream",
"anstyle",
- "bitflags 1.3.2",
"clap_lex",
"strsim",
]
@@ -919,24 +970,24 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "colored"
-version = "1.9.3"
+version = "1.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59"
+checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355"
dependencies = [
- "atty",
+ "is-terminal",
"lazy_static",
"winapi",
]
[[package]]
name = "colored"
-version = "2.0.0"
+version = "2.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd"
+checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
dependencies = [
- "atty",
+ "is-terminal",
"lazy_static",
- "winapi",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -960,9 +1011,9 @@ dependencies = [
[[package]]
name = "const-oid"
-version = "0.7.1"
+version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3"
+checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747"
[[package]]
name = "constant_time_eq"
@@ -972,9 +1023,9 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
[[package]]
name = "constant_time_eq"
-version = "0.2.5"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b"
+checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6"
[[package]]
name = "convert_case"
@@ -982,6 +1033,34 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
+[[package]]
+name = "cookie"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
+dependencies = [
+ "percent-encoding",
+ "time 0.3.24",
+ "version_check",
+]
+
+[[package]]
+name = "cookie_store"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa"
+dependencies = [
+ "cookie",
+ "idna 0.2.3",
+ "log",
+ "publicsuffix",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "time 0.3.24",
+ "url",
+]
+
[[package]]
name = "core-foundation"
version = "0.9.3"
@@ -1013,21 +1092,20 @@ dependencies = [
[[package]]
name = "core-graphics-types"
-version = "0.1.1"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b"
+checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33"
dependencies = [
"bitflags 1.3.2",
"core-foundation",
- "foreign-types",
"libc",
]
[[package]]
name = "cpufeatures"
-version = "0.2.7"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
dependencies = [
"libc",
]
@@ -1078,23 +1156,13 @@ dependencies = [
[[package]]
name = "crossbeam-utils"
-version = "0.8.15"
+version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
dependencies = [
"cfg-if",
]
-[[package]]
-name = "crypto-bigint"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21"
-dependencies = [
- "generic-array",
- "subtle",
-]
-
[[package]]
name = "crypto-common"
version = "0.1.6"
@@ -1125,12 +1193,12 @@ dependencies = [
[[package]]
name = "cssparser-macros"
-version = "0.6.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e"
+checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
dependencies = [
"quote",
- "syn 1.0.109",
+ "syn 2.0.28",
]
[[package]]
@@ -1176,9 +1244,9 @@ dependencies = [
[[package]]
name = "darling"
-version = "0.20.1"
+version = "0.20.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944"
+checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
dependencies = [
"darling_core",
"darling_macro",
@@ -1186,27 +1254,27 @@ dependencies = [
[[package]]
name = "darling_core"
-version = "0.20.1"
+version = "0.20.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb"
+checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
name = "darling_macro"
-version = "0.20.1"
+version = "0.20.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a"
+checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -1215,15 +1283,30 @@ version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+[[package]]
+name = "data-url"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41b319d1b62ffbd002e057f36bebd1f42b9f97927c9577461d855f3513c4289f"
+
[[package]]
name = "der"
-version = "0.5.1"
+version = "0.7.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c"
+checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946"
dependencies = [
"const-oid",
- "crypto-bigint",
"pem-rfc7468",
+ "zeroize",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8810e7e2cf385b1e9b50d68264908ec367ba642c96d02edfe61c39e88e2a3c01"
+dependencies = [
+ "serde",
]
[[package]]
@@ -1276,6 +1359,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
"block-buffer 0.10.4",
+ "const-oid",
"crypto-common",
"subtle",
]
@@ -1335,15 +1419,15 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
[[package]]
name = "dtoa"
-version = "0.4.8"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0"
+checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
[[package]]
name = "dtoa-short"
-version = "0.3.3"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6"
+checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74"
dependencies = [
"dtoa",
]
@@ -1370,15 +1454,18 @@ dependencies = [
[[package]]
name = "either"
-version = "1.8.1"
+version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+dependencies = [
+ "serde",
+]
[[package]]
name = "embed-resource"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80663502655af01a2902dff3f06869330782267924bf1788410b74edcd93770a"
+checksum = "f7f1e82a60222fc67bfd50d752a9c89da5cce4c39ed39decc84a443b07bbd69a"
dependencies = [
"cc",
"rustc_version",
@@ -1402,6 +1489,18 @@ dependencies = [
"cfg-if",
]
+[[package]]
+name = "enum-as-inner"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
[[package]]
name = "enumflags2"
version = "0.7.7"
@@ -1420,7 +1519,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -1433,11 +1532,17 @@ dependencies = [
"regex",
]
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
[[package]]
name = "errno"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
dependencies = [
"errno-dragonfly",
"libc",
@@ -1464,6 +1569,17 @@ dependencies = [
"str-buf",
]
+[[package]]
+name = "etcetera"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"
+dependencies = [
+ "cfg-if",
+ "home",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "event-listener"
version = "2.5.3"
@@ -1479,6 +1595,12 @@ dependencies = [
"instant",
]
+[[package]]
+name = "fastrand"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+
[[package]]
name = "fdeflate"
version = "0.3.0"
@@ -1494,17 +1616,17 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee"
dependencies = [
- "colored 1.9.3",
+ "colored 1.9.4",
"log",
]
[[package]]
name = "field-offset"
-version = "0.3.5"
+version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3cf3a800ff6e860c863ca6d4b16fd999db8b752819c1606884047b73e468535"
+checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
dependencies = [
- "memoffset 0.8.0",
+ "memoffset 0.9.0",
"rustc_version",
]
@@ -1565,9 +1687,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "form_urlencoded"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
dependencies = [
"percent-encoding",
]
@@ -1635,13 +1757,13 @@ dependencies = [
[[package]]
name = "futures-intrusive"
-version = "0.4.2"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5"
+checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
dependencies = [
"futures-core",
"lock_api",
- "parking_lot 0.11.2",
+ "parking_lot",
]
[[package]]
@@ -1656,7 +1778,7 @@ version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
dependencies = [
- "fastrand",
+ "fastrand 1.9.0",
"futures-core",
"futures-io",
"memchr",
@@ -1673,7 +1795,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -1803,9 +1925,9 @@ dependencies = [
[[package]]
name = "generator"
-version = "0.7.4"
+version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3e123d9ae7c02966b4d892e550bdc32164f05853cd40ab570650ad600596a8a"
+checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e"
dependencies = [
"cc",
"libc",
@@ -1841,7 +1963,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
dependencies = [
"libc",
- "windows-targets 0.48.0",
+ "windows-targets 0.48.1",
]
[[package]]
@@ -1857,9 +1979,9 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.9"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
dependencies = [
"cfg-if",
"js-sys",
@@ -1885,9 +2007,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40"
dependencies = [
"opaque-debug",
- "polyval 0.6.0",
+ "polyval 0.6.1",
]
+[[package]]
+name = "gimli"
+version = "0.27.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+
[[package]]
name = "gio"
version = "0.16.7"
@@ -1923,9 +2051,9 @@ dependencies = [
[[package]]
name = "glib"
-version = "0.16.7"
+version = "0.16.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddd4df61a866ed7259d6189b8bcb1464989a77f1d85d25d002279bbe9dd38b2f"
+checksum = "16aa2475c9debed5a32832cb5ff2af5a3f9e1ab9e69df58eaadc1ab2004d6eba"
dependencies = [
"bitflags 1.3.2",
"futures-channel",
@@ -1950,7 +2078,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb1a9325847aa46f1e96ffea37611b9d51fc4827e67f79e7de502a297560a67b"
dependencies = [
"anyhow",
- "heck 0.4.1",
+ "heck",
"proc-macro-crate",
"proc-macro-error",
"proc-macro2",
@@ -1976,9 +2104,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
[[package]]
name = "global-hotkey"
-version = "0.2.1"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "273daa5db9a79be95b2b04c9955651c301a08b5dc1d7656e692e3801634aa873"
+checksum = "997c3cad8588ba1079e7747961d27515e85989be4680d88f3a194b576a4f1d58"
dependencies = [
"crossbeam-channel",
"keyboard-types",
@@ -1990,11 +2118,11 @@ dependencies = [
[[package]]
name = "globset"
-version = "0.4.10"
+version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
+checksum = "aca8bbd8e0707c1887a8bbb7e6b40e228f251ff5d62c8220a4a7a53c73aff006"
dependencies = [
- "aho-corasick 0.7.20",
+ "aho-corasick",
"bstr",
"fnv",
"log",
@@ -2069,9 +2197,9 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.3.19"
+version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782"
+checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049"
dependencies = [
"bytes 1.4.0",
"fnv",
@@ -2079,13 +2207,41 @@ dependencies = [
"futures-sink",
"futures-util",
"http",
- "indexmap",
+ "indexmap 1.9.3",
"slab",
"tokio",
"tokio-util",
"tracing",
]
+[[package]]
+name = "h3"
+version = "0.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6de6ca43eed186fd055214af06967b0a7a68336cefec7e8a4004e96efeaccb9e"
+dependencies = [
+ "bytes 1.4.0",
+ "fastrand 1.9.0",
+ "futures-util",
+ "http",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "h3-quinn"
+version = "0.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d4a1a1763e4f3e82ee9f1ecf2cf862b22cc7316ebe14684e42f94532b5ec64d"
+dependencies = [
+ "bytes 1.4.0",
+ "futures",
+ "h3",
+ "quinn",
+ "quinn-proto",
+ "tokio-util",
+]
+
[[package]]
name = "hashbrown"
version = "0.12.3"
@@ -2097,29 +2253,21 @@ dependencies = [
[[package]]
name = "hashbrown"
-version = "0.13.2"
+version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
dependencies = [
"ahash 0.8.3",
+ "allocator-api2",
]
[[package]]
name = "hashlink"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0761a1b9491c4f2e3d66aa0f62d0fba0af9a0e2852e4d48ea506632a4b56e6aa"
-dependencies = [
- "hashbrown 0.13.2",
-]
-
-[[package]]
-name = "heck"
-version = "0.3.3"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+checksum = "312f66718a2d7789ffef4f4b7b213138ed9f1eb3aa1d0d82fc99f88fb3ffd26f"
dependencies = [
- "unicode-segmentation",
+ "hashbrown 0.14.0",
]
[[package]]
@@ -2133,27 +2281,9 @@ dependencies = [
[[package]]
name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
[[package]]
name = "hex"
@@ -2180,28 +2310,48 @@ dependencies = [
]
[[package]]
-name = "html5ever"
-version = "0.25.2"
+name = "home"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
dependencies = [
- "log",
- "mac",
- "markup5ever",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "windows-sys 0.48.0",
]
[[package]]
-name = "http"
-version = "0.2.9"
+name = "hostname"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
+dependencies = [
+ "libc",
+ "match_cfg",
+ "winapi",
+]
+
+[[package]]
+name = "html5ever"
+version = "0.25.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
+dependencies = [
+ "log",
+ "mac",
+ "markup5ever",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "http"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
dependencies = [
"bytes 1.4.0",
"fnv",
- "itoa 1.0.6",
+ "itoa 1.0.9",
]
[[package]]
@@ -2235,9 +2385,9 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
[[package]]
name = "hyper"
-version = "0.14.26"
+version = "0.14.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
dependencies = [
"bytes 1.4.0",
"futures-channel",
@@ -2248,9 +2398,9 @@ dependencies = [
"http-body",
"httparse",
"httpdate",
- "itoa 1.0.6",
+ "itoa 1.0.9",
"pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@@ -2259,15 +2409,16 @@ dependencies = [
[[package]]
name = "hyper-rustls"
-version = "0.24.0"
+version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0646026eb1b3eea4cd9ba47912ea5ce9cc07713d105b1a14698f4e6433d348b7"
+checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97"
dependencies = [
+ "futures-util",
"http",
"hyper",
- "rustls 0.21.1",
+ "rustls",
"tokio",
- "tokio-rustls 0.24.0",
+ "tokio-rustls",
]
[[package]]
@@ -2285,9 +2436,9 @@ dependencies = [
[[package]]
name = "iana-time-zone"
-version = "0.1.56"
+version = "0.1.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
dependencies = [
"android_system_properties",
"core-foundation-sys",
@@ -2332,6 +2483,17 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+[[package]]
+name = "idna"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+dependencies = [
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
[[package]]
name = "idna"
version = "0.3.0"
@@ -2342,6 +2504,16 @@ dependencies = [
"unicode-normalization",
]
+[[package]]
+name = "idna"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
[[package]]
name = "ignore"
version = "0.4.20"
@@ -2385,6 +2557,16 @@ dependencies = [
"serde",
]
+[[package]]
+name = "indexmap"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.0",
+]
+
[[package]]
name = "infer"
version = "0.9.0"
@@ -2447,7 +2629,7 @@ version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
dependencies = [
- "hermit-abi 0.3.1",
+ "hermit-abi",
"libc",
"windows-sys 0.48.0",
]
@@ -2468,11 +2650,11 @@ dependencies = [
"digest 0.10.7",
"ed25519-zebra",
"generic-array",
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
"hmac",
"pbkdf2",
"serde",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"unicode-normalization",
"x25519-dalek",
"zeroize",
@@ -2480,9 +2662,9 @@ dependencies = [
[[package]]
name = "iota-crypto"
-version = "0.20.1"
+version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb2df6763689b6e2b95787941eb9a58b29d16d17c2055392f550b3daf40bdce"
+checksum = "c5d5a986d972c3a703d48ced24fdc0bf16fb2d02959ff4b152fa77b9132f6fb0"
dependencies = [
"autocfg",
]
@@ -2514,11 +2696,23 @@ dependencies = [
"libc",
]
+[[package]]
+name = "ipconfig"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
+dependencies = [
+ "socket2 0.5.3",
+ "widestring",
+ "windows-sys 0.48.0",
+ "winreg 0.50.0",
+]
+
[[package]]
name = "ipnet"
-version = "2.7.2"
+version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f"
+checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
[[package]]
name = "is-docker"
@@ -2531,13 +2725,12 @@ dependencies = [
[[package]]
name = "is-terminal"
-version = "0.4.7"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
- "hermit-abi 0.3.1",
- "io-lifetimes",
- "rustix",
+ "hermit-abi",
+ "rustix 0.38.4",
"windows-sys 0.48.0",
]
@@ -2568,9 +2761,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
[[package]]
name = "itoa"
-version = "1.0.6"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
name = "javascriptcore-rs"
@@ -2623,9 +2816,9 @@ checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
[[package]]
name = "js-sys"
-version = "0.3.63"
+version = "0.3.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
dependencies = [
"wasm-bindgen",
]
@@ -2720,9 +2913,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.144"
+version = "0.2.147"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
[[package]]
name = "libloading"
@@ -2754,9 +2947,9 @@ dependencies = [
[[package]]
name = "libsqlite3-sys"
-version = "0.24.2"
+version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14"
+checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
dependencies = [
"cc",
"pkg-config",
@@ -2792,17 +2985,29 @@ dependencies = [
"safemem",
]
+[[package]]
+name = "linked-hash-map"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
[[package]]
name = "linux-raw-sys"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+
[[package]]
name = "lock_api"
-version = "0.4.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
dependencies = [
"autocfg",
"scopeguard",
@@ -2810,11 +3015,10 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.17"
+version = "0.4.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
dependencies = [
- "cfg-if",
"value-bag",
]
@@ -2833,6 +3037,15 @@ dependencies = [
"tracing-subscriber",
]
+[[package]]
+name = "lru-cache"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
+dependencies = [
+ "linked-hash-map",
+]
+
[[package]]
name = "mac"
version = "0.1.1"
@@ -2841,15 +3054,15 @@ checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
[[package]]
name = "mac-notification-sys"
-version = "0.5.6"
+version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e72d50edb17756489e79d52eb146927bec8eba9dd48faadf9ef08bca3791ad5"
+checksum = "abc434554ad0e640d772f7f262aa28e61d485212533d3673abe5f3d1729bd42a"
dependencies = [
"cc",
"dirs-next",
"objc-foundation",
"objc_id",
- "time 0.3.21",
+ "time 0.3.24",
]
[[package]]
@@ -2875,13 +3088,19 @@ dependencies = [
"tendril",
]
+[[package]]
+name = "match_cfg"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
+
[[package]]
name = "matchers"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
dependencies = [
- "regex-automata",
+ "regex-automata 0.1.10",
]
[[package]]
@@ -2925,9 +3144,9 @@ dependencies = [
[[package]]
name = "memoffset"
-version = "0.8.0"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
dependencies = [
"autocfg",
]
@@ -2972,14 +3191,14 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.6"
+version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
dependencies = [
"libc",
"log",
"wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2989,7 +3208,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80f9fece9bd97ab74339fe19f4bcaf52b76dcc18e5364c7977c1838f76b38de9"
dependencies = [
"assert-json-diff",
- "colored 2.0.0",
+ "colored 2.0.4",
"httparse",
"lazy_static",
"log",
@@ -3146,22 +3365,11 @@ dependencies = [
"winapi",
]
-[[package]]
-name = "num-bigint"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
[[package]]
name = "num-bigint-dig"
-version = "0.8.2"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905"
+checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
dependencies = [
"byteorder",
"lazy_static",
@@ -3208,9 +3416,9 @@ dependencies = [
[[package]]
name = "num-traits"
-version = "0.2.15"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
dependencies = [
"autocfg",
"libm",
@@ -3218,11 +3426,11 @@ dependencies = [
[[package]]
name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi",
"libc",
]
@@ -3295,11 +3503,20 @@ dependencies = [
"objc",
]
+[[package]]
+name = "object"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
+dependencies = [
+ "memchr",
+]
+
[[package]]
name = "once_cell"
-version = "1.17.1"
+version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "opaque-debug"
@@ -3309,19 +3526,20 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
name = "open"
-version = "4.1.0"
+version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d16814a067484415fda653868c9be0ac5f2abd2ef5d951082a5f2fe1b3662944"
+checksum = "3a083c0c7e5e4a8ec4176346cf61f67ac674e8bfb059d9226e1c54a96b377c12"
dependencies = [
"is-wsl",
+ "libc",
"pathdiff",
]
[[package]]
name = "openssl"
-version = "0.10.52"
+version = "0.10.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56"
+checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
dependencies = [
"bitflags 1.3.2",
"cfg-if",
@@ -3340,7 +3558,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -3351,18 +3569,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-src"
-version = "111.25.3+1.1.1t"
+version = "111.26.0+1.1.1u"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "924757a6a226bf60da5f7dd0311a34d2b52283dd82ddeb103208ddc66362f80c"
+checksum = "efc62c9f12b22b8f5208c23a7200a442b2e5999f8bdf80233852122b5a4f6f37"
dependencies = [
"cc",
]
[[package]]
name = "openssl-sys"
-version = "0.9.87"
+version = "0.9.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e"
+checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
dependencies = [
"cc",
"libc",
@@ -3440,17 +3658,6 @@ version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e"
-[[package]]
-name = "parking_lot"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core 0.8.6",
-]
-
[[package]]
name = "parking_lot"
version = "0.12.1"
@@ -3458,41 +3665,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
- "parking_lot_core 0.9.7",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
-dependencies = [
- "cfg-if",
- "instant",
- "libc",
- "redox_syscall 0.2.16",
- "smallvec",
- "winapi",
+ "parking_lot_core",
]
[[package]]
name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.2.16",
+ "redox_syscall 0.3.5",
"smallvec",
- "windows-sys 0.45.0",
+ "windows-targets 0.48.1",
]
[[package]]
name = "paste"
-version = "1.0.12"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
name = "pathdiff"
@@ -3511,18 +3704,18 @@ dependencies = [
[[package]]
name = "pem-rfc7468"
-version = "0.3.1"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30"
+checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
dependencies = [
"base64ct",
]
[[package]]
name = "percent-encoding"
-version = "2.2.0"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
[[package]]
name = "phf"
@@ -3624,29 +3817,29 @@ dependencies = [
[[package]]
name = "pin-project"
-version = "1.1.0"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead"
+checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
-version = "1.1.0"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07"
+checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
[[package]]
name = "pin-utils"
@@ -3656,24 +3849,23 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "pkcs1"
-version = "0.3.3"
+version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320"
+checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
dependencies = [
"der",
"pkcs8",
- "zeroize",
+ "spki",
]
[[package]]
name = "pkcs8"
-version = "0.8.0"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0"
+checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
dependencies = [
"der",
"spki",
- "zeroize",
]
[[package]]
@@ -3684,23 +3876,23 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
[[package]]
name = "plist"
-version = "1.4.3"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bd9647b268a3d3e14ff09c23201133a62589c658db02bb7388c7246aafe0590"
+checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06"
dependencies = [
"base64 0.21.2",
- "indexmap",
+ "indexmap 1.9.3",
"line-wrap",
- "quick-xml 0.28.2",
+ "quick-xml 0.29.0",
"serde",
- "time 0.3.21",
+ "time 0.3.24",
]
[[package]]
name = "png"
-version = "0.17.8"
+version = "0.17.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa"
+checksum = "59871cc5b6cce7eaccca5a802b4173377a1c2ba90654246789a8fa2334426d11"
dependencies = [
"bitflags 1.3.2",
"crc32fast",
@@ -3750,9 +3942,9 @@ dependencies = [
[[package]]
name = "polyval"
-version = "0.6.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6"
+checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -3814,13 +4006,29 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]]
name = "proc-macro2"
-version = "1.0.59"
+version = "1.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
dependencies = [
"unicode-ident",
]
+[[package]]
+name = "psl-types"
+version = "2.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac"
+
+[[package]]
+name = "publicsuffix"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457"
+dependencies = [
+ "idna 0.3.0",
+ "psl-types",
+]
+
[[package]]
name = "quick-error"
version = "1.2.3"
@@ -3838,18 +4046,65 @@ dependencies = [
[[package]]
name = "quick-xml"
-version = "0.28.2"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
+checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51"
dependencies = [
"memchr",
]
+[[package]]
+name = "quinn"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75"
+dependencies = [
+ "bytes 1.4.0",
+ "pin-project-lite",
+ "quinn-proto",
+ "quinn-udp",
+ "rustc-hash",
+ "rustls",
+ "thiserror",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "quinn-proto"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8c8bb234e70c863204303507d841e7fa2295e95c822b2bb4ca8ebf57f17b1cb"
+dependencies = [
+ "bytes 1.4.0",
+ "rand 0.8.5",
+ "ring",
+ "rustc-hash",
+ "rustls",
+ "slab",
+ "thiserror",
+ "tinyvec",
+ "tracing",
+]
+
+[[package]]
+name = "quinn-udp"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6df19e284d93757a9fb91d63672f7741b129246a669db09d1c0063071debc0c0"
+dependencies = [
+ "bytes 1.4.0",
+ "libc",
+ "socket2 0.5.3",
+ "tracing",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "quote"
-version = "1.0.28"
+version = "1.0.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
+checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
dependencies = [
"proc-macro2",
]
@@ -3914,7 +4169,7 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
]
[[package]]
@@ -3976,20 +4231,21 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
"redox_syscall 0.2.16",
"thiserror",
]
[[package]]
name = "regex"
-version = "1.8.3"
+version = "1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81ca098a9821bd52d6b24fd8b10bd081f47d39c22778cafaa75a2857a62c6390"
+checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
dependencies = [
- "aho-corasick 1.0.1",
+ "aho-corasick",
"memchr",
- "regex-syntax 0.7.2",
+ "regex-automata 0.3.4",
+ "regex-syntax 0.7.4",
]
[[package]]
@@ -4001,6 +4257,17 @@ dependencies = [
"regex-syntax 0.6.29",
]
+[[package]]
+name = "regex-automata"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.7.4",
+]
+
[[package]]
name = "regex-syntax"
version = "0.6.29"
@@ -4009,9 +4276,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
[[package]]
name = "regex-syntax"
-version = "0.7.2"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
[[package]]
name = "reqwest"
@@ -4019,12 +4286,18 @@ version = "0.11.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55"
dependencies = [
+ "async-compression",
"base64 0.21.2",
"bytes 1.4.0",
+ "cookie",
+ "cookie_store",
"encoding_rs",
+ "futures-channel",
"futures-core",
"futures-util",
"h2",
+ "h3",
+ "h3-quinn",
"http",
"http-body",
"hyper",
@@ -4039,16 +4312,20 @@ dependencies = [
"once_cell",
"percent-encoding",
"pin-project-lite",
- "rustls 0.21.1",
+ "quinn",
+ "rustls",
+ "rustls-native-certs",
"rustls-pemfile",
"serde",
"serde_json",
"serde_urlencoded",
"tokio",
"tokio-native-tls",
- "tokio-rustls 0.24.0",
+ "tokio-rustls",
+ "tokio-socks",
"tokio-util",
"tower-service",
+ "trust-dns-resolver",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
@@ -4058,6 +4335,16 @@ dependencies = [
"winreg 0.10.1",
]
+[[package]]
+name = "resolv-conf"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00"
+dependencies = [
+ "hostname",
+ "quick-error",
+]
+
[[package]]
name = "rfd"
version = "0.11.4"
@@ -4100,11 +4387,12 @@ dependencies = [
[[package]]
name = "rsa"
-version = "0.6.1"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b"
+checksum = "6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8"
dependencies = [
"byteorder",
+ "const-oid",
"digest 0.10.7",
"num-bigint-dig",
"num-integer",
@@ -4113,7 +4401,8 @@ dependencies = [
"pkcs1",
"pkcs8",
"rand_core 0.6.4",
- "smallvec",
+ "signature",
+ "spki",
"subtle",
"zeroize",
]
@@ -4136,6 +4425,18 @@ dependencies = [
"crossbeam-utils",
]
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
[[package]]
name = "rustc_version"
version = "0.4.0"
@@ -4147,47 +4448,60 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.37.19"
+version = "0.37.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
+checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
dependencies = [
"bitflags 1.3.2",
"errno",
"io-lifetimes",
"libc",
- "linux-raw-sys",
+ "linux-raw-sys 0.3.8",
"windows-sys 0.48.0",
]
[[package]]
-name = "rustls"
-version = "0.20.8"
+name = "rustix"
+version = "0.38.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
dependencies = [
- "log",
- "ring",
- "sct",
- "webpki",
+ "bitflags 2.3.3",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.3",
+ "windows-sys 0.48.0",
]
[[package]]
name = "rustls"
-version = "0.21.1"
+version = "0.21.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c911ba11bc8433e811ce56fde130ccf32f5127cab0e0194e9c68c5a5b671791e"
+checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36"
dependencies = [
"log",
"ring",
- "rustls-webpki",
+ "rustls-webpki 0.101.2",
"sct",
]
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile",
+ "schannel",
+ "security-framework",
+]
+
[[package]]
name = "rustls-pemfile"
-version = "1.0.2"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
+checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
dependencies = [
"base64 0.21.2",
]
@@ -4202,11 +4516,21 @@ dependencies = [
"untrusted",
]
+[[package]]
+name = "rustls-webpki"
+version = "0.101.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "513722fd73ad80a71f72b61009ea1b584bcfa1483ca93949c8f290298837fa59"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
[[package]]
name = "rustversion"
-version = "1.0.12"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
[[package]]
name = "rusty-fork"
@@ -4222,9 +4546,9 @@ dependencies = [
[[package]]
name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
[[package]]
name = "safemem"
@@ -4243,11 +4567,11 @@ dependencies = [
[[package]]
name = "schannel"
-version = "0.1.21"
+version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
+checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
dependencies = [
- "windows-sys 0.42.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -4258,9 +4582,9 @@ checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
[[package]]
name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "sct"
@@ -4274,9 +4598,9 @@ dependencies = [
[[package]]
name = "security-framework"
-version = "2.9.1"
+version = "2.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
dependencies = [
"bitflags 1.3.2",
"core-foundation",
@@ -4287,9 +4611,9 @@ dependencies = [
[[package]]
name = "security-framework-sys"
-version = "2.9.0"
+version = "2.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
dependencies = [
"core-foundation-sys",
"libc",
@@ -4317,60 +4641,60 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.17"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
dependencies = [
"serde",
]
[[package]]
name = "serde"
-version = "1.0.163"
+version = "1.0.179"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
+checksum = "0a5bf42b8d227d4abf38a1ddb08602e229108a517cd4e5bb28f9c7eaafdce5c0"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.163"
+version = "1.0.179"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
+checksum = "741e124f5485c7e60c03b043f79f320bff3527f4bbf12cf3831750dc46a0ec2c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
name = "serde_json"
-version = "1.0.96"
+version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
dependencies = [
- "itoa 1.0.6",
+ "itoa 1.0.9",
"ryu",
"serde",
]
[[package]]
name = "serde_repr"
-version = "0.1.12"
+version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab"
+checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
name = "serde_spanned"
-version = "0.6.2"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d"
+checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
dependencies = [
"serde",
]
@@ -4382,37 +4706,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
dependencies = [
"form_urlencoded",
- "itoa 1.0.6",
+ "itoa 1.0.9",
"ryu",
"serde",
]
[[package]]
name = "serde_with"
-version = "3.0.0"
+version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f02d8aa6e3c385bf084924f660ce2a3a6bd333ba55b35e8590b321f35d88513"
+checksum = "21e47d95bc83ed33b2ecf84f4187ad1ab9685d18ff28db000c99deac8ce180e3"
dependencies = [
"base64 0.21.2",
"chrono",
"hex",
- "indexmap",
+ "indexmap 1.9.3",
"serde",
"serde_json",
"serde_with_macros",
- "time 0.3.21",
+ "time 0.3.24",
]
[[package]]
name = "serde_with_macros"
-version = "3.0.0"
+version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edc7d5d3932fb12ce722ee5e64dd38c504efba37567f0c402f6ca728c3b8b070"
+checksum = "ea3cee93715c2e266b9338b7544da68a9f24e227722ba482bd1c024367c77c65"
dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -4473,9 +4797,9 @@ dependencies = [
[[package]]
name = "sha2"
-version = "0.10.6"
+version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -4501,11 +4825,40 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "signal-hook"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
+dependencies = [
+ "libc",
+ "signal-hook-registry",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "signature"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+dependencies = [
+ "digest 0.10.7",
+ "rand_core 0.6.4",
+]
+
[[package]]
name = "simd-adler32"
-version = "0.3.5"
+version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
[[package]]
name = "similar"
@@ -4530,9 +4883,9 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.10.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
[[package]]
name = "socket2"
@@ -4541,7 +4894,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
dependencies = [
"libc",
- "winapi",
+ "winapi",
+]
+
+[[package]]
+name = "socket2"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -4589,9 +4952,9 @@ dependencies = [
[[package]]
name = "spki"
-version = "0.5.4"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27"
+checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
dependencies = [
"base64ct",
"der",
@@ -4610,104 +4973,204 @@ dependencies = [
[[package]]
name = "sqlx"
-version = "0.6.3"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188"
+checksum = "8e58421b6bc416714d5115a2ca953718f6c621a51b68e4f4922aea5a4391a721"
dependencies = [
"sqlx-core",
"sqlx-macros",
+ "sqlx-mysql",
+ "sqlx-postgres",
+ "sqlx-sqlite",
]
[[package]]
name = "sqlx-core"
-version = "0.6.3"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029"
+checksum = "dd4cef4251aabbae751a3710927945901ee1d97ee96d757f6880ebb9a79bfd53"
dependencies = [
- "ahash 0.7.6",
+ "ahash 0.8.3",
"atoi",
- "base64 0.13.1",
- "bitflags 1.3.2",
"byteorder",
"bytes 1.4.0",
"crc",
"crossbeam-queue",
- "digest 0.10.7",
- "dirs",
"dotenvy",
"either",
"event-listener",
- "flume",
"futures-channel",
"futures-core",
- "futures-executor",
"futures-intrusive",
+ "futures-io",
"futures-util",
- "generic-array",
"hashlink",
"hex",
- "hkdf",
- "hmac",
- "indexmap",
- "itoa 1.0.6",
- "libc",
- "libsqlite3-sys",
+ "indexmap 2.0.0",
"log",
- "md-5",
"memchr",
- "num-bigint",
"once_cell",
"paste",
"percent-encoding",
- "rand 0.8.5",
- "rsa",
- "rustls 0.20.8",
+ "rustls",
"rustls-pemfile",
"serde",
"serde_json",
- "sha1",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"smallvec",
"sqlformat",
- "sqlx-rt",
- "stringprep",
"thiserror",
- "time 0.3.21",
+ "time 0.3.24",
+ "tokio",
"tokio-stream",
+ "tracing",
"url",
- "webpki-roots 0.22.6",
- "whoami",
+ "webpki-roots 0.24.0",
]
[[package]]
name = "sqlx-macros"
-version = "0.6.3"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9"
+checksum = "208e3165167afd7f3881b16c1ef3f2af69fa75980897aac8874a0696516d12c2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "sqlx-core",
+ "sqlx-macros-core",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "sqlx-macros-core"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a4a8336d278c62231d87f24e8a7a74898156e34c1c18942857be2acb29c7dfc"
dependencies = [
"dotenvy",
"either",
- "heck 0.4.1",
+ "heck",
+ "hex",
"once_cell",
"proc-macro2",
"quote",
+ "serde",
"serde_json",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"sqlx-core",
- "sqlx-rt",
+ "sqlx-mysql",
+ "sqlx-postgres",
+ "sqlx-sqlite",
"syn 1.0.109",
+ "tempfile",
+ "tokio",
"url",
]
[[package]]
-name = "sqlx-rt"
-version = "0.6.3"
+name = "sqlx-mysql"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ca69bf415b93b60b80dc8fda3cb4ef52b2336614d8da2de5456cc942a110482"
+dependencies = [
+ "atoi",
+ "base64 0.21.2",
+ "bitflags 2.3.3",
+ "byteorder",
+ "bytes 1.4.0",
+ "crc",
+ "digest 0.10.7",
+ "dotenvy",
+ "either",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "generic-array",
+ "hex",
+ "hkdf",
+ "hmac",
+ "itoa 1.0.9",
+ "log",
+ "md-5",
+ "memchr",
+ "once_cell",
+ "percent-encoding",
+ "rand 0.8.5",
+ "rsa",
+ "serde",
+ "sha1",
+ "sha2 0.10.7",
+ "smallvec",
+ "sqlx-core",
+ "stringprep",
+ "thiserror",
+ "time 0.3.24",
+ "tracing",
+ "whoami",
+]
+
+[[package]]
+name = "sqlx-postgres"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024"
+checksum = "a0db2df1b8731c3651e204629dd55e52adbae0462fa1bdcbed56a2302c18181e"
dependencies = [
+ "atoi",
+ "base64 0.21.2",
+ "bitflags 2.3.3",
+ "byteorder",
+ "crc",
+ "dotenvy",
+ "etcetera",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "hex",
+ "hkdf",
+ "hmac",
+ "home",
+ "itoa 1.0.9",
+ "log",
+ "md-5",
+ "memchr",
"once_cell",
- "tokio",
- "tokio-rustls 0.23.4",
+ "rand 0.8.5",
+ "serde",
+ "serde_json",
+ "sha1",
+ "sha2 0.10.7",
+ "smallvec",
+ "sqlx-core",
+ "stringprep",
+ "thiserror",
+ "time 0.3.24",
+ "tracing",
+ "whoami",
+]
+
+[[package]]
+name = "sqlx-sqlite"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4c21bf34c7cae5b283efb3ac1bcc7670df7561124dc2f8bdc0b59be40f79a2"
+dependencies = [
+ "atoi",
+ "flume",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-intrusive",
+ "futures-util",
+ "libsqlite3-sys",
+ "log",
+ "percent-encoding",
+ "serde",
+ "sqlx-core",
+ "time 0.3.24",
+ "tracing",
+ "url",
]
[[package]]
@@ -4745,7 +5208,7 @@ checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
dependencies = [
"new_debug_unreachable",
"once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
"phf_shared 0.10.0",
"precomputed-hash",
"serde",
@@ -4765,9 +5228,9 @@ dependencies = [
[[package]]
name = "stringprep"
-version = "0.1.2"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1"
+checksum = "db3737bde7edce97102e0e2b15365bf7a20bfdb5f60f4f9e8d7004258a51a8da"
dependencies = [
"unicode-bidi",
"unicode-normalization",
@@ -4837,27 +5300,6 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-[[package]]
-name = "strum"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e"
-dependencies = [
- "strum_macros",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb"
-dependencies = [
- "heck 0.3.3",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "subtle"
version = "2.5.0"
@@ -4888,9 +5330,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.18"
+version = "2.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
+checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
dependencies = [
"proc-macro2",
"quote",
@@ -4909,12 +5351,12 @@ dependencies = [
[[package]]
name = "system-deps"
-version = "6.1.0"
+version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5fa6fb9ee296c0dc2df41a656ca7948546d061958115ddb0bcaae43ad0d17d2"
+checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3"
dependencies = [
"cfg-expr",
- "heck 0.4.1",
+ "heck",
"pkg-config",
"toml",
"version-compare",
@@ -4956,7 +5398,7 @@ dependencies = [
"ndk-sys",
"objc",
"once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
"png",
"raw-window-handle",
"scopeguard",
@@ -4982,9 +5424,9 @@ dependencies = [
[[package]]
name = "tar"
-version = "0.4.38"
+version = "0.4.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
+checksum = "ec96d2ffad078296368d46ff1cb309be1c23c513b4ab0e22a45de0185275ac96"
dependencies = [
"filetime",
"libc",
@@ -4993,9 +5435,9 @@ dependencies = [
[[package]]
name = "target-lexicon"
-version = "0.12.7"
+version = "0.12.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5"
+checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e"
[[package]]
name = "tauri"
@@ -5012,7 +5454,7 @@ dependencies = [
"glib",
"glob",
"gtk",
- "heck 0.4.1",
+ "heck",
"http",
"ico 0.2.0",
"infer 0.9.0",
@@ -5056,7 +5498,7 @@ checksum = "a52990870fd043f1d3bd6719ae713ef2e0c50431334d7249f6ae8509d1b8c326"
dependencies = [
"anyhow",
"cargo_toml",
- "heck 0.4.1",
+ "heck",
"json-patch",
"quote",
"semver",
@@ -5086,10 +5528,10 @@ dependencies = [
"semver",
"serde",
"serde_json",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"tauri-utils",
"thiserror",
- "time 0.3.21",
+ "time 0.3.24",
"url",
"uuid",
"walkdir",
@@ -5101,7 +5543,7 @@ version = "2.0.0-alpha.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22752425c6dd6f3a058f376db7371f1d5bac250e340d40ba6c97ecf7182eef29"
dependencies = [
- "heck 0.4.1",
+ "heck",
"proc-macro2",
"quote",
"syn 1.0.109",
@@ -5129,7 +5571,7 @@ dependencies = [
"rusty-fork",
"serde",
"serde_json",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"tauri",
"thiserror",
"u2f",
@@ -5218,17 +5660,16 @@ dependencies = [
name = "tauri-plugin-http"
version = "2.0.0-alpha.0"
dependencies = [
- "bytes 1.4.0",
+ "data-url",
"glob",
"http",
- "rand 0.8.5",
"reqwest",
"serde",
"serde_json",
- "serde_repr",
"tauri",
"tauri-plugin-fs",
"thiserror",
+ "url",
]
[[package]]
@@ -5260,7 +5701,7 @@ dependencies = [
"swift-rs",
"tauri",
"tauri-build",
- "time 0.3.21",
+ "time 0.3.24",
]
[[package]]
@@ -5276,7 +5717,7 @@ dependencies = [
"tauri",
"tauri-build",
"thiserror",
- "time 0.3.21",
+ "time 0.3.24",
"url",
"win7-notifications",
]
@@ -5300,7 +5741,7 @@ dependencies = [
name = "tauri-plugin-persisted-scope"
version = "2.0.0-alpha.0"
dependencies = [
- "aho-corasick 1.0.1",
+ "aho-corasick",
"bincode",
"log",
"serde",
@@ -5369,7 +5810,7 @@ dependencies = [
"sqlx",
"tauri",
"thiserror",
- "time 0.3.21",
+ "time 0.3.24",
"tokio",
]
@@ -5389,7 +5830,7 @@ name = "tauri-plugin-stronghold"
version = "2.0.0-alpha.0"
dependencies = [
"hex",
- "iota-crypto 0.20.1",
+ "iota-crypto 0.23.0",
"iota_stronghold",
"log",
"rand 0.8.5",
@@ -5422,7 +5863,7 @@ dependencies = [
"tauri",
"tempfile",
"thiserror",
- "time 0.3.21",
+ "time 0.3.24",
"tokio",
"tokio-test",
"url",
@@ -5474,7 +5915,7 @@ name = "tauri-plugin-window-state"
version = "2.0.0-alpha.0"
dependencies = [
"bincode",
- "bitflags 2.3.1",
+ "bitflags 2.3.3",
"log",
"serde",
"serde_json",
@@ -5534,9 +5975,9 @@ dependencies = [
"brotli",
"ctor",
"dunce",
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
"glob",
- "heck 0.4.1",
+ "heck",
"html5ever",
"infer 0.12.0",
"json-patch",
@@ -5568,26 +6009,25 @@ dependencies = [
[[package]]
name = "tauri-winrt-notification"
-version = "0.1.0"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c58de036c4d2e20717024de2a3c4bf56c301f07b21bc8ef9b57189fce06f1f3b"
+checksum = "4f5bff1d532fead7c43324a0fa33643b8621a47ce2944a633be4cb6c0240898f"
dependencies = [
"quick-xml 0.23.1",
- "strum",
"windows 0.39.0",
]
[[package]]
name = "tempfile"
-version = "3.5.0"
+version = "3.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
dependencies = [
"cfg-if",
- "fastrand",
+ "fastrand 2.0.0",
"redox_syscall 0.3.5",
- "rustix",
- "windows-sys 0.45.0",
+ "rustix 0.38.4",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -5609,22 +6049,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
[[package]]
name = "thiserror"
-version = "1.0.40"
+version = "1.0.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -5661,11 +6101,12 @@ dependencies = [
[[package]]
name = "time"
-version = "0.3.21"
+version = "0.3.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc"
+checksum = "b79eabcd964882a646b3584543ccabeae7869e9ac32a46f6f22b7a5bd405308b"
dependencies = [
- "itoa 1.0.6",
+ "deranged",
+ "itoa 1.0.9",
"libc",
"num_threads",
"serde",
@@ -5681,9 +6122,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
[[package]]
name = "time-macros"
-version = "0.2.9"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b"
+checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd"
dependencies = [
"time-core",
]
@@ -5697,7 +6138,7 @@ dependencies = [
"ascii",
"chunked_transfer",
"log",
- "time 0.3.21",
+ "time 0.3.24",
"url",
]
@@ -5730,17 +6171,18 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.28.1"
+version = "1.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105"
+checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
dependencies = [
"autocfg",
+ "backtrace",
"bytes 1.4.0",
"libc",
"mio",
"num_cpus",
"pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
"windows-sys 0.48.0",
]
@@ -5756,22 +6198,23 @@ dependencies = [
[[package]]
name = "tokio-rustls"
-version = "0.23.4"
+version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
+checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
- "rustls 0.20.8",
+ "rustls",
"tokio",
- "webpki",
]
[[package]]
-name = "tokio-rustls"
-version = "0.24.0"
+name = "tokio-socks"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0d409377ff5b1e3ca6437aa86c1eb7d40c134bfec254e44c830defa92669db5"
+checksum = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0"
dependencies = [
- "rustls 0.21.1",
+ "either",
+ "futures-util",
+ "thiserror",
"tokio",
]
@@ -5808,12 +6251,12 @@ dependencies = [
"futures-util",
"log",
"native-tls",
- "rustls 0.21.1",
+ "rustls",
"tokio",
"tokio-native-tls",
- "tokio-rustls 0.24.0",
+ "tokio-rustls",
"tungstenite",
- "webpki-roots 0.23.0",
+ "webpki-roots 0.23.1",
]
[[package]]
@@ -5832,9 +6275,9 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.7.4"
+version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec"
+checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
dependencies = [
"serde",
"serde_spanned",
@@ -5844,20 +6287,20 @@ dependencies = [
[[package]]
name = "toml_datetime"
-version = "0.6.2"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f"
+checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
-version = "0.19.10"
+version = "0.19.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
dependencies = [
- "indexmap",
+ "indexmap 2.0.0",
"serde",
"serde_spanned",
"toml_datetime",
@@ -5877,6 +6320,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
dependencies = [
"cfg-if",
+ "log",
"pin-project-lite",
"tracing-attributes",
"tracing-core",
@@ -5884,13 +6328,13 @@ dependencies = [
[[package]]
name = "tracing-attributes"
-version = "0.1.24"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
+checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -5941,6 +6385,51 @@ dependencies = [
"serde_json",
]
+[[package]]
+name = "trust-dns-proto"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26"
+dependencies = [
+ "async-trait",
+ "cfg-if",
+ "data-encoding",
+ "enum-as-inner",
+ "futures-channel",
+ "futures-io",
+ "futures-util",
+ "idna 0.2.3",
+ "ipnet",
+ "lazy_static",
+ "rand 0.8.5",
+ "smallvec",
+ "thiserror",
+ "tinyvec",
+ "tokio",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "trust-dns-resolver"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe"
+dependencies = [
+ "cfg-if",
+ "futures-util",
+ "ipconfig",
+ "lazy_static",
+ "lru-cache",
+ "parking_lot",
+ "resolv-conf",
+ "smallvec",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "trust-dns-proto",
+]
+
[[package]]
name = "try-lock"
version = "0.2.4"
@@ -5961,7 +6450,7 @@ dependencies = [
"log",
"native-tls",
"rand 0.8.5",
- "rustls 0.21.1",
+ "rustls",
"sha1",
"thiserror",
"url",
@@ -6019,9 +6508,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
[[package]]
name = "unicode-ident"
-version = "1.0.9"
+version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
[[package]]
name = "unicode-normalization"
@@ -6072,12 +6561,12 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
[[package]]
name = "url"
-version = "2.3.1"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
dependencies = [
"form_urlencoded",
- "idna",
+ "idna 0.4.0",
"percent-encoding",
"serde",
]
@@ -6102,11 +6591,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "uuid"
-version = "1.3.3"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2"
+checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
]
[[package]]
@@ -6117,13 +6606,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "value-bag"
-version = "1.0.0-alpha.9"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
-dependencies = [
- "ctor",
- "version_check",
-]
+checksum = "d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3"
[[package]]
name = "vcpkg"
@@ -6190,11 +6675,10 @@ dependencies = [
[[package]]
name = "want"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
dependencies = [
- "log",
"try-lock",
]
@@ -6218,9 +6702,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.86"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -6228,24 +6712,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.86"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.36"
+version = "0.4.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e"
+checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
dependencies = [
"cfg-if",
"js-sys",
@@ -6255,9 +6739,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.86"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -6265,22 +6749,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.86"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.86"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
[[package]]
name = "wasm-streams"
@@ -6297,9 +6781,9 @@ dependencies = [
[[package]]
name = "web-sys"
-version = "0.3.63"
+version = "0.3.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2"
+checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -6370,11 +6854,20 @@ dependencies = [
[[package]]
name = "webpki-roots"
-version = "0.23.0"
+version = "0.23.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338"
+dependencies = [
+ "rustls-webpki 0.100.1",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa54963694b65584e170cf5dc46aeb4dcaa5584e652ff5f3952e56d66aff0125"
+checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888"
dependencies = [
- "rustls-webpki",
+ "rustls-webpki 0.101.2",
]
[[package]]
@@ -6423,13 +6916,15 @@ checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
[[package]]
name = "whoami"
-version = "1.4.0"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c70234412ca409cc04e864e89523cb0fc37f5e1344ebed5a3ebf4192b6b9f68"
-dependencies = [
- "wasm-bindgen",
- "web-sys",
-]
+checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50"
+
+[[package]]
+name = "widestring"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8"
[[package]]
name = "win7-notifications"
@@ -6536,7 +7031,7 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets 0.48.1",
]
[[package]]
@@ -6620,7 +7115,7 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets 0.48.1",
]
[[package]]
@@ -6640,9 +7135,9 @@ dependencies = [
[[package]]
name = "windows-targets"
-version = "0.48.0"
+version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
dependencies = [
"windows_aarch64_gnullvm 0.48.0",
"windows_aarch64_msvc 0.48.0",
@@ -6805,9 +7300,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
[[package]]
name = "winnow"
-version = "0.4.6"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699"
+checksum = "8bd122eb777186e60c3fdf765a58ac76e41c582f1f535fbf3314434c6b58f3f7"
dependencies = [
"memchr",
]
@@ -6831,6 +7326,16 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "winreg"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "wry"
version = "0.28.3"
@@ -6858,7 +7363,7 @@ dependencies = [
"once_cell",
"serde",
"serde_json",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"soup3",
"tao",
"thiserror",
@@ -6945,18 +7450,20 @@ dependencies = [
[[package]]
name = "zbus"
-version = "3.12.0"
+version = "3.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29242fa5ec5693629ae74d6eb1f69622a9511f600986d6d9779bccf36ac316e3"
+checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
dependencies = [
"async-broadcast",
"async-executor",
"async-fs",
"async-io",
"async-lock",
+ "async-process",
"async-recursion",
"async-task",
"async-trait",
+ "blocking",
"byteorder",
"derivative",
"enumflags2",
@@ -6984,9 +7491,9 @@ dependencies = [
[[package]]
name = "zbus_macros"
-version = "3.12.0"
+version = "3.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "537793e26e9af85f774801dc52c6f6292352b2b517c5cf0449ffd3735732a53a"
+checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -6998,9 +7505,9 @@ dependencies = [
[[package]]
name = "zbus_names"
-version = "2.5.1"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82441e6033be0a741157a72951a3e4957d519698f3a824439cc131c5ba77ac2a"
+checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9"
dependencies = [
"serde",
"static_assertions",
@@ -7024,7 +7531,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.28",
]
[[package]]
@@ -7040,9 +7547,9 @@ dependencies = [
[[package]]
name = "zvariant"
-version = "3.13.0"
+version = "3.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cb36cd95352132911c9c99fdcc1635de5c2c139bd34cbcf6dfb8350ee8ff6a7"
+checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c"
dependencies = [
"byteorder",
"enumflags2",
@@ -7054,9 +7561,9 @@ dependencies = [
[[package]]
name = "zvariant_derive"
-version = "3.13.0"
+version = "3.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b34951e1ac64f3a1443fe7181256b9ed6a811a1631917566c3d5ca718d8cf33"
+checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -7067,9 +7574,9 @@ dependencies = [
[[package]]
name = "zvariant_utils"
-version = "1.0.0"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53b22993dbc4d128a17a3b6c92f1c63872dd67198537ee728d8b5d7c40640a8b"
+checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200"
dependencies = [
"proc-macro2",
"quote",
diff --git a/examples/api/index.html b/examples/api/index.html
index 81b6f92e..919cfd2a 100644
--- a/examples/api/index.html
+++ b/examples/api/index.html
@@ -1,4 +1,4 @@
-
+
diff --git a/examples/api/isolation-dist/index.html b/examples/api/isolation-dist/index.html
index 27c8d3f3..a97caa83 100644
--- a/examples/api/isolation-dist/index.html
+++ b/examples/api/isolation-dist/index.html
@@ -1,4 +1,4 @@
-
+
diff --git a/examples/api/src-tauri/Cargo.toml b/examples/api/src-tauri/Cargo.toml
index 2431dc2f..b1f1b09d 100644
--- a/examples/api/src-tauri/Cargo.toml
+++ b/examples/api/src-tauri/Cargo.toml
@@ -4,7 +4,7 @@ publish = false
version = "2.0.0-alpha.1"
description = "An example Tauri Application showcasing the api"
edition = "2021"
-rust-version = "1.65"
+rust-version = { workspace = true }
license = "Apache-2.0 OR MIT"
[lib]
diff --git a/examples/api/src/views/Http.svelte b/examples/api/src/views/Http.svelte
index 5a1d3032..842816b8 100644
--- a/examples/api/src/views/Http.svelte
+++ b/examples/api/src/views/Http.svelte
@@ -1,5 +1,5 @@
@@ -87,11 +96,6 @@
-
-
diff --git a/package.json b/package.json
index 13567e7b..7cdb65ad 100644
--- a/package.json
+++ b/package.json
@@ -10,24 +10,28 @@
"format-check": "prettier --check ."
},
"devDependencies": {
- "@rollup/plugin-node-resolve": "^15.1.0",
- "@rollup/plugin-terser": "^0.4.3",
- "@rollup/plugin-typescript": "^11.1.1",
- "@typescript-eslint/eslint-plugin": "^5.59.11",
- "@typescript-eslint/parser": "^5.59.11",
+ "@rollup/plugin-node-resolve": "15.1.0",
+ "@rollup/plugin-terser": "0.4.3",
+ "@rollup/plugin-typescript": "11.1.2",
+ "@typescript-eslint/eslint-plugin": "6.1.0",
+ "@typescript-eslint/parser": "6.1.0",
"covector": "^0.9.0",
- "eslint": "^8.43.0",
- "eslint-config-prettier": "^8.8.0",
- "eslint-config-standard-with-typescript": "^35.0.0",
- "eslint-plugin-import": "^2.27.5",
- "eslint-plugin-n": "^16.0.0",
- "eslint-plugin-promise": "^6.1.1",
- "eslint-plugin-security": "^1.7.1",
- "prettier": "^2.8.8",
- "rollup": "^3.25.1",
- "typescript": "^5.1.3"
+ "eslint": "8.45.0",
+ "eslint-config-prettier": "8.8.0",
+ "eslint-config-standard-with-typescript": "36.1.0",
+ "eslint-plugin-import": "2.27.5",
+ "eslint-plugin-n": "16.0.1",
+ "eslint-plugin-promise": "6.1.1",
+ "eslint-plugin-security": "1.7.1",
+ "prettier": "3.0.0",
+ "rollup": "3.26.3",
+ "typescript": "5.1.6"
+ },
+ "resolutions": {
+ "semver": ">=7.5.2",
+ "optionator": ">=0.9.3"
},
"engines": {
- "pnpm": ">=7.33.0"
+ "pnpm": ">=7.33.1"
}
}
diff --git a/plugins/app/README.md b/plugins/app/README.md
index 34d44e56..d79c52e3 100644
--- a/plugins/app/README.md
+++ b/plugins/app/README.md
@@ -1,4 +1,4 @@
-
+
This plugin provides APIs to read application metadata and macOS app visibility functions.
diff --git a/plugins/app/rollup.config.mjs b/plugins/app/rollup.config.mjs
index 6555e98b..99a3dd31 100644
--- a/plugins/app/rollup.config.mjs
+++ b/plugins/app/rollup.config.mjs
@@ -5,7 +5,7 @@ import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
- readFileSync(new URL("./package.json", import.meta.url), "utf8")
+ readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
diff --git a/plugins/app/src/lib.rs b/plugins/app/src/lib.rs
index aa6fb802..fbfd27d5 100644
--- a/plugins/app/src/lib.rs
+++ b/plugins/app/src/lib.rs
@@ -2,6 +2,15 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
+//! [](https://github.com/tauri-apps/plugins-workspace/tree/v2/plugins/app)
+//!
+//! This plugin provides APIs to read application metadata and macOS app visibility functions.
+
+#![doc(
+ html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png"
+)]
+
use tauri::{
plugin::{Builder, TauriPlugin},
Runtime,
diff --git a/plugins/authenticator/README.md b/plugins/authenticator/README.md
index bcdedeab..b24f4efa 100644
--- a/plugins/authenticator/README.md
+++ b/plugins/authenticator/README.md
@@ -1,4 +1,4 @@
-
+
Use hardware security-keys in your Tauri App.
@@ -93,7 +93,7 @@ const r2 = await auth.verifyRegistration(
challenge,
app,
registerResult.registerData,
- registerResult.clientData
+ registerResult.clientData,
);
const j2 = JSON.parse(r2);
@@ -108,7 +108,7 @@ const counter = await auth.verifySignature(
signData.signData,
clientData,
keyHandle,
- pubkey
+ pubkey,
);
if (counter && counter > 0) {
diff --git a/plugins/authenticator/guest-js/index.ts b/plugins/authenticator/guest-js/index.ts
index c7bb51a1..f4b3193b 100644
--- a/plugins/authenticator/guest-js/index.ts
+++ b/plugins/authenticator/guest-js/index.ts
@@ -25,7 +25,7 @@ export class Authenticator {
challenge: string,
application: string,
registerData: string,
- clientData: string
+ clientData: string,
): Promise {
return await window.__TAURI_INVOKE__(
"plugin:authenticator|verify_registration",
@@ -34,14 +34,14 @@ export class Authenticator {
application,
registerData,
clientData,
- }
+ },
);
}
async sign(
challenge: string,
application: string,
- keyHandle: string
+ keyHandle: string,
): Promise {
return await window.__TAURI_INVOKE__("plugin:authenticator|sign", {
timeout: 10000,
@@ -57,7 +57,7 @@ export class Authenticator {
signData: string,
clientData: string,
keyHandle: string,
- pubkey: string
+ pubkey: string,
): Promise {
return await window.__TAURI_INVOKE__(
"plugin:authenticator|verify_signature",
@@ -68,7 +68,7 @@ export class Authenticator {
clientData,
keyHandle,
pubkey,
- }
+ },
);
}
}
diff --git a/plugins/authenticator/package.json b/plugins/authenticator/package.json
index 2a487b27..ff353189 100644
--- a/plugins/authenticator/package.json
+++ b/plugins/authenticator/package.json
@@ -25,7 +25,7 @@
"LICENSE"
],
"devDependencies": {
- "tslib": "^2.5.0"
+ "tslib": "2.6.0"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.5"
diff --git a/plugins/authenticator/rollup.config.mjs b/plugins/authenticator/rollup.config.mjs
index 6555e98b..99a3dd31 100644
--- a/plugins/authenticator/rollup.config.mjs
+++ b/plugins/authenticator/rollup.config.mjs
@@ -5,7 +5,7 @@ import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
- readFileSync(new URL("./package.json", import.meta.url), "utf8")
+ readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
diff --git a/plugins/authenticator/src/lib.rs b/plugins/authenticator/src/lib.rs
index 9e6785d0..92fef471 100644
--- a/plugins/authenticator/src/lib.rs
+++ b/plugins/authenticator/src/lib.rs
@@ -2,6 +2,16 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
+//! [](https://github.com/tauri-apps/plugins-workspace/tree/v2/plugins/authenticator)
+//!
+//! Use hardware security-keys in your Tauri App.
+//!
+//! - Supported platforms: Windows, Linux, FreeBSD, NetBSD, OpenBSD, and macOS.
+
+#![doc(
+ html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png"
+)]
#![cfg(not(any(target_os = "android", target_os = "ios")))]
mod auth;
diff --git a/plugins/autostart/README.md b/plugins/autostart/README.md
index f14fd2c2..3df21d41 100644
--- a/plugins/autostart/README.md
+++ b/plugins/autostart/README.md
@@ -1,4 +1,4 @@
-
+
Automatically launch your application at startup. Supports Windows, Mac (via AppleScript or Launch Agent), and Linux.
diff --git a/plugins/autostart/package.json b/plugins/autostart/package.json
index 774ce298..96ee8030 100644
--- a/plugins/autostart/package.json
+++ b/plugins/autostart/package.json
@@ -24,7 +24,7 @@
"LICENSE"
],
"devDependencies": {
- "tslib": "^2.5.0"
+ "tslib": "2.6.0"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.5"
diff --git a/plugins/autostart/rollup.config.mjs b/plugins/autostart/rollup.config.mjs
index 6555e98b..99a3dd31 100644
--- a/plugins/autostart/rollup.config.mjs
+++ b/plugins/autostart/rollup.config.mjs
@@ -5,7 +5,7 @@ import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
- readFileSync(new URL("./package.json", import.meta.url), "utf8")
+ readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
diff --git a/plugins/autostart/src/lib.rs b/plugins/autostart/src/lib.rs
index 91c6e4ec..b4338208 100644
--- a/plugins/autostart/src/lib.rs
+++ b/plugins/autostart/src/lib.rs
@@ -2,6 +2,14 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
+//! [](https://github.com/tauri-apps/plugins-workspace/tree/v2/plugins/autostart)
+//!
+//! Automatically launch your application at startup. Supports Windows, Mac (via AppleScript or Launch Agent), and Linux.
+
+#![doc(
+ html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png"
+)]
#![cfg(not(any(target_os = "android", target_os = "ios")))]
use auto_launch::{AutoLaunch, AutoLaunchBuilder};
diff --git a/plugins/cli/README.md b/plugins/cli/README.md
index c0bd1ae4..2a1ebe3a 100644
--- a/plugins/cli/README.md
+++ b/plugins/cli/README.md
@@ -1,4 +1,4 @@
-
+
Parse arguments from your Command Line Interface.
diff --git a/plugins/cli/rollup.config.mjs b/plugins/cli/rollup.config.mjs
index 6555e98b..99a3dd31 100644
--- a/plugins/cli/rollup.config.mjs
+++ b/plugins/cli/rollup.config.mjs
@@ -5,7 +5,7 @@ import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
- readFileSync(new URL("./package.json", import.meta.url), "utf8")
+ readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
diff --git a/plugins/cli/src/lib.rs b/plugins/cli/src/lib.rs
index 096b62a2..c666874c 100644
--- a/plugins/cli/src/lib.rs
+++ b/plugins/cli/src/lib.rs
@@ -2,6 +2,17 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
+//! [](https://github.com/tauri-apps/plugins-workspace/tree/v2/plugins/cli)
+//!
+//! Parse arguments from your Command Line Interface.
+//!
+//! - Supported platforms: Windows, Linux and macOS.
+
+#![doc(
+ html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png"
+)]
+
use tauri::{
plugin::{Builder, PluginApi, TauriPlugin},
AppHandle, Manager, Runtime, State,
diff --git a/plugins/clipboard-manager/README.md b/plugins/clipboard-manager/README.md
index 3bdc6f73..1e7db7a1 100644
--- a/plugins/clipboard-manager/README.md
+++ b/plugins/clipboard-manager/README.md
@@ -1,4 +1,4 @@
-
+
Read and write to the system clipboard.
diff --git a/plugins/clipboard-manager/guest-js/index.ts b/plugins/clipboard-manager/guest-js/index.ts
index bd68d724..fa1e611c 100644
--- a/plugins/clipboard-manager/guest-js/index.ts
+++ b/plugins/clipboard-manager/guest-js/index.ts
@@ -36,7 +36,7 @@ type ClipResponse = Clip<"PlainText", string>;
*/
async function writeText(
text: string,
- opts?: { label?: string }
+ opts?: { label?: string },
): Promise {
return window.__TAURI_INVOKE__("plugin:clipboard|write", {
data: {
@@ -60,7 +60,7 @@ async function writeText(
*/
async function readText(): Promise {
const kind: ClipResponse = await window.__TAURI_INVOKE__(
- "plugin:clipboard|read"
+ "plugin:clipboard|read",
);
return kind.options;
}
diff --git a/plugins/clipboard-manager/rollup.config.mjs b/plugins/clipboard-manager/rollup.config.mjs
index 6555e98b..99a3dd31 100644
--- a/plugins/clipboard-manager/rollup.config.mjs
+++ b/plugins/clipboard-manager/rollup.config.mjs
@@ -5,7 +5,7 @@ import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
- readFileSync(new URL("./package.json", import.meta.url), "utf8")
+ readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
diff --git a/plugins/clipboard-manager/src/lib.rs b/plugins/clipboard-manager/src/lib.rs
index 7fc05348..d4ccdb0a 100644
--- a/plugins/clipboard-manager/src/lib.rs
+++ b/plugins/clipboard-manager/src/lib.rs
@@ -2,6 +2,15 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
+//! [](https://github.com/tauri-apps/plugins-workspace/tree/v2/plugins/clipboard-manager)
+//!
+//! Read and write to the system clipboard.
+
+#![doc(
+ html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png"
+)]
+
use tauri::{
plugin::{Builder, TauriPlugin},
Manager, Runtime,
diff --git a/plugins/dialog/README.md b/plugins/dialog/README.md
index 2c5638fc..9bd8a212 100644
--- a/plugins/dialog/README.md
+++ b/plugins/dialog/README.md
@@ -1,4 +1,4 @@
-
+
Native system dialogs for opening and saving files along with message dialogs.
diff --git a/plugins/dialog/guest-js/index.ts b/plugins/dialog/guest-js/index.ts
index de74217f..c0c34dfb 100644
--- a/plugins/dialog/guest-js/index.ts
+++ b/plugins/dialog/guest-js/index.ts
@@ -103,16 +103,16 @@ interface ConfirmDialogOptions {
}
async function open(
- options?: OpenDialogOptions & { multiple?: false; directory?: false }
+ options?: OpenDialogOptions & { multiple?: false; directory?: false },
): Promise;
async function open(
- options?: OpenDialogOptions & { multiple?: true; directory?: false }
+ options?: OpenDialogOptions & { multiple?: true; directory?: false },
): Promise;
async function open(
- options?: OpenDialogOptions & { multiple?: false; directory?: true }
+ options?: OpenDialogOptions & { multiple?: false; directory?: true },
): Promise;
async function open(
- options?: OpenDialogOptions & { multiple?: true; directory?: true }
+ options?: OpenDialogOptions & { multiple?: true; directory?: true },
): Promise;
/**
* Open a file/directory selection dialog.
@@ -125,7 +125,7 @@ async function open(
* You can save it to the filesystem using [tauri-plugin-persisted-scope](https://github.com/tauri-apps/tauri-plugin-persisted-scope).
* @example
* ```typescript
- * import { open } from '@tauri-apps/api/dialog';
+ * import { open } from '@tauri-apps/plugin-dialog';
* // Open a selection dialog for image files
* const selected = await open({
* multiple: true,
@@ -145,7 +145,7 @@ async function open(
*
* @example
* ```typescript
- * import { open } from '@tauri-apps/api/dialog';
+ * import { open } from '@tauri-apps/plugin-dialog';
* import { appDir } from '@tauri-apps/api/path';
* // Open a selection dialog for directories
* const selected = await open({
@@ -167,7 +167,7 @@ async function open(
* @since 2.0.0
*/
async function open(
- options: OpenDialogOptions = {}
+ options: OpenDialogOptions = {},
): Promise {
if (typeof options === "object") {
Object.freeze(options);
@@ -187,7 +187,7 @@ async function open(
* You can save it to the filesystem using [tauri-plugin-persisted-scope](https://github.com/tauri-apps/tauri-plugin-persisted-scope).
* @example
* ```typescript
- * import { save } from '@tauri-apps/api/dialog';
+ * import { save } from '@tauri-apps/plugin-dialog';
* const filePath = await save({
* filters: [{
* name: 'Image',
@@ -212,7 +212,7 @@ async function save(options: SaveDialogOptions = {}): Promise {
* Shows a message dialog with an `Ok` button.
* @example
* ```typescript
- * import { message } from '@tauri-apps/api/dialog';
+ * import { message } from '@tauri-apps/plugin-dialog';
* await message('Tauri is awesome', 'Tauri');
* await message('File not found', { title: 'Tauri', type: 'error' });
* ```
@@ -227,7 +227,7 @@ async function save(options: SaveDialogOptions = {}): Promise {
*/
async function message(
message: string,
- options?: string | MessageDialogOptions
+ options?: string | MessageDialogOptions,
): Promise {
const opts = typeof options === "string" ? { title: options } : options;
return window.__TAURI_INVOKE__("plugin:dialog|message", {
@@ -242,7 +242,7 @@ async function message(
* Shows a question dialog with `Yes` and `No` buttons.
* @example
* ```typescript
- * import { ask } from '@tauri-apps/api/dialog';
+ * import { ask } from '@tauri-apps/plugin-dialog';
* const yes = await ask('Are you sure?', 'Tauri');
* const yes2 = await ask('This action cannot be reverted. Are you sure?', { title: 'Tauri', type: 'warning' });
* ```
@@ -256,7 +256,7 @@ async function message(
*/
async function ask(
message: string,
- options?: string | ConfirmDialogOptions
+ options?: string | ConfirmDialogOptions,
): Promise {
const opts = typeof options === "string" ? { title: options } : options;
return window.__TAURI_INVOKE__("plugin:dialog|ask", {
@@ -272,7 +272,7 @@ async function ask(
* Shows a question dialog with `Ok` and `Cancel` buttons.
* @example
* ```typescript
- * import { confirm } from '@tauri-apps/api/dialog';
+ * import { confirm } from '@tauri-apps/plugin-dialog';
* const confirmed = await confirm('Are you sure?', 'Tauri');
* const confirmed2 = await confirm('This action cannot be reverted. Are you sure?', { title: 'Tauri', type: 'warning' });
* ```
@@ -286,7 +286,7 @@ async function ask(
*/
async function confirm(
message: string,
- options?: string | ConfirmDialogOptions
+ options?: string | ConfirmDialogOptions,
): Promise {
const opts = typeof options === "string" ? { title: options } : options;
return window.__TAURI_INVOKE__("plugin:dialog|confirm", {
diff --git a/plugins/dialog/rollup.config.mjs b/plugins/dialog/rollup.config.mjs
index 6555e98b..99a3dd31 100644
--- a/plugins/dialog/rollup.config.mjs
+++ b/plugins/dialog/rollup.config.mjs
@@ -5,7 +5,7 @@ import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
- readFileSync(new URL("./package.json", import.meta.url), "utf8")
+ readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
diff --git a/plugins/dialog/src/desktop.rs b/plugins/dialog/src/desktop.rs
index 25222f91..4cd02bcd 100644
--- a/plugins/dialog/src/desktop.rs
+++ b/plugins/dialog/src/desktop.rs
@@ -23,6 +23,11 @@ type FileDialog = rfd::FileDialog;
#[cfg(not(target_os = "linux"))]
type FileDialog = rfd::AsyncFileDialog;
+#[cfg(target_os = "linux")]
+type MessageDialog = rfd::MessageDialog;
+#[cfg(not(target_os = "linux"))]
+type MessageDialog = rfd::AsyncMessageDialog;
+
pub fn init(
app: &AppHandle,
_api: PluginApi,
@@ -50,7 +55,7 @@ impl Dialog {
macro_rules! run_dialog {
($e:expr, $h: ident) => {{
std::thread::spawn(move || {
- let response = $e;
+ let response = tauri::async_runtime::block_on($e);
$h(response);
});
}};
@@ -136,9 +141,9 @@ impl From> for FileDialog {
}
}
-impl From> for rfd::MessageDialog {
+impl From> for MessageDialog {
fn from(d: MessageDialogBuilder) -> Self {
- let mut dialog = rfd::MessageDialog::new()
+ let mut dialog = MessageDialog::new()
.set_title(&d.title)
.set_description(&d.message)
.set_level(d.kind.into());
@@ -215,5 +220,5 @@ pub fn show_message_dialog(
dialog: MessageDialogBuilder,
f: F,
) {
- run_dialog!(rfd::MessageDialog::from(dialog).show(), f);
+ run_dialog!(MessageDialog::from(dialog).show(), f);
}
diff --git a/plugins/dialog/src/lib.rs b/plugins/dialog/src/lib.rs
index 8353b71c..ba08b645 100644
--- a/plugins/dialog/src/lib.rs
+++ b/plugins/dialog/src/lib.rs
@@ -2,6 +2,15 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
+//! [](https://github.com/tauri-apps/plugins-workspace/tree/v2/plugins/dialog)
+//!
+//! Native system dialogs for opening and saving files along with message dialogs.
+
+#![doc(
+ html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png"
+)]
+
use serde::{Deserialize, Serialize};
use tauri::{
plugin::{Builder, TauriPlugin},
@@ -200,7 +209,9 @@ impl MessageDialogBuilder {
show_message_dialog(self, f)
}
- //// Shows a message dialog.
+ /// Shows a message dialog.
+ /// This is a blocking operation,
+ /// and should *NOT* be used when running on the main thread context.
pub fn blocking_show(self) -> bool {
blocking_fn!(self, show)
}
diff --git a/plugins/fs/README.md b/plugins/fs/README.md
index 24501a34..b687b687 100644
--- a/plugins/fs/README.md
+++ b/plugins/fs/README.md
@@ -1,4 +1,4 @@
-
+
Access the file system.
diff --git a/plugins/fs/guest-js/index.ts b/plugins/fs/guest-js/index.ts
index af4d2e84..06ce4b37 100644
--- a/plugins/fs/guest-js/index.ts
+++ b/plugins/fs/guest-js/index.ts
@@ -229,7 +229,7 @@ interface FileEntry {
*/
async function readTextFile(
filePath: string,
- options: FsOptions = {}
+ options: FsOptions = {},
): Promise {
return await window.__TAURI_INVOKE__("plugin:fs|read_text_file", {
path: filePath,
@@ -250,7 +250,7 @@ async function readTextFile(
*/
async function readBinaryFile(
filePath: string,
- options: FsOptions = {}
+ options: FsOptions = {},
): Promise {
const arr = await window.__TAURI_INVOKE__("plugin:fs|read_file", {
path: filePath,
@@ -274,7 +274,7 @@ async function readBinaryFile(
async function writeTextFile(
path: string,
contents: string,
- options?: FsOptions
+ options?: FsOptions,
): Promise;
/**
@@ -291,7 +291,7 @@ async function writeTextFile(
*/
async function writeTextFile(
file: FsTextFileOption,
- options?: FsOptions
+ options?: FsOptions,
): Promise;
/**
@@ -304,7 +304,7 @@ async function writeTextFile(
async function writeTextFile(
path: string | FsTextFileOption,
contents?: string | FsOptions,
- options?: FsOptions
+ options?: FsOptions,
): Promise {
if (typeof options === "object") {
Object.freeze(options);
@@ -352,7 +352,7 @@ async function writeTextFile(
async function writeBinaryFile(
path: string,
contents: BinaryFileContents,
- options?: FsOptions
+ options?: FsOptions,
): Promise;
/**
@@ -372,7 +372,7 @@ async function writeBinaryFile(
*/
async function writeBinaryFile(
file: FsBinaryFileOption,
- options?: FsOptions
+ options?: FsOptions,
): Promise;
/**
@@ -385,7 +385,7 @@ async function writeBinaryFile(
async function writeBinaryFile(
path: string | FsBinaryFileOption,
contents?: BinaryFileContents | FsOptions,
- options?: FsOptions
+ options?: FsOptions,
): Promise {
if (typeof options === "object") {
Object.freeze(options);
@@ -410,12 +410,12 @@ async function writeBinaryFile(
file.contents = contents ?? [];
}
- return await window.__TAURI_INVOKE__("plugin:fs|write_binary_file", {
+ return await window.__TAURI_INVOKE__("plugin:fs|write_file", {
path: file.path,
contents: Array.from(
file.contents instanceof ArrayBuffer
? new Uint8Array(file.contents)
- : file.contents
+ : file.contents,
),
options: fileOptions,
});
@@ -443,7 +443,7 @@ async function writeBinaryFile(
*/
async function readDir(
dir: string,
- options: FsDirOptions = {}
+ options: FsDirOptions = {},
): Promise {
return await window.__TAURI_INVOKE__("plugin:fs|read_dir", {
path: dir,
@@ -468,7 +468,7 @@ async function readDir(
*/
async function createDir(
dir: string,
- options: FsDirOptions = {}
+ options: FsDirOptions = {},
): Promise {
return await window.__TAURI_INVOKE__("plugin:fs|create_dir", {
path: dir,
@@ -492,7 +492,7 @@ async function createDir(
*/
async function removeDir(
dir: string,
- options: FsDirOptions = {}
+ options: FsDirOptions = {},
): Promise {
return await window.__TAURI_INVOKE__("plugin:fs|remove_dir", {
path: dir,
@@ -516,7 +516,7 @@ async function removeDir(
async function copyFile(
source: string,
destination: string,
- options: FsOptions = {}
+ options: FsOptions = {},
): Promise {
return await window.__TAURI_INVOKE__("plugin:fs|copy_file", {
source,
@@ -540,7 +540,7 @@ async function copyFile(
*/
async function removeFile(
file: string,
- options: FsOptions = {}
+ options: FsOptions = {},
): Promise {
return await window.__TAURI_INVOKE__("plugin:fs|remove_file", {
path: file,
@@ -564,7 +564,7 @@ async function removeFile(
async function renameFile(
oldPath: string,
newPath: string,
- options: FsOptions = {}
+ options: FsOptions = {},
): Promise {
return await window.__TAURI_INVOKE__("plugin:fs|rename_file", {
oldPath,
diff --git a/plugins/fs/rollup.config.mjs b/plugins/fs/rollup.config.mjs
index 6555e98b..99a3dd31 100644
--- a/plugins/fs/rollup.config.mjs
+++ b/plugins/fs/rollup.config.mjs
@@ -5,7 +5,7 @@ import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
- readFileSync(new URL("./package.json", import.meta.url), "utf8")
+ readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
diff --git a/plugins/fs/src/api-iife.js b/plugins/fs/src/api-iife.js
index 64aae16a..6bc30442 100644
--- a/plugins/fs/src/api-iife.js
+++ b/plugins/fs/src/api-iife.js
@@ -1 +1 @@
-if("__TAURI__"in window){var __TAURI_FS__=function(e){"use strict";var t=Object.defineProperty,n=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},r=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},i=(e,t,n)=>(r(e,t,"read from private field"),n?n.call(e):t.get(e)),o=(e,t,n,i)=>(r(e,t,"write to private field"),i?i.call(e,n):t.set(e,n),n);function a(e,t=!1){let n=window.crypto.getRandomValues(new Uint32Array(1))[0],r=`_${n}`;return Object.defineProperty(window,r,{value:n=>(t&&Reflect.deleteProperty(window,r),e?.(n)),writable:!1,configurable:!0}),n}n({},{Channel:()=>s,PluginListener:()=>u,addPluginListener:()=>p,convertFileSrc:()=>_,invoke:()=>l,transformCallback:()=>a});var c,s=class{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,((e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)})(this,c,(()=>{})),this.id=a((e=>{i(this,c).call(this,e)}))}set onmessage(e){o(this,c,e)}get onmessage(){return i(this,c)}toJSON(){return`__CHANNEL__:${this.id}`}};c=new WeakMap;var u=class{constructor(e,t,n){this.plugin=e,this.event=t,this.channelId=n}async unregister(){return l(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}};async function p(e,t,n){let r=new s;return r.onmessage=n,l(`plugin:${e}|register_listener`,{event:t,handler:r}).then((()=>new u(e,t,r.id)))}async function l(e,t={}){return new Promise(((n,r)=>{let i=a((e=>{n(e),Reflect.deleteProperty(window,`_${o}`)}),!0),o=a((e=>{r(e),Reflect.deleteProperty(window,`_${i}`)}),!0);window.__TAURI_IPC__({cmd:e,callback:i,error:o,...t})}))}function _(e,t="asset"){let n=encodeURIComponent(e);return navigator.userAgent.includes("Windows")?`https://${t}.localhost/${n}`:`${t}://localhost/${n}`}n({},{BaseDirectory:()=>y,appCacheDir:()=>g,appConfigDir:()=>f,appDataDir:()=>h,appLocalDataDir:()=>w,appLogDir:()=>x,audioDir:()=>m,basename:()=>W,cacheDir:()=>v,configDir:()=>A,dataDir:()=>D,delimiter:()=>k,desktopDir:()=>I,dirname:()=>S,documentDir:()=>R,downloadDir:()=>T,executableDir:()=>b,extname:()=>H,fontDir:()=>U,homeDir:()=>E,isAbsolute:()=>J,join:()=>M,localDataDir:()=>O,normalize:()=>B,pictureDir:()=>C,publicDir:()=>N,resolve:()=>z,resolveResource:()=>V,resourceDir:()=>P,runtimeDir:()=>j,sep:()=>$,tempDir:()=>L,templateDir:()=>F,videoDir:()=>K});var d,y=((d=y||{})[d.Audio=1]="Audio",d[d.Cache=2]="Cache",d[d.Config=3]="Config",d[d.Data=4]="Data",d[d.LocalData=5]="LocalData",d[d.Document=6]="Document",d[d.Download=7]="Download",d[d.Picture=8]="Picture",d[d.Public=9]="Public",d[d.Video=10]="Video",d[d.Resource=11]="Resource",d[d.Temp=12]="Temp",d[d.AppConfig=13]="AppConfig",d[d.AppData=14]="AppData",d[d.AppLocalData=15]="AppLocalData",d[d.AppCache=16]="AppCache",d[d.AppLog=17]="AppLog",d[d.Desktop=18]="Desktop",d[d.Executable=19]="Executable",d[d.Font=20]="Font",d[d.Home=21]="Home",d[d.Runtime=22]="Runtime",d[d.Template=23]="Template",d);async function f(){return l("plugin:path|resolve_directory",{directory:13})}async function h(){return l("plugin:path|resolve_directory",{directory:14})}async function w(){return l("plugin:path|resolve_directory",{directory:15})}async function g(){return l("plugin:path|resolve_directory",{directory:16})}async function m(){return l("plugin:path|resolve_directory",{directory:1})}async function v(){return l("plugin:path|resolve_directory",{directory:2})}async function A(){return l("plugin:path|resolve_directory",{directory:3})}async function D(){return l("plugin:path|resolve_directory",{directory:4})}async function I(){return l("plugin:path|resolve_directory",{directory:18})}async function R(){return l("plugin:path|resolve_directory",{directory:6})}async function T(){return l("plugin:path|resolve_directory",{directory:7})}async function b(){return l("plugin:path|resolve_directory",{directory:19})}async function U(){return l("plugin:path|resolve_directory",{directory:20})}async function E(){return l("plugin:path|resolve_directory",{directory:21})}async function O(){return l("plugin:path|resolve_directory",{directory:5})}async function C(){return l("plugin:path|resolve_directory",{directory:8})}async function N(){return l("plugin:path|resolve_directory",{directory:9})}async function P(){return l("plugin:path|resolve_directory",{directory:11})}async function V(e){return l("plugin:path|resolve_directory",{directory:11,path:e})}async function j(){return l("plugin:path|resolve_directory",{directory:22})}async function F(){return l("plugin:path|resolve_directory",{directory:23})}async function K(){return l("plugin:path|resolve_directory",{directory:10})}async function x(){return l("plugin:path|resolve_directory",{directory:17})}async function L(e){return l("plugin:path|resolve_directory",{directory:12})}function $(){return window.__TAURI__.path.__sep}function k(){return window.__TAURI__.path.__delimiter}async function z(...e){return l("plugin:path|resolve",{paths:e})}async function B(e){return l("plugin:path|normalize",{path:e})}async function M(...e){return l("plugin:path|join",{paths:e})}async function S(e){return l("plugin:path|dirname",{path:e})}async function H(e){return l("plugin:path|extname",{path:e})}async function W(e,t){return l("plugin:path|basename",{path:e,ext:t})}async function J(e){return l("plugin:path|isAbsolute",{path:e})}async function q(e,t,n){"object"==typeof n&&Object.freeze(n),"object"==typeof e&&Object.freeze(e);const r={path:"",contents:""};let i=n;return"string"==typeof e?r.path=e:(r.path=e.path,r.contents=e.contents),"string"==typeof t?r.contents=null!=t?t:"":i=t,await window.__TAURI_INVOKE__("plugin:fs|write_file",{path:r.path,contents:Array.from((new TextEncoder).encode(r.contents)),options:i})}return e.BaseDirectory=y,e.Dir=y,e.copyFile=async function(e,t,n={}){return await window.__TAURI_INVOKE__("plugin:fs|copy_file",{source:e,destination:t,options:n})},e.createDir=async function(e,t={}){return await window.__TAURI_INVOKE__("plugin:fs|create_dir",{path:e,options:t})},e.exists=async function(e){return await window.__TAURI_INVOKE__("plugin:fs|exists",{path:e})},e.metadata=async function(e){return await window.__TAURI_INVOKE__("plugin:fs|metadata",{path:e}).then((e=>{const{accessedAtMs:t,createdAtMs:n,modifiedAtMs:r,...i}=e;return{accessedAt:new Date(t),createdAt:new Date(n),modifiedAt:new Date(r),...i}}))},e.readBinaryFile=async function(e,t={}){const n=await window.__TAURI_INVOKE__("plugin:fs|read_file",{path:e,options:t});return Uint8Array.from(n)},e.readDir=async function(e,t={}){return await window.__TAURI_INVOKE__("plugin:fs|read_dir",{path:e,options:t})},e.readTextFile=async function(e,t={}){return await window.__TAURI_INVOKE__("plugin:fs|read_text_file",{path:e,options:t})},e.removeDir=async function(e,t={}){return await window.__TAURI_INVOKE__("plugin:fs|remove_dir",{path:e,options:t})},e.removeFile=async function(e,t={}){return await window.__TAURI_INVOKE__("plugin:fs|remove_file",{path:e,options:t})},e.renameFile=async function(e,t,n={}){return await window.__TAURI_INVOKE__("plugin:fs|rename_file",{oldPath:e,newPath:t,options:n})},e.writeBinaryFile=async function(e,t,n){"object"==typeof n&&Object.freeze(n),"object"==typeof e&&Object.freeze(e);const r={path:"",contents:[]};let i=n;return"string"==typeof e?r.path=e:(r.path=e.path,r.contents=e.contents),t&&"dir"in t?i=t:"string"==typeof e&&(r.contents=null!=t?t:[]),await window.__TAURI_INVOKE__("plugin:fs|write_binary_file",{path:r.path,contents:Array.from(r.contents instanceof ArrayBuffer?new Uint8Array(r.contents):r.contents),options:i})},e.writeFile=q,e.writeTextFile=q,e}({});Object.defineProperty(window.__TAURI__,"fs",{value:__TAURI_FS__})}
+if("__TAURI__"in window){var __TAURI_FS__=function(e){"use strict";var t=Object.defineProperty,n=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},r=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},i=(e,t,n)=>(r(e,t,"read from private field"),n?n.call(e):t.get(e)),o=(e,t,n,i)=>(r(e,t,"write to private field"),i?i.call(e,n):t.set(e,n),n);function a(e,t=!1){let n=window.crypto.getRandomValues(new Uint32Array(1))[0],r=`_${n}`;return Object.defineProperty(window,r,{value:n=>(t&&Reflect.deleteProperty(window,r),e?.(n)),writable:!1,configurable:!0}),n}n({},{Channel:()=>s,PluginListener:()=>u,addPluginListener:()=>p,convertFileSrc:()=>_,invoke:()=>l,transformCallback:()=>a});var c,s=class{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,((e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)})(this,c,(()=>{})),this.id=a((e=>{i(this,c).call(this,e)}))}set onmessage(e){o(this,c,e)}get onmessage(){return i(this,c)}toJSON(){return`__CHANNEL__:${this.id}`}};c=new WeakMap;var u=class{constructor(e,t,n){this.plugin=e,this.event=t,this.channelId=n}async unregister(){return l(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}};async function p(e,t,n){let r=new s;return r.onmessage=n,l(`plugin:${e}|register_listener`,{event:t,handler:r}).then((()=>new u(e,t,r.id)))}async function l(e,t={}){return new Promise(((n,r)=>{let i=a((e=>{n(e),Reflect.deleteProperty(window,`_${o}`)}),!0),o=a((e=>{r(e),Reflect.deleteProperty(window,`_${i}`)}),!0);window.__TAURI_IPC__({cmd:e,callback:i,error:o,...t})}))}function _(e,t="asset"){let n=encodeURIComponent(e);return navigator.userAgent.includes("Windows")?`https://${t}.localhost/${n}`:`${t}://localhost/${n}`}n({},{BaseDirectory:()=>y,appCacheDir:()=>g,appConfigDir:()=>f,appDataDir:()=>h,appLocalDataDir:()=>w,appLogDir:()=>x,audioDir:()=>m,basename:()=>W,cacheDir:()=>v,configDir:()=>A,dataDir:()=>D,delimiter:()=>k,desktopDir:()=>I,dirname:()=>S,documentDir:()=>R,downloadDir:()=>T,executableDir:()=>b,extname:()=>H,fontDir:()=>U,homeDir:()=>E,isAbsolute:()=>J,join:()=>M,localDataDir:()=>O,normalize:()=>B,pictureDir:()=>C,publicDir:()=>N,resolve:()=>z,resolveResource:()=>V,resourceDir:()=>P,runtimeDir:()=>j,sep:()=>$,tempDir:()=>L,templateDir:()=>F,videoDir:()=>K});var d,y=((d=y||{})[d.Audio=1]="Audio",d[d.Cache=2]="Cache",d[d.Config=3]="Config",d[d.Data=4]="Data",d[d.LocalData=5]="LocalData",d[d.Document=6]="Document",d[d.Download=7]="Download",d[d.Picture=8]="Picture",d[d.Public=9]="Public",d[d.Video=10]="Video",d[d.Resource=11]="Resource",d[d.Temp=12]="Temp",d[d.AppConfig=13]="AppConfig",d[d.AppData=14]="AppData",d[d.AppLocalData=15]="AppLocalData",d[d.AppCache=16]="AppCache",d[d.AppLog=17]="AppLog",d[d.Desktop=18]="Desktop",d[d.Executable=19]="Executable",d[d.Font=20]="Font",d[d.Home=21]="Home",d[d.Runtime=22]="Runtime",d[d.Template=23]="Template",d);async function f(){return l("plugin:path|resolve_directory",{directory:13})}async function h(){return l("plugin:path|resolve_directory",{directory:14})}async function w(){return l("plugin:path|resolve_directory",{directory:15})}async function g(){return l("plugin:path|resolve_directory",{directory:16})}async function m(){return l("plugin:path|resolve_directory",{directory:1})}async function v(){return l("plugin:path|resolve_directory",{directory:2})}async function A(){return l("plugin:path|resolve_directory",{directory:3})}async function D(){return l("plugin:path|resolve_directory",{directory:4})}async function I(){return l("plugin:path|resolve_directory",{directory:18})}async function R(){return l("plugin:path|resolve_directory",{directory:6})}async function T(){return l("plugin:path|resolve_directory",{directory:7})}async function b(){return l("plugin:path|resolve_directory",{directory:19})}async function U(){return l("plugin:path|resolve_directory",{directory:20})}async function E(){return l("plugin:path|resolve_directory",{directory:21})}async function O(){return l("plugin:path|resolve_directory",{directory:5})}async function C(){return l("plugin:path|resolve_directory",{directory:8})}async function N(){return l("plugin:path|resolve_directory",{directory:9})}async function P(){return l("plugin:path|resolve_directory",{directory:11})}async function V(e){return l("plugin:path|resolve_directory",{directory:11,path:e})}async function j(){return l("plugin:path|resolve_directory",{directory:22})}async function F(){return l("plugin:path|resolve_directory",{directory:23})}async function K(){return l("plugin:path|resolve_directory",{directory:10})}async function x(){return l("plugin:path|resolve_directory",{directory:17})}async function L(e){return l("plugin:path|resolve_directory",{directory:12})}function $(){return window.__TAURI__.path.__sep}function k(){return window.__TAURI__.path.__delimiter}async function z(...e){return l("plugin:path|resolve",{paths:e})}async function B(e){return l("plugin:path|normalize",{path:e})}async function M(...e){return l("plugin:path|join",{paths:e})}async function S(e){return l("plugin:path|dirname",{path:e})}async function H(e){return l("plugin:path|extname",{path:e})}async function W(e,t){return l("plugin:path|basename",{path:e,ext:t})}async function J(e){return l("plugin:path|isAbsolute",{path:e})}async function q(e,t,n){"object"==typeof n&&Object.freeze(n),"object"==typeof e&&Object.freeze(e);const r={path:"",contents:""};let i=n;return"string"==typeof e?r.path=e:(r.path=e.path,r.contents=e.contents),"string"==typeof t?r.contents=null!=t?t:"":i=t,await window.__TAURI_INVOKE__("plugin:fs|write_file",{path:r.path,contents:Array.from((new TextEncoder).encode(r.contents)),options:i})}return e.BaseDirectory=y,e.Dir=y,e.copyFile=async function(e,t,n={}){return await window.__TAURI_INVOKE__("plugin:fs|copy_file",{source:e,destination:t,options:n})},e.createDir=async function(e,t={}){return await window.__TAURI_INVOKE__("plugin:fs|create_dir",{path:e,options:t})},e.exists=async function(e){return await window.__TAURI_INVOKE__("plugin:fs|exists",{path:e})},e.metadata=async function(e){return await window.__TAURI_INVOKE__("plugin:fs|metadata",{path:e}).then((e=>{const{accessedAtMs:t,createdAtMs:n,modifiedAtMs:r,...i}=e;return{accessedAt:new Date(t),createdAt:new Date(n),modifiedAt:new Date(r),...i}}))},e.readBinaryFile=async function(e,t={}){const n=await window.__TAURI_INVOKE__("plugin:fs|read_file",{path:e,options:t});return Uint8Array.from(n)},e.readDir=async function(e,t={}){return await window.__TAURI_INVOKE__("plugin:fs|read_dir",{path:e,options:t})},e.readTextFile=async function(e,t={}){return await window.__TAURI_INVOKE__("plugin:fs|read_text_file",{path:e,options:t})},e.removeDir=async function(e,t={}){return await window.__TAURI_INVOKE__("plugin:fs|remove_dir",{path:e,options:t})},e.removeFile=async function(e,t={}){return await window.__TAURI_INVOKE__("plugin:fs|remove_file",{path:e,options:t})},e.renameFile=async function(e,t,n={}){return await window.__TAURI_INVOKE__("plugin:fs|rename_file",{oldPath:e,newPath:t,options:n})},e.writeBinaryFile=async function(e,t,n){"object"==typeof n&&Object.freeze(n),"object"==typeof e&&Object.freeze(e);const r={path:"",contents:[]};let i=n;return"string"==typeof e?r.path=e:(r.path=e.path,r.contents=e.contents),t&&"dir"in t?i=t:"string"==typeof e&&(r.contents=null!=t?t:[]),await window.__TAURI_INVOKE__("plugin:fs|write_file",{path:r.path,contents:Array.from(r.contents instanceof ArrayBuffer?new Uint8Array(r.contents):r.contents),options:i})},e.writeFile=q,e.writeTextFile=q,e}({});Object.defineProperty(window.__TAURI__,"fs",{value:__TAURI_FS__})}
diff --git a/plugins/fs/src/lib.rs b/plugins/fs/src/lib.rs
index 9156661f..aab60ce9 100644
--- a/plugins/fs/src/lib.rs
+++ b/plugins/fs/src/lib.rs
@@ -2,6 +2,15 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
+//! [](https://github.com/tauri-apps/plugins-workspace/tree/v2/plugins/fs)
+//!
+//! Access the file system.
+
+#![doc(
+ html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png"
+)]
+
use config::FsScope;
use tauri::{
plugin::{Builder as PluginBuilder, TauriPlugin},
diff --git a/plugins/global-shortcut/README.md b/plugins/global-shortcut/README.md
index 7c5097ce..b969ccdc 100644
--- a/plugins/global-shortcut/README.md
+++ b/plugins/global-shortcut/README.md
@@ -1,4 +1,4 @@
-
+
Register global shortcuts.
diff --git a/plugins/global-shortcut/guest-js/index.ts b/plugins/global-shortcut/guest-js/index.ts
index 16ef0055..541530c4 100644
--- a/plugins/global-shortcut/guest-js/index.ts
+++ b/plugins/global-shortcut/guest-js/index.ts
@@ -36,7 +36,7 @@ export type ShortcutHandler = (shortcut: string) => void;
*/
async function register(
shortcut: string,
- handler: ShortcutHandler
+ handler: ShortcutHandler,
): Promise {
return await window.__TAURI_INVOKE__("plugin:globalShortcut|register", {
shortcut,
@@ -61,7 +61,7 @@ async function register(
*/
async function registerAll(
shortcuts: string[],
- handler: ShortcutHandler
+ handler: ShortcutHandler,
): Promise {
return await window.__TAURI_INVOKE__("plugin:globalShortcut|register_all", {
shortcuts,
diff --git a/plugins/global-shortcut/rollup.config.mjs b/plugins/global-shortcut/rollup.config.mjs
index 6555e98b..99a3dd31 100644
--- a/plugins/global-shortcut/rollup.config.mjs
+++ b/plugins/global-shortcut/rollup.config.mjs
@@ -5,7 +5,7 @@ import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
- readFileSync(new URL("./package.json", import.meta.url), "utf8")
+ readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
diff --git a/plugins/global-shortcut/src/lib.rs b/plugins/global-shortcut/src/lib.rs
index 86fb28dd..96fab9d8 100644
--- a/plugins/global-shortcut/src/lib.rs
+++ b/plugins/global-shortcut/src/lib.rs
@@ -2,6 +2,16 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
+//! [](https://github.com/tauri-apps/plugins-workspace/tree/v2/plugins/global-shortcut)
+//!
+//! Register global shortcuts.
+//!
+//! - Supported platforms: Windows, Linux and macOS.
+
+#![doc(
+ html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png"
+)]
#![cfg(not(any(target_os = "android", target_os = "ios")))]
use std::{
diff --git a/plugins/http/Cargo.toml b/plugins/http/Cargo.toml
index f1fb6082..95f74bfe 100644
--- a/plugins/http/Cargo.toml
+++ b/plugins/http/Cargo.toml
@@ -13,14 +13,28 @@ tauri = { workspace = true }
thiserror = { workspace = true }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-alpha.0" }
glob = "0.3"
-rand = "0.8"
-bytes = { version = "1", features = [ "serde" ] }
-serde_repr = "0.1"
http = "0.2"
-reqwest = { version = "0.11", default-features = false, features = [ "json", "stream" ] }
+reqwest = { version = "0.11", default-features = false }
+url = "2.4"
+data-url = "0.3"
[features]
-multipart = [ "reqwest/multipart" ]
-native-tls = [ "reqwest/native-tls" ]
-native-tls-vendored = [ "reqwest/native-tls-vendored" ]
-rustls-tls = [ "reqwest/rustls-tls" ]
+multipart = ["reqwest/multipart"]
+json = ["reqwest/json"]
+stream = ["reqwest/stream"]
+native-tls = ["reqwest/native-tls"]
+native-tls-vendored = ["reqwest/native-tls-vendored"]
+rustls-tls = ["reqwest/rustls-tls"]
+default-tls = ["reqwest/default-tls"]
+native-tls-alpn = ["reqwest/native-tls-alpn"]
+rustls-tls-manual-roots = ["reqwest/rustls-tls-manual-roots"]
+rustls-tls-webpki-roots = ["reqwest/rustls-tls-webpki-roots"]
+rustls-tls-native-roots = ["reqwest/rustls-tls-native-roots"]
+blocking = ["reqwest/blocking"]
+cookies = ["reqwest/cookies"]
+gzip = ["reqwest/gzip"]
+brotli = ["reqwest/brotli"]
+deflate = ["reqwest/deflate"]
+trust-dns = ["reqwest/trust-dns"]
+socks = ["reqwest/socks"]
+http3 = ["reqwest/http3"]
diff --git a/plugins/http/README.md b/plugins/http/README.md
index 54532243..148fe7e2 100644
--- a/plugins/http/README.md
+++ b/plugins/http/README.md
@@ -1,4 +1,4 @@
-
+
Access the HTTP client written in Rust.
diff --git a/plugins/http/guest-js/index.ts b/plugins/http/guest-js/index.ts
index 60378402..e991076f 100644
--- a/plugins/http/guest-js/index.ts
+++ b/plugins/http/guest-js/index.ts
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: MIT
/**
- * Access the HTTP client written in Rust.
+ * Make HTTP requests with the Rust backend.
*
* ## Security
*
@@ -31,518 +31,94 @@ declare global {
}
/**
+ * Options to configure the Rust client used to make fetch requests
+ *
* @since 2.0.0
*/
-interface Duration {
- secs: number;
- nanos: number;
-}
-
-/**
- * @since 2.0.0
- */
-interface ClientOptions {
+export interface ClientOptions {
/**
* Defines the maximum number of redirects the client should follow.
* If set to 0, no redirects will be followed.
*/
maxRedirections?: number;
- connectTimeout?: number | Duration;
+ /** Timeout in milliseconds */
+ connectTimeout?: number;
}
/**
- * @since 2.0.0
- */
-enum ResponseType {
- JSON = 1,
- Text = 2,
- Binary = 3,
-}
-
-/**
- * @since 2.0.0
- */
-interface FilePart {
- file: string | T;
- mime?: string;
- fileName?: string;
-}
-
-type Part = string | Uint8Array | FilePart;
-
-/**
- * The body object to be used on POST and PUT requests.
+ * Fetch a resource from the network. It returns a `Promise` that resolves to the
+ * `Response` to that `Request`, whether it is successful or not.
*
- * @since 2.0.0
- */
-class Body {
- type: string;
- payload: unknown;
-
- /** @ignore */
- private constructor(type: string, payload: unknown) {
- this.type = type;
- this.payload = payload;
- }
-
- /**
- * Creates a new form data body. The form data is an object where each key is the entry name,
- * and the value is either a string or a file object.
- *
- * By default it sets the `application/x-www-form-urlencoded` Content-Type header,
- * but you can set it to `multipart/form-data` if the Cargo feature `multipart` is enabled.
- *
- * Note that a file path must be allowed in the `fs` scope.
- * @example
- * ```typescript
- * import { Body } from "@tauri-apps/plugin-http"
- * const body = Body.form({
- * key: 'value',
- * image: {
- * file: '/path/to/file', // either a path or an array buffer of the file contents
- * mime: 'image/jpeg', // optional
- * fileName: 'image.jpg' // optional
- * }
- * });
- *
- * // alternatively, use a FormData:
- * const form = new FormData();
- * form.append('key', 'value');
- * form.append('image', file, 'image.png');
- * const formBody = Body.form(form);
- * ```
- *
- * @param data The body data.
- *
- * @returns The body object ready to be used on the POST and PUT requests.
- *
- * @since 2.0.0
- */
- static form(data: Record | FormData): Body {
- const form: Record> = {};
-
- const append = (
- key: string,
- v: string | Uint8Array | FilePart | File
- ): void => {
- if (v !== null) {
- let r;
- if (typeof v === "string") {
- r = v;
- } else if (v instanceof Uint8Array || Array.isArray(v)) {
- r = Array.from(v);
- } else if (v instanceof File) {
- r = { file: v.name, mime: v.type, fileName: v.name };
- } else if (typeof v.file === "string") {
- r = { file: v.file, mime: v.mime, fileName: v.fileName };
- } else {
- r = { file: Array.from(v.file), mime: v.mime, fileName: v.fileName };
- }
- form[String(key)] = r;
- }
- };
-
- if (data instanceof FormData) {
- for (const [key, value] of data) {
- append(key, value);
- }
- } else {
- for (const [key, value] of Object.entries(data)) {
- append(key, value);
- }
- }
- return new Body("Form", form);
- }
-
- /**
- * Creates a new JSON body.
- * @example
- * ```typescript
- * import { Body } from "@tauri-apps/plugin-http"
- * Body.json({
- * registered: true,
- * name: 'tauri'
- * });
- * ```
- *
- * @param data The body JSON object.
- *
- * @returns The body object ready to be used on the POST and PUT requests.
- *
- * @since 2.0.0
- */
- static json(data: Record): Body {
- return new Body("Json", data);
- }
-
- /**
- * Creates a new UTF-8 string body.
- * @example
- * ```typescript
- * import { Body } from "@tauri-apps/plugin-http"
- * Body.text('The body content as a string');
- * ```
- *
- * @param value The body string.
- *
- * @returns The body object ready to be used on the POST and PUT requests.
- *
- * @since 2.0.0
- */
- static text(value: string): Body {
- return new Body("Text", value);
- }
-
- /**
- * Creates a new byte array body.
- * @example
- * ```typescript
- * import { Body } from "@tauri-apps/plugin-http"
- * Body.bytes(new Uint8Array([1, 2, 3]));
- * ```
- *
- * @param bytes The body byte array.
- *
- * @returns The body object ready to be used on the POST and PUT requests.
- *
- * @since 2.0.0
- */
- static bytes(
- bytes: Iterable | ArrayLike | ArrayBuffer
- ): Body {
- // stringifying Uint8Array doesn't return an array of numbers, so we create one here
- return new Body(
- "Bytes",
- Array.from(bytes instanceof ArrayBuffer ? new Uint8Array(bytes) : bytes)
- );
- }
-}
-
-/** The request HTTP verb. */
-type HttpVerb =
- | "GET"
- | "POST"
- | "PUT"
- | "DELETE"
- | "PATCH"
- | "HEAD"
- | "OPTIONS"
- | "CONNECT"
- | "TRACE";
-
-/**
- * Options object sent to the backend.
+ * @example
+ * ```typescript
+ * const response = await fetch("http://my.json.host/data.json");
+ * console.log(response.status); // e.g. 200
+ * console.log(response.statusText); // e.g. "OK"
+ * const jsonData = await response.json();
+ * ```
*
* @since 2.0.0
*/
-interface HttpOptions {
- method: HttpVerb;
- url: string;
- headers?: Record;
- query?: Record;
- body?: Body;
- timeout?: number | Duration;
- responseType?: ResponseType;
-}
-
-/** Request options. */
-type RequestOptions = Omit;
-/** Options for the `fetch` API. */
-type FetchOptions = Omit;
-
-/** @ignore */
-interface IResponse {
- url: string;
- status: number;
- headers: Record;
- rawHeaders: Record;
- data: T;
-}
-
-/**
- * Response object.
- *
- * @since 2.0.0
- * */
-class Response {
- /** The request URL. */
- url: string;
- /** The response status code. */
- status: number;
- /** A boolean indicating whether the response was successful (status in the range 200–299) or not. */
- ok: boolean;
- /** The response headers. */
- headers: Record;
- /** The response raw headers. */
- rawHeaders: Record;
- /** The response data. */
- data: T;
-
- /** @ignore */
- constructor(response: IResponse) {
- this.url = response.url;
- this.status = response.status;
- this.ok = this.status >= 200 && this.status < 300;
- this.headers = response.headers;
- this.rawHeaders = response.rawHeaders;
- this.data = response.data;
- }
-}
-
-/**
- * @since 2.0.0
- */
-class Client {
- id: number;
- /** @ignore */
- constructor(id: number) {
- this.id = id;
- }
-
- /**
- * Drops the client instance.
- * @example
- * ```typescript
- * import { getClient } from '@tauri-apps/plugin-http';
- * const client = await getClient();
- * await client.drop();
- * ```
- */
- async drop(): Promise {
- return window.__TAURI_INVOKE__("plugin:http|drop_client", {
- client: this.id,
- });
- }
-
- /**
- * Makes an HTTP request.
- * @example
- * ```typescript
- * import { getClient } from '@tauri-apps/plugin-http';
- * const client = await getClient();
- * const response = await client.request({
- * method: 'GET',
- * url: 'http://localhost:3003/users',
- * });
- * ```
- */
- async request(options: HttpOptions): Promise> {
- const jsonResponse =
- !options.responseType || options.responseType === ResponseType.JSON;
- if (jsonResponse) {
- options.responseType = ResponseType.Text;
- }
- return window
- .__TAURI_INVOKE__>("plugin:http|request", {
- clientId: this.id,
- options,
- })
- .then((res) => {
- const response = new Response(res);
- if (jsonResponse) {
- /* eslint-disable */
- try {
- response.data = JSON.parse(response.data as string);
- } catch (e) {
- if (response.ok && (response.data as unknown as string) === "") {
- response.data = {} as T;
- } else if (response.ok) {
- throw Error(
- `Failed to parse response \`${response.data}\` as JSON: ${e};
- try setting the \`responseType\` option to \`ResponseType.Text\` or \`ResponseType.Binary\` if the API does not return a JSON response.`
- );
- }
- }
- /* eslint-enable */
- return response;
- }
- return response;
- });
- }
-
- /**
- * Makes a GET request.
- * @example
- * ```typescript
- * import { getClient, ResponseType } from '@tauri-apps/plugin-http';
- * const client = await getClient();
- * const response = await client.get('http://localhost:3003/users', {
- * timeout: 30,
- * // the expected response type
- * responseType: ResponseType.JSON
- * });
- * ```
- */
- async get(url: string, options?: RequestOptions): Promise> {
- return this.request({
- method: "GET",
- url,
- ...options,
- });
- }
-
- /**
- * Makes a POST request.
- * @example
- * ```typescript
- * import { getClient, Body, ResponseType } from '@tauri-apps/plugin-http';
- * const client = await getClient();
- * const response = await client.post('http://localhost:3003/users', {
- * body: Body.json({
- * name: 'tauri',
- * password: 'awesome'
- * }),
- * // in this case the server returns a simple string
- * responseType: ResponseType.Text,
- * });
- * ```
- */
- async post(
- url: string,
- body?: Body,
- options?: RequestOptions
- ): Promise> {
- return this.request({
- method: "POST",
- url,
- body,
- ...options,
- });
- }
+export async function fetch(
+ input: URL | Request | string,
+ init?: RequestInit & ClientOptions,
+): Promise {
+ const maxRedirections = init?.maxRedirections;
+ const connectTimeout = init?.maxRedirections;
+
+ // Remove these fields before creating the request
+ if (init) {
+ delete init.maxRedirections;
+ delete init.connectTimeout;
+ }
+
+ const req = new Request(input, init);
+ const buffer = await req.arrayBuffer();
+ const reqData = buffer.byteLength ? Array.from(new Uint8Array(buffer)) : null;
+
+ const rid = await window.__TAURI_INVOKE__("plugin:http|fetch", {
+ cmd: "fetch",
+ method: req.method,
+ url: req.url,
+ headers: Array.from(req.headers.entries()),
+ data: reqData,
+ maxRedirections,
+ connectTimeout,
+ });
- /**
- * Makes a PUT request.
- * @example
- * ```typescript
- * import { getClient, Body } from '@tauri-apps/plugin-http';
- * const client = await getClient();
- * const response = await client.put('http://localhost:3003/users/1', {
- * body: Body.form({
- * file: {
- * file: '/home/tauri/avatar.png',
- * mime: 'image/png',
- * fileName: 'avatar.png'
- * }
- * })
- * });
- * ```
- */
- async put(
- url: string,
- body?: Body,
- options?: RequestOptions
- ): Promise> {
- return this.request({
- method: "PUT",
- url,
- body,
- ...options,
+ req.signal.addEventListener("abort", () => {
+ window.__TAURI_INVOKE__("plugin:http|fetch_cancel", {
+ rid,
});
- }
+ });
- /**
- * Makes a PATCH request.
- * @example
- * ```typescript
- * import { getClient, Body } from '@tauri-apps/plugin-http';
- * const client = await getClient();
- * const response = await client.patch('http://localhost:3003/users/1', {
- * body: Body.json({ email: 'contact@tauri.app' })
- * });
- * ```
- */
- async patch(url: string, options?: RequestOptions): Promise> {
- return this.request({
- method: "PATCH",
- url,
- ...options,
- });
+ interface FetchSendResponse {
+ status: number;
+ statusText: string;
+ headers: [[string, string]];
+ url: string;
}
- /**
- * Makes a DELETE request.
- * @example
- * ```typescript
- * import { getClient } from '@tauri-apps/plugin-http';
- * const client = await getClient();
- * const response = await client.delete('http://localhost:3003/users/1');
- * ```
- */
- async delete(url: string, options?: RequestOptions): Promise> {
- return this.request({
- method: "DELETE",
- url,
- ...options,
+ const { status, statusText, url, headers } =
+ await window.__TAURI_INVOKE__("plugin:http|fetch_send", {
+ rid,
});
- }
-}
-
-/**
- * Creates a new client using the specified options.
- * @example
- * ```typescript
- * import { getClient } from '@tauri-apps/plugin-http';
- * const client = await getClient();
- * ```
- *
- * @param options Client configuration.
- *
- * @returns A promise resolving to the client instance.
- *
- * @since 2.0.0
- */
-async function getClient(options?: ClientOptions): Promise {
- return window
- .__TAURI_INVOKE__("plugin:http|create_client", {
- options,
- })
- .then((id) => new Client(id));
-}
-
-/** @internal */
-let defaultClient: Client | null = null;
-/**
- * Perform an HTTP request using the default client.
- * @example
- * ```typescript
- * import { fetch } from '@tauri-apps/plugin-http';
- * const response = await fetch('http://localhost:3003/users/2', {
- * method: 'GET',
- * timeout: 30,
- * });
- * ```
- */
-async function fetch(
- url: string,
- options?: FetchOptions
-): Promise> {
- if (defaultClient === null) {
- defaultClient = await getClient();
- }
- return defaultClient.request({
- url,
- method: options?.method ?? "GET",
- ...options,
+ const body = await window.__TAURI_INVOKE__(
+ "plugin:http|fetch_read_body",
+ {
+ rid,
+ },
+ );
+
+ const res = new Response(Uint8Array.from(body), {
+ headers,
+ status,
+ statusText,
});
-}
-export type {
- Duration,
- ClientOptions,
- Part,
- HttpVerb,
- HttpOptions,
- RequestOptions,
- FetchOptions,
-};
+ // url is read only but seems like we can do this
+ Object.defineProperty(res, "url", { value: url });
-export {
- getClient,
- fetch,
- Body,
- Client,
- Response,
- ResponseType,
- type FilePart,
-};
+ return res;
+}
diff --git a/plugins/http/rollup.config.mjs b/plugins/http/rollup.config.mjs
index 6555e98b..99a3dd31 100644
--- a/plugins/http/rollup.config.mjs
+++ b/plugins/http/rollup.config.mjs
@@ -5,7 +5,7 @@ import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
- readFileSync(new URL("./package.json", import.meta.url), "utf8")
+ readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
diff --git a/plugins/http/src/api-iife.js b/plugins/http/src/api-iife.js
index e99aa35b..18db7172 100644
--- a/plugins/http/src/api-iife.js
+++ b/plugins/http/src/api-iife.js
@@ -1 +1 @@
-if("__TAURI__"in window){var __TAURI_HTTP__=function(e){"use strict";var t;e.ResponseType=void 0,(t=e.ResponseType||(e.ResponseType={}))[t.JSON=1]="JSON",t[t.Text=2]="Text",t[t.Binary=3]="Binary";class r{constructor(e,t){this.type=e,this.payload=t}static form(e){const t={},s=(e,r)=>{if(null!==r){let s;s="string"==typeof r?r:r instanceof Uint8Array||Array.isArray(r)?Array.from(r):r instanceof File?{file:r.name,mime:r.type,fileName:r.name}:"string"==typeof r.file?{file:r.file,mime:r.mime,fileName:r.fileName}:{file:Array.from(r.file),mime:r.mime,fileName:r.fileName},t[String(e)]=s}};if(e instanceof FormData)for(const[t,r]of e)s(t,r);else for(const[t,r]of Object.entries(e))s(t,r);return new r("Form",t)}static json(e){return new r("Json",e)}static text(e){return new r("Text",e)}static bytes(e){return new r("Bytes",Array.from(e instanceof ArrayBuffer?new Uint8Array(e):e))}}class s{constructor(e){this.url=e.url,this.status=e.status,this.ok=this.status>=200&&this.status<300,this.headers=e.headers,this.rawHeaders=e.rawHeaders,this.data=e.data}}class n{constructor(e){this.id=e}async drop(){return window.__TAURI_INVOKE__("plugin:http|drop_client",{client:this.id})}async request(t){const r=!t.responseType||t.responseType===e.ResponseType.JSON;return r&&(t.responseType=e.ResponseType.Text),window.__TAURI_INVOKE__("plugin:http|request",{clientId:this.id,options:t}).then((e=>{const t=new s(e);if(r){try{t.data=JSON.parse(t.data)}catch(e){if(t.ok&&""===t.data)t.data={};else if(t.ok)throw Error(`Failed to parse response \`${t.data}\` as JSON: ${e};\n try setting the \`responseType\` option to \`ResponseType.Text\` or \`ResponseType.Binary\` if the API does not return a JSON response.`)}return t}return t}))}async get(e,t){return this.request({method:"GET",url:e,...t})}async post(e,t,r){return this.request({method:"POST",url:e,body:t,...r})}async put(e,t,r){return this.request({method:"PUT",url:e,body:t,...r})}async patch(e,t){return this.request({method:"PATCH",url:e,...t})}async delete(e,t){return this.request({method:"DELETE",url:e,...t})}}async function i(e){return window.__TAURI_INVOKE__("plugin:http|create_client",{options:e}).then((e=>new n(e)))}let o=null;return e.Body=r,e.Client=n,e.Response=s,e.fetch=async function(e,t){var r;return null===o&&(o=await i()),o.request({url:e,method:null!==(r=null==t?void 0:t.method)&&void 0!==r?r:"GET",...t})},e.getClient=i,e}({});Object.defineProperty(window.__TAURI__,"http",{value:__TAURI_HTTP__})}
+if("__TAURI__"in window){var __TAURI_HTTP__=function(e){"use strict";return e.fetch=async function(e,t){const n=null==t?void 0:t.maxRedirections,r=null==t?void 0:t.maxRedirections;t&&(delete t.maxRedirections,delete t.connectTimeout);const _=new Request(e,t),i=await _.arrayBuffer(),a=i.byteLength?Array.from(new Uint8Array(i)):null,d=await window.__TAURI_INVOKE__("plugin:http|fetch",{cmd:"fetch",method:_.method,url:_.url,headers:Array.from(_.headers.entries()),data:a,maxRedirections:n,connectTimeout:r});_.signal.addEventListener("abort",(()=>{window.__TAURI_INVOKE__("plugin:http|fetch_cancel",{rid:d})}));const{status:o,statusText:s,url:c,headers:u}=await window.__TAURI_INVOKE__("plugin:http|fetch_send",{rid:d}),l=await window.__TAURI_INVOKE__("plugin:http|fetch_read_body",{rid:d}),w=new Response(Uint8Array.from(l),{headers:u,status:o,statusText:s});return Object.defineProperty(w,"url",{value:c}),w},e}({});Object.defineProperty(window.__TAURI__,"http",{value:__TAURI_HTTP__})}
diff --git a/plugins/http/src/commands.rs b/plugins/http/src/commands.rs
new file mode 100644
index 00000000..833b4e7f
--- /dev/null
+++ b/plugins/http/src/commands.rs
@@ -0,0 +1,178 @@
+// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
+// SPDX-License-Identifier: Apache-2.0
+// SPDX-License-Identifier: MIT
+
+use std::{collections::HashMap, time::Duration};
+
+use http::{header, HeaderName, HeaderValue, Method, StatusCode};
+use reqwest::redirect::Policy;
+use serde::Serialize;
+use tauri::{command, AppHandle, Runtime};
+
+use crate::{Error, FetchRequest, HttpExt, RequestId};
+
+#[derive(Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct FetchResponse {
+ status: u16,
+ status_text: String,
+ headers: Vec<(String, String)>,
+ url: String,
+}
+
+#[command]
+pub async fn fetch(
+ app: AppHandle,
+ method: String,
+ url: url::Url,
+ headers: Vec<(String, String)>,
+ data: Option>,
+ connect_timeout: Option,
+ max_redirections: Option,
+) -> crate::Result {
+ let scheme = url.scheme();
+ let method = Method::from_bytes(method.as_bytes())?;
+ let headers: HashMap = HashMap::from_iter(headers);
+
+ match scheme {
+ "http" | "https" => {
+ if app.http().scope.is_allowed(&url) {
+ let mut builder = reqwest::ClientBuilder::new();
+
+ if let Some(timeout) = connect_timeout {
+ builder = builder.connect_timeout(Duration::from_millis(timeout));
+ }
+
+ if let Some(max_redirections) = max_redirections {
+ builder = builder.redirect(if max_redirections == 0 {
+ Policy::none()
+ } else {
+ Policy::limited(max_redirections)
+ });
+ }
+
+ let mut request = builder.build()?.request(method.clone(), url);
+
+ for (key, value) in &headers {
+ let name = HeaderName::from_bytes(key.as_bytes())?;
+ let v = HeaderValue::from_bytes(value.as_bytes())?;
+ if !matches!(name, header::HOST | header::CONTENT_LENGTH) {
+ request = request.header(name, v);
+ }
+ }
+
+ // 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 data.is_none() && matches!(method, Method::POST | Method::PUT) {
+ request = request.header(header::CONTENT_LENGTH, HeaderValue::from(0));
+ }
+
+ if headers.contains_key(header::RANGE.as_str()) {
+ // https://fetch.spec.whatwg.org/#http-network-or-cache-fetch step 18
+ // If httpRequest’s header list contains `Range`, then append (`Accept-Encoding`, `identity`)
+ request = request.header(
+ header::ACCEPT_ENCODING,
+ HeaderValue::from_static("identity"),
+ );
+ }
+
+ if !headers.contains_key(header::USER_AGENT.as_str()) {
+ request = request.header(header::USER_AGENT, HeaderValue::from_static("tauri"));
+ }
+
+ if let Some(data) = data {
+ request = request.body(data);
+ }
+
+ let http_state = app.http();
+ let rid = http_state.next_id();
+ let fut = async move { Ok(request.send().await.map_err(Into::into)) };
+ let mut request_table = http_state.requests.lock().await;
+ request_table.insert(rid, FetchRequest::new(Box::pin(fut)));
+
+ Ok(rid)
+ } else {
+ Err(Error::UrlNotAllowed(url))
+ }
+ }
+ "data" => {
+ let data_url =
+ data_url::DataUrl::process(url.as_str()).map_err(|_| Error::DataUrlError)?;
+ let (body, _) = data_url
+ .decode_to_vec()
+ .map_err(|_| Error::DataUrlDecodeError)?;
+
+ let response = http::Response::builder()
+ .status(StatusCode::OK)
+ .header(header::CONTENT_TYPE, data_url.mime_type().to_string())
+ .body(reqwest::Body::from(body))?;
+
+ let http_state = app.http();
+ let rid = http_state.next_id();
+ let fut = async move { Ok(Ok(reqwest::Response::from(response))) };
+ let mut request_table = http_state.requests.lock().await;
+ request_table.insert(rid, FetchRequest::new(Box::pin(fut)));
+ Ok(rid)
+ }
+ _ => Err(Error::SchemeNotSupport(scheme.to_string())),
+ }
+}
+
+#[command]
+pub async fn fetch_cancel(app: AppHandle, rid: RequestId) -> crate::Result<()> {
+ let mut request_table = app.http().requests.lock().await;
+ let req = request_table
+ .get_mut(&rid)
+ .ok_or(Error::InvalidRequestId(rid))?;
+ *req = FetchRequest::new(Box::pin(async { Err(Error::RequestCanceled) }));
+ Ok(())
+}
+
+#[command]
+pub async fn fetch_send(
+ app: AppHandle,
+ rid: RequestId,
+) -> crate::Result {
+ let mut request_table = app.http().requests.lock().await;
+ let req = request_table
+ .remove(&rid)
+ .ok_or(Error::InvalidRequestId(rid))?;
+
+ let res = match req.0.lock().await.as_mut().await {
+ Ok(Ok(res)) => res,
+ Ok(Err(e)) | Err(e) => return Err(e),
+ };
+
+ let status = res.status();
+ let url = res.url().to_string();
+ let mut headers = Vec::new();
+ for (key, val) in res.headers().iter() {
+ headers.push((
+ key.as_str().into(),
+ String::from_utf8(val.as_bytes().to_vec())?,
+ ));
+ }
+
+ app.http().responses.lock().await.insert(rid, res);
+
+ Ok(FetchResponse {
+ status: status.as_u16(),
+ status_text: status.canonical_reason().unwrap_or_default().to_string(),
+ headers,
+ url,
+ })
+}
+
+// TODO: change return value to tauri::ipc::Response on next alpha
+#[command]
+pub(crate) async fn fetch_read_body(
+ app: AppHandle,
+ rid: RequestId,
+) -> crate::Result> {
+ let mut response_table = app.http().responses.lock().await;
+ let res = response_table
+ .remove(&rid)
+ .ok_or(Error::InvalidRequestId(rid))?;
+
+ Ok(res.bytes().await?.to_vec())
+}
diff --git a/plugins/http/src/commands/client.rs b/plugins/http/src/commands/client.rs
deleted file mode 100644
index 07614a53..00000000
--- a/plugins/http/src/commands/client.rs
+++ /dev/null
@@ -1,341 +0,0 @@
-// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
-// SPDX-License-Identifier: Apache-2.0
-// SPDX-License-Identifier: MIT
-
-use std::{collections::HashMap, path::PathBuf, time::Duration};
-
-use reqwest::{header, Method, Url};
-use serde::{Deserialize, Deserializer, Serialize};
-use serde_json::Value;
-use serde_repr::{Deserialize_repr, Serialize_repr};
-
-#[derive(Deserialize)]
-#[serde(untagged)]
-enum SerdeDuration {
- Seconds(u64),
- Duration(Duration),
-}
-
-fn deserialize_duration<'de, D: Deserializer<'de>>(
- deserializer: D,
-) -> std::result::Result