Compare commits

..

190 Commits

Author SHA1 Message Date
github-actions[bot] 3e5da59abc Publish New Versions (v2) (#1234)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-04-22 23:58:43 -03:00
Lucas Fernandes Nogueira 326df68839 fix(ios): decoding with default value is not supported (#1236) 2024-04-22 23:35:47 -03:00
renovate[bot] faa89850d0 chore(deps): replace dependency eslint-config-standard-with-typescript with eslint-config-love 43.1.0 (#1228)
* chore(deps): replace dependency eslint-config-standard-with-typescript with eslint-config-love 43.1.0

* actually apply the rules lol

* rebuild

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-04-23 00:40:51 +02:00
renovate[bot] 8aacc312cf chore(deps): update dependency rollup to v4.16.2 (#1233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 20:31:18 +02:00
renovate[bot] 95986f1c4d chore(deps): update typescript-eslint monorepo to v7.7.1 (#1235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 20:22:58 +02:00
Fabian-Lars b115fd22e0 fix(fs): Prevent deadlock when scope listeners are registered. (#1221)
* fix(fs): Prevent deadlock when scope listeners are registered.

* block
2024-04-22 20:09:12 +02:00
renovate[bot] cdd3aafdc6 chore(deps): update dependency rollup to v4.16.1 (#1230)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-21 20:57:38 +02:00
renovate[bot] 961a13860e chore(deps): update dependency rollup to v4.16.0 (#1227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-21 16:48:59 +02:00
renovate[bot] 01e534a1c9 chore(deps): update dependency vite to v5.2.10 (#1225)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-20 19:07:12 +02:00
renovate[bot] 9f70233ebb chore(deps): update dependency rollup to v4.15.0 (#1224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-20 19:03:09 +02:00
renovate[bot] 78a4097d09 fix(deps): update rust crate global-hotkey to 0.5.1 (#1211)
* fix(deps): update rust crate global-hotkey to 0.5.1

* fix comp

* Update Cargo.toml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-04-18 17:05:15 +02:00
renovate[bot] 35373956ea fix(deps): update rust crate cocoa to 0.25 (#1208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 15:58:01 +02:00
renovate[bot] bf285d471d chore(deps): update unocss monorepo to v0.59.4 (#1220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 15:40:38 +02:00
github-actions[bot] 9f545c65ad publish new versions (#1142)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
2024-04-18 11:23:48 +02:00
renovate[bot] 37dbd4c38d fix(deps): update tauri monorepo (#1202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 11:15:15 +02:00
renovate[bot] 2b53546ce5 chore(deps): update dependency @iconify-json/codicon to v1.1.47 (#1219)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 10:34:10 +02:00
Fabian-Lars 293f363c0d fix(updater): Enable rustls-tls feature flag by default (#1175) 2024-04-18 04:38:44 +02:00
Amr Bashir e3d41f4011 fix: use webview's resources table (#1191)
* fix: use webview's resources table

* fix clipboard into_img usage

* fix mobile
2024-04-18 03:19:24 +02:00
renovate[bot] 8638740223 chore(deps): update dependency svelte to v4.2.15 (#1217)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 16:17:02 +02:00
Fabian-Lars bb51a41d67 feat: Remove UNC prefix in paths returned to the frontend (#1168)
* feat: Remove UNC prefix in paths returned to the frontend

* that one doesn't count

* map instead of mut

* revert accidental ipc::response change

* move dunce to workspace root
2024-04-17 15:49:32 +02:00
renovate[bot] 6698774f3f fix(deps): update rust crate tiny_http to 0.12 (#1213)
* fix(deps): update rust crate tiny_http to 0.12

* .

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-04-17 14:41:37 +02:00
renovate[bot] c079d8c81b fix(deps): update rust crate winrt-notification to 0.2 (#1215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 12:18:05 +02:00
renovate[bot] 3db3b204b4 fix(deps): update rust crate win7-notifications to 0.4.3 (#1214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 23:43:11 +02:00
renovate[bot] cc29f7dbdb fix(deps): update rust crate glib to 0.19 (#1210)
* fix(deps): update rust crate glib to 0.19

* downgrade to 0.18 again lol

* remove glib dep

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-04-16 23:40:40 +02:00
renovate[bot] 81c31b4114 chore(deps): update unocss monorepo to ^0.59.0 (#1206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 23:04:48 +02:00
renovate[bot] d3b9a60e31 fix(deps): update rust crate android_logger to 0.13 (#1207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 22:52:17 +02:00
renovate[bot] 2cb80325a0 chore(deps): update dependency @sveltejs/vite-plugin-svelte to v3.1.0 (#1203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 21:43:55 +02:00
renovate[bot] 4b3bc1ee13 fix(deps): update dependency @zerodevx/svelte-json-view to v1.0.9 (#1199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 21:27:36 +02:00
FabianLars 5dcfdec03b ci: Update pnpm to v8 2024-04-16 21:02:26 +02:00
FabianLars f79f2b79b3 chore: Change engines.pnpm to require any v8 version 2024-04-16 20:57:47 +02:00
renovate[bot] ce7750451d chore(deps): update rust crate color-backtrace to 0.6 (#1204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 19:22:07 +02:00
renovate[bot] 56406214a0 fix(deps): update rust crate swift-rs to 1.0.6 (#1201)
* fix(deps): update rust crate swift-rs to 1.0.6

* Aktualisieren von Cargo.toml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-04-16 18:53:27 +02:00
renovate[bot] 4c8ccf6767 fix(deps): update rust crate flate2 to 1.0.28 (#1200)
* fix(deps): update rust crate flate2 to 1.0.28

* Aktualisieren von Cargo.toml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-04-16 17:17:32 +02:00
renovate[bot] 1d85ae72b4 chore(deps): update dependency svelte to v4.2.14 (#1197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:41:29 +02:00
renovate[bot] 4aed0a48a2 chore(deps): update dependency vite to v5.2.9 (#1198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:37:36 +02:00
renovate[bot] fa8ccec4f6 chore(deps): update typescript-eslint monorepo to v7.7.0 (#1190)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:13:44 +02:00
renovate[bot] 278755f1f5 chore(deps): update dependency @iconify-json/codicon to v1.1.46 (#1195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:56:08 +02:00
renovate[bot] d229dd6661 chore(deps): update dependency @iconify-json/ph to v1.1.12 (#1196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:55:45 +02:00
Fabian-Lars 86723a5372 chore: merge v1 into v2 one last time 2024-04-16 00:45:41 +02:00
FabianLars ed46dca74f Merge remote-tracking branch 'origin/v1' into chore/merge-v1-into-v2 2024-04-16 00:29:36 +02:00
Jonas Osburg 5c97db96bd feat(websocket): Add TLS configuration (#925)
* Allow TLS configuration

* refactor: Added builder pattern

---------

Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-04-15 16:41:49 +02:00
matthme 4210cf316a feat(single-instance): Add semver compatibility check for Windows and Linux (#502)
* added semver compatibility check for Windows and Linux

* fixed formatting

* put semver feature behind a feature flag

* remove semver from root manifest

* linux compile error

* docs: Add mention for semver feature in readme

---------

Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-04-15 15:54:09 +02:00
FabianLars 57e979adaf chore(store): format readme 2024-04-15 15:37:21 +02:00
Jesper L. Nielsen 4a5ab18a22 fix(upload): return type on is now a string (#976)
* fix(upload): return type on POST is now string

A POST to a webserver can not always be expected to be a JSON response.

Success is now determined by the HTTP return code.

Upon success the body content is returned as a string.

* feat: add content-length on POST

Not all embedded devices are acceptable to receiving unspecified amounts
of data. Appending the content-length up front helps this devices
succeed.

* fix: return values unified

The return values was not used.

On POST the HTTP error code is returned as an enum.

* fix: upload, return value as string

* Update plugins/upload/src/lib.rs

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>

* Update plugins/upload/src/lib.rs

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>

* fix: added covector changelog file

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-04-15 15:16:07 +02:00
Tony 1f9e7ab4a0 fix(window-state): missing restore_state and filename js binding permission (#1180)
* Fix js binding commands

* Re-run build

* Add change file
2024-04-15 12:04:52 +02:00
zenitogr 9144521b90 chore(store): update example in README.md (#1176) 2024-04-15 11:43:48 +02:00
renovate[bot] 2b0cd3d882 chore(deps): update dependency rollup to v4.14.3 (#1186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 11:15:42 +02:00
Amr Bashir c967307706 fix(deps): update vite to fix audit CI (#1187) 2024-04-15 11:14:42 +02:00
Amr Bashir 27b258cf31 chore(clipboard): expose Clipboard struct (#1185) 2024-04-15 10:53:32 +02:00
Tony 3dca7ff5ea fix(example): for newer tauri version (#1181)
* Fix example for newer tauri version
`onDragDropEvent` -> `onFileDropEvent`

* Revert "Fix example for newer tauri version"

This reverts commit 9eeaf85605.

* Update tauri api and cli version
2024-04-15 10:53:16 +02:00
renovate[bot] e39ea8ddf8 fix(deps): update rust crate reqwest to 0.12 (#1099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 09:07:36 +02:00
renovate[bot] 7768f245f9 chore(deps): update dependency eslint-plugin-n to v17.2.1 (#1184)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 09:01:11 +02:00
Tony fe05b872aa fix(example) can't use tray icon to exit (#1183) 2024-04-15 08:58:02 +02:00
Tony df1516da14 fix(example): missing permissions (#1182)
* Fix missing window control permissions

* Move to permissions to base

* More missing permissions

* More
2024-04-15 08:57:25 +02:00
renovate[bot] 4aeee08cde chore(deps): update dependency rollup to v4.14.2 (#1177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 13:29:29 +02:00
renovate[bot] 69ee862fb7 chore(deps): update dependency eslint-plugin-security to v3 (#1172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 20:32:33 +02:00
renovate[bot] a70172dd93 chore(deps): update dependency eslint-plugin-n to v17.2.0 (#1170)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 20:25:46 +02:00
renovate[bot] 37466eb87e chore(deps): update dependency typescript to v5.4.5 (#1171)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 20:16:36 +02:00
Fabian-Lars 500ff10fbd fix(http): Enable tls support by default (#1166) 2024-04-10 09:35:20 +02:00
Naman Garg 8d7689f6f9 Add WebviewWindow to code docs and template (#1144)
* Add WebviewWindow to code docs

* Shorten the WebView Name

* Apply suggestions from code review

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-04-09 11:56:00 -03:00
renovate[bot] b0daeed1e8 chore(deps): update dependency eslint-plugin-n to v17.1.0 (#1164)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 13:42:16 +02:00
renovate[bot] dbdd60a591 chore(deps): update typescript-eslint monorepo to v7.6.0 (#1160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 00:21:42 +02:00
Tony 7e2fcc5e74 chore: add missing change files from #1139 (#1146) 2024-04-08 22:08:58 +02:00
renovate[bot] dbe0277824 chore(deps): update dependency rollup to v4.14.1 (#1154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 12:40:38 +02:00
renovate[bot] ddb5ca188f chore(deps): update dependency eslint-plugin-n to v17 (#1158)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 12:37:40 +02:00
Amr Bashir 7fc29c326b chore: add repository field in Cargo.toml (#1143)
closes #1135
2024-04-05 00:15:04 +02:00
renovate[bot] cf832fe106 chore(deps): update dependency typescript to v5.4.4 (#1145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-04 22:46:20 +02:00
Amr Bashir 0e9541fe89 feat(window-state): support using a custom filename (#1138)
* feat(window-state): support using a custom filename

ref: https://github.com/tauri-apps/plugins-workspace/pull/1079

* generate api

* fmt
2024-04-03 21:29:48 +02:00
Amr Bashir f9bcc1c21d chore: add tslib as dev dependency in workspace (#1134)
* chore: add `tslib` as dev dependency in workspace

* Discard changes to Cargo.lock

* lockfile
2024-04-03 18:07:08 +02:00
renovate[bot] 773b498392 chore(deps): update dependency vite to v5.2.8 (#1141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 18:03:21 +02:00
renovate[bot] 3e620c6951 chore(deps): update dependency rollup to v4.14.0 (#1140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 11:58:43 +02:00
Tony a32e3200de chore: update dependencies to align with tauri's (#1139) 2024-04-03 04:38:29 +02:00
renovate[bot] 73d8562849 chore(deps): update dependency rollup to v4.13.2 (#1125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 11:28:09 +02:00
renovate[bot] 73364a8b96 chore(deps): update typescript-eslint monorepo to v7.5.0 (#1132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 09:20:17 +02:00
renovate[bot] 066058f631 chore(deps): update dependency vite to v5.2.7 (#1127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-29 13:58:06 +01:00
renovate[bot] c6a5b7ae47 chore(deps): update dependency rollup to v4.13.1 (#1121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 12:18:37 +01:00
renovate[bot] d3c7ee5a61 chore(deps): update typescript-eslint monorepo to v7.4.0 (#1112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 21:12:10 +01:00
renovate[bot] 719b651753 chore(deps): update dependency vite to v5.2.6 (#1109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-24 15:34:45 +01:00
renovate[bot] 40ce253abf chore(deps): update dependency vite to v5.2.5 (#1108)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-24 15:26:15 +01:00
renovate[bot] 184f4edbbc chore(deps): update dependency vite to v5.2.4 (#1105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-23 19:39:13 +01:00
renovate[bot] 8f857dc4e1 chore(deps): update dependency vite to v5.2.3 (#1104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-22 20:15:34 +01:00
renovate[bot] 8cd4a39864 chore(deps): update dependency vite to v5.2.2 (#1098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 23:50:22 +01:00
renovate[bot] 80af01181a chore(deps): update dependency typescript to v5.4.3 (#1100)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 23:08:26 +01:00
renovate[bot] 42607f0dbd chore(deps): update dependency vite to v5.2.0 (#1095)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 11:32:49 +01:00
renovate[bot] 160498dae5 chore(deps): update typescript-eslint monorepo to v7.3.1 (#1093)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-19 08:22:46 +01:00
Fabian-Lars 6db4320e98 ci: Rename covector working branch to ci/release-v1 (#1091) 2024-03-18 22:27:43 +01:00
github-actions[bot] cc63614f1e publish new versions (#471)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
2024-03-18 21:49:08 +01:00
Fabian-Lars 02111b9526 chore: Change workspace inheritance syntax for better covector support (#1092) 2024-03-18 21:39:46 +01:00
renovate[bot] 03fab3c6ad chore(deps): update typescript-eslint monorepo to v7.3.0 (#1090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 20:37:57 +01:00
Fabian-Lars 6a6c9daeb2 chore(template): Replace {{name}} with PLUGIN_NAME (#1087)
fixes #1052
2024-03-18 09:40:14 +01:00
renovate[bot] d95a1b382f chore(deps): update dependency rollup to v4.13.0 (#1066)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-12 07:52:24 +01:00
renovate[bot] 24eb3398d0 chore(deps): update typescript-eslint monorepo to v7.2.0 (#1064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-12 07:48:01 +01:00
renovate[bot] adbc333a0f chore(deps): update dependency vite to v5.1.6 (#1063)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 17:42:59 +01:00
renovate[bot] b74ccb6639 chore(deps): update dependency @tauri-apps/cli to v1.5.11 (#1049)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-10 13:41:49 +01:00
renovate[bot] c290049051 chore(deps): update dependency typescript to v5.4.2 (#1034)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-10 13:39:40 +01:00
renovate[bot] 509c23ed36 chore(deps): update dependency rollup to v4.12.1 (#1031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-10 13:36:12 +01:00
FabianLars 11d98e911e chore(log): Fix lint and formatting 2024-03-10 13:21:17 +01:00
Victor Aremu 30295ecc8e feat: improve stronghold readme (#1027)
* fix: typo

* feat: update client package install commands

* refactor: instruct user to copy code if unable to install via monorepo
2024-03-06 04:13:59 +02:00
renovate[bot] ea294c776a chore(deps): update dependency vite to v5.1.5 (#1024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-05 08:26:48 +01:00
renovate[bot] 19aa220411 chore(deps): update typescript-eslint monorepo to v7.1.1 (#1022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-04 19:03:16 +01:00
Victor Aremu 85c4b8b67a feat: Improve Stronghold README with usage examples (#1013)
* docs: add example password hashing using rust-argon2 crate

* feat: add client side usage

* update the todo  comment
2024-03-04 17:19:51 +02:00
FabianLars ed682dd96e chore: Run cargo fmt 2024-02-28 23:13:56 +01:00
Vova Yatsyuk c3c55d5b4e fix(autostart): Use full exe path on macos when LaunchAgent is used (#841) 2024-02-28 22:44:55 +01:00
tommyo 0d3b6b8aca feat(log): added attachLogger (#717) 2024-02-28 22:16:08 +01:00
renovate[bot] 67df245eee chore(deps): update typescript-eslint monorepo to v7.1.0 (#998)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 18:37:04 +01:00
Jarrodsz 382fc3a7bf chore(store): add AppSettings example (#573)
* basic example foundation

* add examples to workspace

* cleanup and load fix

* fmt

* reset lockfile

---------

Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-02-26 18:34:54 +01:00
Instinct 7c59242905 chore: fix typo in store plugin README.md (#997) 2024-02-26 17:32:39 +02:00
renovate[bot] da76481ad3 chore(deps): update dependency vite to v5.1.4 (#994)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-25 12:30:21 +01:00
renovate[bot] 25aecc0074 chore(deps): update dependency eslint to v8.57.0 (#988)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-24 14:38:10 +01:00
renovate[bot] 58176114f9 chore(deps): update typescript-eslint monorepo to v7.0.2 (#970)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-19 20:35:37 +01:00
renovate[bot] 4cc2e50d16 chore(deps): update dependency @tauri-apps/cli to v1.5.10 (#967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-19 16:04:43 +01:00
renovate[bot] e096f63bda chore(deps): update dependency rollup to v4.12.0 (#958)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-16 16:56:06 +01:00
renovate[bot] 01211ff075 chore(deps): update typescript-eslint monorepo to v7 (#942)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 13:32:03 +01:00
renovate[bot] 9299c919c7 chore(deps): update dependency prettier to v3.2.5 (#906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 13:31:09 +01:00
renovate[bot] c7f92ddf2f chore(deps): update dependency rollup to v4.11.0 (#955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 13:25:24 +01:00
renovate[bot] 1adb912547 chore(deps): update dependency eslint-plugin-security to v2.1.1 (#953)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 13:13:57 +01:00
renovate[bot] 67405aed06 chore(deps): update typescript-eslint monorepo to v6.21.0 (#932)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-10 15:49:14 +01:00
renovate[bot] 8cb4e3d14d chore(deps): update dependency rollup to v4.10.0 (#936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-10 12:07:13 +01:00
Fabian-Lars 056a458d30 ci: Ignore RSA advisory outside of scheduled runs (#922) 2024-01-30 12:51:49 +01:00
renovate[bot] 9ca77efff2 chore(deps): update typescript-eslint monorepo to v6.20.0 (#920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-29 19:32:02 +01:00
Amr Bashir 70d99086de fix(window-state): restore window position if the one of the window corners intersects with monitor (#898)
* fix(window-state): restore window positions that matches monitor positions
closes #892

* check for intersections of any window corner instead of only top-left
2024-01-25 01:48:46 +02:00
renovate[bot] 035a4824d6 chore(deps): update typescript-eslint monorepo to v6.19.1 (#915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 22:08:44 +01:00
renovate[bot] cd7549f22e chore(deps): update dependency rollup to v4.9.6 (#914)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-21 14:56:28 +01:00
renovate[bot] 38aedb45e3 chore(deps): update dependency eslint-config-standard-with-typescript to v43.0.1 (#911)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-20 12:12:00 +01:00
dependabot[bot] 32a5f92c8f chore(deps-dev): bump vite from 5.0.6 to 5.0.12 (#910)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.6 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-20 12:04:33 +01:00
Fabian-Lars cf00900298 fix(upload): Prevent duplicate progress reports when using Promise.all (#908)
* fix(upload): Prevent duplicate progress reports when using Promise.all

* fmt
2024-01-17 16:45:26 +01:00
renovate[bot] 83f9899f78 chore(deps): update typescript-eslint monorepo to v6.19.0 (#896)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 22:07:58 +01:00
renovate[bot] c5e8cd31ec chore(deps): update dependency prettier to v3.2.2 (#893)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-14 14:39:43 +01:00
renovate[bot] 0cdbde386f chore(deps): update dependency prettier to v3.2.1 (#890)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-12 21:11:59 +01:00
renovate[bot] 2985957afc chore(deps): update dependency prettier to v3.2.0 (#889)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-12 21:00:16 +01:00
renovate[bot] fe09260483 chore(deps): update dependency rollup to v4.9.5 (#888)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-12 13:32:03 +01:00
renovate[bot] 775f7b88ed chore(deps): update dependency @rollup/plugin-typescript to v11.1.6 (#884)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-10 12:25:26 +01:00
renovate[bot] 39108ceacb chore(deps): update typescript-eslint monorepo to v6.18.1 (#881)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 11:15:25 +01:00
renovate[bot] c00b00a93c chore(deps): update dependency eslint-plugin-n to v16.6.2 (#882)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 08:59:00 +01:00
renovate[bot] d2ea535a16 chore(deps): update typescript-eslint monorepo to v6.18.0 (#879)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-06 17:33:53 +01:00
renovate[bot] eec61a8a6d chore(deps): update dependency rollup to v4.9.4 (#878)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-06 17:22:44 +01:00
renovate[bot] 7701cf4107 chore(deps): update dependency rollup to v4.9.3 (#876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-05 12:51:33 +01:00
renovate[bot] 539b566fad chore(deps): update dependency eslint-plugin-n to v16.6.1 (#872)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 15:23:02 +01:00
renovate[bot] 3ffa47c0e8 chore(deps): update typescript-eslint monorepo to v6.17.0 (#871)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-01 20:28:06 +01:00
Matthias Lohscheidt df5a6483c2 docs(sql): Add migrations section to README (v1) (#870)
* Update sql plugin README.md

Add section about migration management.

* rm shell plugin (v2 only)

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-01-01 12:21:37 +01:00
renovate[bot] 27d610387c chore(deps): update dependency rollup to v4.9.2 (#864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-30 14:56:02 +01:00
renovate[bot] 71d755f5f5 chore(deps): update dependency eslint-plugin-n to v16.6.0 (#863)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 15:17:10 +01:00
renovate[bot] 7c442019e1 chore(deps): update typescript-eslint monorepo to v6.16.0 (#852)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-26 13:55:11 +01:00
renovate[bot] 9b99416965 fix(deps): update tauri monorepo (#815)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-21 14:19:25 +01:00
Trevor Fitzgerald 7de603ebff fix(fs-watch): Fix DebouncedEvent type to match what notify-rs returns (#840) 2023-12-20 12:03:34 +01:00
renovate[bot] 35d821cbf1 chore(deps): update dependency eslint-plugin-n to v16.5.0 (#842)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-20 11:24:56 +01:00
renovate[bot] 563ca73de0 chore(deps): update typescript-eslint monorepo to v6.15.0 (#831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 21:02:55 +01:00
renovate[bot] 27eb8c74af chore(deps): update dependency eslint-plugin-security to v2 (#817)
* chore(deps): update dependency eslint-plugin-security to v2

* legacy

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-12-18 12:25:52 +01:00
renovate[bot] 4aa61dcc9e chore(deps): update dependency eslint-config-standard-with-typescript to v43 (#823)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-17 14:46:20 +01:00
renovate[bot] e6b6748085 chore(deps): update dependency eslint-plugin-import to v2.29.1 (#819)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-17 13:49:00 +01:00
renovate[bot] 90fef3ae2d chore(deps): update dependency rollup to v4.9.1 (#827)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-17 13:39:08 +01:00
renovate[bot] cc352416e5 chore(deps): update dependency eslint to v8.56.0 (#822)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-17 13:30:28 +01:00
renovate[bot] 5e73de50e7 chore(deps): update dependency rollup to v4.9.0 (#816)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-14 17:34:12 +01:00
FabianLars 46dfb75d92 Revert "fix(deps): update dependency @tauri-apps/api to v1.5.2 (#814)"
This reverts commit 3af968ce8f.
2023-12-12 11:18:20 +01:00
renovate[bot] 3af968ce8f fix(deps): update dependency @tauri-apps/api to v1.5.2 (#814)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 11:14:47 +01:00
renovate[bot] 4f8df2f86b chore(deps): update typescript-eslint monorepo to v6.14.0 (#813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 20:33:27 +01:00
renovate[bot] 65ea3d9adf chore(deps): update dependency rollup to v4.8.0 (#807)
* chore(deps): update dependency rollup to v4.8.0

* dedupe

* let renovate run dedupe

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-12-11 09:45:39 +01:00
renovate[bot] 776ff9c97e chore(deps): update dependency eslint-plugin-n to v16.4.0 (#811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 08:11:50 +01:00
renovate[bot] 5c883bdd33 chore(deps): update dependency prettier to v3.1.1 (#809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-10 11:21:11 +01:00
renovate[bot] af2892f6a1 chore(deps): update dependency eslint-config-standard-with-typescript to v42 (#808)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-09 17:21:14 +01:00
Fabian-Lars a5792e220a chore: Update rustix in lockfile (#806)
https://github.com/tauri-apps/plugins-workspace/security/dependabot/36
2023-12-07 15:44:55 +01:00
Fabian-Lars eef088dde4 chore(websocket): Convert websocket example to vanilla ts (#805)
* chore(websocket): Convert ws example to vanilla-ts

* fix gitignore
2023-12-07 15:03:37 +01:00
renovate[bot] 8d00fc08f0 fix(deps): update rust crate tokio-tungstenite to 0.21 (#804)
* fix(deps): update rust crate tokio-tungstenite to 0.21

* http version mismatch

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-12-07 10:27:31 +01:00
renovate[bot] c7336bc330 chore(deps): update dependency typescript to v5.3.3 (#803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 21:46:26 +01:00
renovate[bot] 84208e0a53 chore(deps): update dependency vite to v5.0.6 (#794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 13:08:24 +01:00
renovate[bot] 2a28c81da6 chore(deps): update dependency vite to v5.0.5 [security] (#801)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 13:03:44 +01:00
renovate[bot] 56750d31e6 chore(deps): update dependency @sveltejs/kit to v1.27.7 (#799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-05 19:38:37 +01:00
renovate[bot] 899c6262f8 chore(deps): update typescript-eslint monorepo to v6.13.2 (#795)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 21:58:04 +01:00
renovate[bot] 6a19feca1d chore(deps): update dependency eslint-config-prettier to v9.1.0 (#790)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 11:20:43 +01:00
renovate[bot] ad5ec05e26 chore(deps): update dependency eslint to v8.55.0 (#789)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-02 08:04:18 +01:00
renovate[bot] b67dc85936 chore(deps): update dependency @tauri-apps/cli to v1.5.7 (#788)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-01 22:36:17 +01:00
Fabian-Lars b01da63d55 update ahash (#787) 2023-11-30 13:17:41 +01:00
renovate[bot] aabb440159 fix(deps): update rust crate http to v1 (#729)
* fix(deps): update rust crate http to v1

* Update Cargo.toml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-11-30 13:00:09 +01:00
renovate[bot] e1eb82fe92 fix(deps): update rust crate byte-unit to v5 (#764)
* fix(deps): update rust crate byte-unit to v5

* Update Cargo.toml [skip ci]

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-11-30 12:16:17 +01:00
renovate[bot] a18d442765 chore(deps): update dependency svelte to v4.2.8 (#786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 12:12:03 +01:00
renovate[bot] c98545b3ae fix(deps): update rust crate bytes to v1 (#783)
* fix(deps): update rust crate bytes to v1

* adapt api

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-11-30 12:04:44 +01:00
renovate[bot] 3df9bc73f8 chore(deps): update dependency rollup to v4.6.1 (#785)
* chore(deps): update dependency rollup to v4.6.1

* dedupe

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-11-30 10:35:45 +01:00
renovate[bot] 9b2e9ab6c9 chore(deps): update dependency @tauri-apps/cli to v1.5.6 (#778)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-29 14:34:45 +01:00
renovate[bot] e7b022d62e fix(deps): update rust crate byteorder to 1.5 (#781)
* fix(deps): update rust crate byteorder to 1.5

* Update Cargo.toml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-11-29 13:07:16 +01:00
renovate[bot] 4195240f36 chore(deps): update dependency vite to v5.0.4 (#779)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-29 13:05:47 +01:00
Fabian-Lars a67f7cb7c8 chore(authenticator): Inline u2f crate (#780)
* chore(authenticator): Inline u2f crate

* update chrono

* update rustix

* clippy
2023-11-29 12:56:26 +01:00
Fabian-Lars 3f7c4ddc96 chore: Add examples to root cargo workspace (#777)
* chore: Add examples to cargo workspace

* msrv

* disable default feat

* gitkeep dist
2023-11-29 12:04:37 +01:00
Fabian-Lars 12900556a0 Revert "chore: Disable workspace inheritance for [package] (#775)" (#776)
This reverts commit 4899ae007a.
2023-11-29 11:08:11 +01:00
Fabian-Lars 4899ae007a chore: Disable workspace inheritance for [package] (#775) 2023-11-29 10:59:04 +01:00
dependabot[bot] 3db81b4fe3 chore(deps): bump openssl from 0.10.56 to 0.10.60 (#773)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.56 to 0.10.60.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.56...openssl-v0.10.60)

---
updated-dependencies:
- dependency-name: openssl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-29 09:14:31 +01:00
renovate[bot] bd4bf06e6c chore(deps): update dependency vite to v5.0.3 (#772)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 22:37:26 +01:00
renovate[bot] f780e87ee3 chore(deps): update typescript-eslint monorepo to v6.13.1 (#770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 13:11:34 +01:00
renovate[bot] 537053d317 chore(deps): update dependency rollup to v4.6.0 (#765)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-26 20:43:55 +01:00
renovate[bot] 4f9e58d751 chore(deps): update dependency svelte-check to v3.6.2 (#763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-24 18:38:09 +01:00
renovate[bot] e9a0803d95 chore(deps): update dependency rollup to v4.5.2 (#762)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-24 13:12:14 +01:00
248 changed files with 3025 additions and 2340 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"clipboard-manager": "patch"
---
Expose `Clipboard` struct
+5
View File
@@ -0,0 +1,5 @@
---
"log-js": patch
---
Added `attachLogger` helper function to register a function that should be called for each log entry.
+5
View File
@@ -0,0 +1,5 @@
---
"single-instance": patch
---
Added the `semver` feature flag to make the single instance mechanism only trigger for semver compatible versions.
+5
View File
@@ -0,0 +1,5 @@
---
"websocket": patch
---
**Breaking change:** Enable rustls by default and added a method to configure the TLS Connector for tungstenite.
+7
View File
@@ -0,0 +1,7 @@
---
"notification": patch
"barcode-scanner": patch
"dialog": patch
---
Fixes command argument parsing on iOS.
+5
View File
@@ -0,0 +1,5 @@
---
"fs": patch
---
Fixes an issue that caused the app to freeze when the `dialog`, `fs`, and `persisted-scope` plugins were used together.
+5
View File
@@ -0,0 +1,5 @@
---
"http": patch
---
**Breaking change:** Removed the `default-tls` feature flag. The `rustls-tls`, `http2`, `macos-system-configuration`, and `charset` feature flags are now enabled by default.
+5
View File
@@ -0,0 +1,5 @@
---
"updater": patch
---
**Breaking change:** The `rustls-tls` feature flag is now enabled by default.
+18
View File
@@ -2,6 +2,7 @@
"tag": "beta",
"changes": [
".changes/beta.md",
".changes/clipboard-expose-struct.md",
".changes/clipboard-html.md",
".changes/clipboard-manager-image.md",
".changes/clipboard-text-command-rename.md",
@@ -11,11 +12,19 @@
".changes/dialog-path-return-mismatch.md",
".changes/enhance-fs-scope-type.md",
".changes/enhance-http-scope.md",
".changes/feat-log-attachlogger.md",
".changes/feat-single-instance-semver.md",
".changes/feat-websocket-tls-connector.md",
".changes/file-autogen-fix.md",
".changes/fix-autolaunch-macos.md",
".changes/fix-default-arg-value.md",
".changes/fix-fs-scope-deadlock.md",
".changes/fix-fs-watcher-basedir.md",
".changes/fix-http-default-features.md",
".changes/fix-http-scope-url-match.md",
".changes/fix-shutdown-timing.md",
".changes/fix-updater-cleanup.md",
".changes/fix-updater-default-features.md",
".changes/fix-updater-installer-args-deserialization.md",
".changes/fix-updater-installmode.md",
".changes/fix-updater-powershell-flashing.md",
@@ -27,13 +36,22 @@
".changes/msrv-1.75.md",
".changes/notification-fix-dev-check.md",
".changes/public-with-store.md",
".changes/remove-unc-path-prefix.md",
".changes/reqwest-0.12.md",
".changes/scoped-resources-table.md",
".changes/shell-fix-schema-command-property-name.md",
".changes/shell-shellexcute.md",
".changes/single-instance.macos.md",
".changes/tauri-beta-14-dependencies.md",
".changes/tauri-beta-14.md",
".changes/tauri-beta-15.md",
".changes/tauri-beta-4.md",
".changes/tauri-beta-8.md",
".changes/tauri-beta-9.md",
".changes/upload-returnval.md",
".changes/window-state-custom-filename.md",
".changes/window-state-default-filename.md",
".changes/window-state-js-binding.md",
".changes/window-state-json.md"
]
}
+7
View File
@@ -0,0 +1,7 @@
---
dialog: patch
fs: patch
store: patch
---
**Breaking Change:** All apis that return paths to the frontend will now remove the `\\?\` UNC prefix on Windows.
+5
View File
@@ -0,0 +1,5 @@
---
"upload": patch
---
**Breaking change**: Removed http3 feature and added http2 feature.
+8
View File
@@ -0,0 +1,8 @@
---
"fs": "patch"
"http": "patch"
"updater": "patch"
"clipboard-manager": "patch"
---
Internally use the webview scoped resources table instead of the app one, so other webviews can't access other webviews resources.
+8
View File
@@ -0,0 +1,8 @@
---
"authenticator": patch
"http": patch
"updater": patch
"upload": patch
---
Update dependencies to align with tauri 2.0.0-beta.14.
+8
View File
@@ -0,0 +1,8 @@
---
"fs": patch
"http": patch
"updater": patch
"clipboard-manager": patch
---
Update for tauri 2.0.0-beta.15.
+6
View File
@@ -0,0 +1,6 @@
---
"upload": patch
"upload-js": patch
---
Return the upload response as a string and error out if the status code is not within 200-299.
+6
View File
@@ -0,0 +1,6 @@
---
"window-state": "patch"
"window-state-js": "patch"
---
Add `Builder::with_filename` to support using a custom filename. Also add `AppHandleExt::file_name` and a similar function in JS, to retrieve it later.
@@ -0,0 +1,5 @@
---
"window-state": "patch"
---
**Breaking change**: Renamed `STATE_FILENAME` const to `DEFAULT_FILENAME`.
+5
View File
@@ -0,0 +1,5 @@
---
"window-state": patch
---
Fix `restore_window` and `filename` js binding missing permission
+3 -1
View File
@@ -5,4 +5,6 @@ build/
dist-js
api-iife.js
init-iife.js
init.js
init.js
rollup.config.js
examples/
+3 -1
View File
@@ -4,6 +4,7 @@
"es2021": true
},
"extends": [
"love",
"prettier",
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
@@ -13,7 +14,8 @@
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
"sourceType": "module",
"project": ["**/tsconfig.json"]
},
"plugins": ["@typescript-eslint"],
"rules": {}
+2 -2
View File
@@ -43,10 +43,10 @@ jobs:
${{ runner.os }}-
- uses: actions/setup-node@v3
with:
node-version: 18
node-version: "lts/*"
- uses: pnpm/action-setup@v2
with:
version: 7.x.x
version: 8.x.x
run_install: true
- name: audit
run: pnpm audit
+2 -2
View File
@@ -132,10 +132,10 @@ jobs:
${{ runner.os }}-
- uses: actions/setup-node@v3
with:
node-version: 18
node-version: "lts/*"
- uses: pnpm/action-setup@v2
with:
version: 7.x.x
version: 8.x.x
run_install: true
- name: build api
@@ -30,7 +30,7 @@ jobs:
- uses: pnpm/action-setup@v2
with:
version: 7.x.x
version: 8.x.x
run_install: true
- name: install webkit2gtk and libudev for [authenticator]
@@ -30,7 +30,7 @@ jobs:
- uses: pnpm/action-setup@v2
with:
version: 7.x.x
version: 8.x.x
run_install: true
- name: install webkit2gtk and libudev for [authenticator]
@@ -64,5 +64,5 @@ jobs:
title: "Publish New Versions"
commit-message: "publish new versions"
labels: "version updates"
branch: "release"
branch: "ci/release-v1"
body: ${{ steps.covector.outputs.change }}
+4 -4
View File
@@ -46,10 +46,10 @@ jobs:
${{ runner.os }}-
- uses: actions/setup-node@v3
with:
node-version: 18
node-version: "lts/*"
- uses: pnpm/action-setup@v2
with:
version: 7.x.x
version: 8.x.x
run_install: true
- name: eslint
run: pnpm lint
@@ -66,10 +66,10 @@ jobs:
${{ runner.os }}-
- uses: actions/setup-node@v3
with:
node-version: 18
node-version: "lts/*"
- uses: pnpm/action-setup@v2
with:
version: 7.x.x
version: 8.x.x
run_install: true
- name: prettier check
run: pnpm format-check
+2 -2
View File
@@ -34,11 +34,11 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version: 18
node-version: "lts/*"
- uses: pnpm/action-setup@v2
with:
version: 7.x.x
version: 8.x.x
run_install: true
- name: Build packages
Generated
+214 -685
View File
File diff suppressed because it is too large Load Diff
+5 -3
View File
@@ -10,19 +10,21 @@ resolver = "2"
[workspace.dependencies]
serde = { version = "1", features = ["derive"] }
log = "0.4"
tauri = "2.0.0-beta.14"
tauri-build = "2.0.0-beta.11"
tauri-plugin = "2.0.0-beta.11"
tauri = "2.0.0-beta.15"
tauri-build = "2.0.0-beta.12"
tauri-plugin = "2.0.0-beta.12"
serde_json = "1"
thiserror = "1"
url = "2"
schemars = "0.8"
dunce = "1"
[workspace.package]
edition = "2021"
authors = ["Tauri Programme within The Commons Conservancy"]
license = "Apache-2.0 OR MIT"
rust-version = "1.75"
repository = "https://github.com/tauri-apps/plugins-workspace"
# default to small, optimized release binaries
[profile.release]
+6
View File
@@ -1,5 +1,11 @@
# Changelog
## \[2.0.0-beta.4]
### Dependencies
- Upgraded to `log-js@2.0.0-beta.3`
## \[2.0.0-beta.3]
### Dependencies
+7 -7
View File
@@ -1,7 +1,7 @@
{
"name": "svelte-app",
"private": true,
"version": "2.0.0-beta.3",
"version": "2.0.0-beta.4",
"type": "module",
"scripts": {
"dev": "vite --clearScreen false",
@@ -9,7 +9,7 @@
"serve": "vite preview"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6",
"@tauri-apps/api": "2.0.0-beta.8",
"@tauri-apps/plugin-barcode-scanner": "2.0.0-beta.2",
"@tauri-apps/plugin-biometric": "2.0.0-beta.2",
"@tauri-apps/plugin-cli": "2.0.0-beta.2",
@@ -24,17 +24,17 @@
"@tauri-apps/plugin-process": "2.0.0-beta.2",
"@tauri-apps/plugin-shell": "2.0.0-beta.2",
"@tauri-apps/plugin-updater": "2.0.0-beta.2",
"@zerodevx/svelte-json-view": "1.0.7"
"@zerodevx/svelte-json-view": "1.0.9"
},
"devDependencies": {
"@iconify-json/codicon": "^1.1.37",
"@iconify-json/ph": "^1.1.8",
"@sveltejs/vite-plugin-svelte": "^3.0.1",
"@tauri-apps/cli": "2.0.0-beta.9",
"@unocss/extractor-svelte": "^0.58.0",
"@tauri-apps/cli": "2.0.0-beta.13",
"@unocss/extractor-svelte": "^0.59.0",
"internal-ip": "^8.0.0",
"svelte": "^4.2.8",
"unocss": "^0.58.0",
"vite": "^5.0.12"
"unocss": "^0.59.0",
"vite": "^5.0.13"
}
}
+20
View File
@@ -1,5 +1,25 @@
# Changelog
## \[2.0.0-beta.6]
### Dependencies
- Upgraded to `notification@2.0.0-beta.4`
- Upgraded to `barcode-scanner@2.0.0-beta.4`
- Upgraded to `dialog@2.0.0-beta.6`
- Upgraded to `fs@2.0.0-beta.6`
- Upgraded to `http@2.0.0-beta.6`
## \[2.0.0-beta.5]
### Dependencies
- Upgraded to `clipboard-manager@2.1.0-beta.1`
- Upgraded to `http@2.0.0-beta.5`
- Upgraded to `updater@2.0.0-beta.4`
- Upgraded to `dialog@2.0.0-beta.5`
- Upgraded to `fs@2.0.0-beta.5`
## \[2.0.0-beta.4]
### Dependencies
+9 -9
View File
@@ -1,7 +1,7 @@
[package]
name = "api"
publish = false
version = "2.0.0-beta.4"
version = "2.0.0-beta.6"
description = "An example Tauri Application showcasing the api"
edition = "2021"
rust-version = { workspace = true }
@@ -17,14 +17,14 @@ tauri-build = { workspace = true, features = [ "codegen", "isolation" ] }
[dependencies]
serde_json = { workspace = true }
serde = { workspace = true }
tiny_http = "0.11"
tiny_http = "0.12"
log = { workspace = true }
tauri-plugin-log = { path = "../../../plugins/log", version = "2.0.0-beta.3" }
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-beta.4", features = [ "watch" ] }
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.1.0-beta.0" }
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-beta.4" }
tauri-plugin-http = { path = "../../../plugins/http", features = [ "multipart" ], version = "2.0.0-beta.4" }
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-beta.3", features = [ "windows7-compat" ] }
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-beta.6", features = [ "watch" ] }
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.1.0-beta.1" }
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-beta.6" }
tauri-plugin-http = { path = "../../../plugins/http", features = [ "multipart" ], version = "2.0.0-beta.6" }
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-beta.4", features = [ "windows7-compat" ] }
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.0-beta.3" }
tauri-plugin-process = { path = "../../../plugins/process", version = "2.0.0-beta.3" }
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-beta.3" }
@@ -43,10 +43,10 @@ tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-beta.3"
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
tauri-plugin-cli = { path = "../../../plugins/cli", version = "2.0.0-beta.3" }
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.0.0-beta.3" }
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-beta.3" }
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-beta.4" }
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-beta.3" }
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-beta.4" }
tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.0.0-beta.3" }
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.0.0-beta.3" }
@@ -22,10 +22,16 @@
"tray:default",
"event:default",
"window:default",
"window:allow-minimize",
"window:allow-maximize",
"window:allow-unmaximize",
"window:allow-close",
"window:allow-start-dragging",
"image:default",
"notification:default",
"os:allow-platform",
"dialog:allow-open",
"dialog:allow-ask",
"dialog:allow-save",
"dialog:allow-confirm",
"dialog:allow-message",
@@ -56,6 +62,8 @@
},
"shell:allow-kill",
"shell:allow-stdin-write",
"process:allow-exit",
"process:allow-restart",
"clipboard-manager:allow-read-text",
"clipboard-manager:allow-write-text",
"clipboard-manager:allow-read-image",
@@ -5983,6 +5983,13 @@
"webview:allow-set-webview-size"
]
},
{
"description": "webview:allow-set-webview-zoom -> Enables the set_webview_zoom command without any pre-configured scope.",
"type": "string",
"enum": [
"webview:allow-set-webview-zoom"
]
},
{
"description": "webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.",
"type": "string",
@@ -6060,6 +6067,13 @@
"webview:deny-set-webview-size"
]
},
{
"description": "webview:deny-set-webview-zoom -> Denies the set_webview_zoom command without any pre-configured scope.",
"type": "string",
"enum": [
"webview:deny-set-webview-zoom"
]
},
{
"description": "webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.",
"type": "string",
+6 -4
View File
@@ -145,10 +145,12 @@ pub fn run() {
app.run(move |_app_handle, _event| {
#[cfg(desktop)]
if let RunEvent::ExitRequested { api, .. } = &_event {
// Keep the event loop running even if all windows are closed
// This allow us to catch system tray events when there is no window
api.prevent_exit();
if let RunEvent::ExitRequested { code, api, .. } = &_event {
if code.is_none() {
// Keep the event loop running even if all windows are closed
// This allow us to catch system tray events when there is no window
api.prevent_exit();
}
}
})
}
+11 -10
View File
@@ -13,26 +13,27 @@
"@rollup/plugin-node-resolve": "15.2.3",
"@rollup/plugin-terser": "0.4.4",
"@rollup/plugin-typescript": "11.1.6",
"@typescript-eslint/eslint-plugin": "6.20.0",
"@typescript-eslint/parser": "6.20.0",
"@typescript-eslint/eslint-plugin": "7.7.1",
"@typescript-eslint/parser": "7.7.1",
"covector": "^0.10.2",
"eslint": "8.56.0",
"eslint": "8.57.0",
"eslint-config-prettier": "9.1.0",
"eslint-config-standard-with-typescript": "43.0.1",
"eslint-config-love": "43.1.0",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-n": "16.6.2",
"eslint-plugin-n": "17.2.1",
"eslint-plugin-promise": "6.1.1",
"eslint-plugin-security": "2.1.0",
"prettier": "3.2.2",
"rollup": "4.9.6",
"typescript": "5.3.3"
"eslint-plugin-security": "3.0.0",
"prettier": "3.2.5",
"rollup": "4.16.2",
"tslib": "2.6.2",
"typescript": "5.4.5"
},
"resolutions": {
"semver": ">=7.5.2",
"optionator": ">=0.9.3"
},
"engines": {
"pnpm": ">=7.33.1"
"pnpm": "^8.0.0"
},
"pnpm": {
"auditConfig": {
+4
View File
@@ -1,5 +1,9 @@
# Changelog
## \[2.0.0-beta.4]
- [`7e2fcc5`](https://github.com/tauri-apps/plugins-workspace/commit/7e2fcc5e74df7c3c718e40f75bfb0eafc7d69d8d)([#1146](https://github.com/tauri-apps/plugins-workspace/pull/1146)) Update dependencies to align with tauri 2.0.0-beta.14.
## \[2.0.0-beta.3]
- [`a04ea2f`](https://github.com/tauri-apps/plugins-workspace/commit/a04ea2f38294d5a3987578283badc8eec87a7752)([#1071](https://github.com/tauri-apps/plugins-workspace/pull/1071)) The global API script is now only added to the binary when the `withGlobalTauri` config is true.
+3 -2
View File
@@ -1,11 +1,12 @@
[package]
name = "tauri-plugin-authenticator"
version = "2.0.0-beta.3"
version = "2.0.0-beta.4"
description = "Use hardware security-keys in your Tauri App."
authors = { workspace = true }
license = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-authenticator"
[package.metadata.docs.rs]
@@ -26,7 +27,7 @@ thiserror = { workspace = true }
authenticator = "0.3.1"
once_cell = "1"
sha2 = "0.10"
base64 = "0.21"
base64 = "0.22"
chrono = "0.4"
bytes = "1"
byteorder = "1"
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_AUTHENTICATOR__=function(t){"use strict";async function i(t,i={},a){return window.__TAURI_INTERNALS__.invoke(t,i,a)}"function"==typeof SuppressedError&&SuppressedError;return t.Authenticator=class{async init(){return await i("plugin:authenticator|init_auth")}async register(t,a){return await i("plugin:authenticator|register",{timeout:1e4,challenge:t,application:a})}async verifyRegistration(t,a,e,n){return await i("plugin:authenticator|verify_registration",{challenge:t,application:a,registerData:e,clientData:n})}async sign(t,a,e){return await i("plugin:authenticator|sign",{timeout:1e4,challenge:t,application:a,keyHandle:e})}async verifySignature(t,a,e,n,r,u){return await i("plugin:authenticator|verify_signature",{challenge:t,application:a,signData:e,clientData:n,keyHandle:r,pubkey:u})}},t}({});Object.defineProperty(window.__TAURI__,"authenticator",{value:__TAURI_PLUGIN_AUTHENTICATOR__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_AUTHENTICATOR__=function(t){"use strict";async function i(t,i={},a){return window.__TAURI_INTERNALS__.invoke(t,i,a)}"function"==typeof SuppressedError&&SuppressedError;return t.Authenticator=class{async init(){await i("plugin:authenticator|init_auth")}async register(t,a){return await i("plugin:authenticator|register",{timeout:1e4,challenge:t,application:a})}async verifyRegistration(t,a,e,n){return await i("plugin:authenticator|verify_registration",{challenge:t,application:a,registerData:e,clientData:n})}async sign(t,a,e){return await i("plugin:authenticator|sign",{timeout:1e4,challenge:t,application:a,keyHandle:e})}async verifySignature(t,a,e,n,r,u){return await i("plugin:authenticator|verify_signature",{challenge:t,application:a,signData:e,clientData:n,keyHandle:r,pubkey:u})}},t}({});Object.defineProperty(window.__TAURI__,"authenticator",{value:__TAURI_PLUGIN_AUTHENTICATOR__})}
+1 -1
View File
@@ -6,7 +6,7 @@ import { invoke } from "@tauri-apps/api/core";
export class Authenticator {
async init(): Promise<void> {
return await invoke("plugin:authenticator|init_auth");
await invoke("plugin:authenticator|init_auth");
}
async register(challenge: string, application: string): Promise<string> {
+1 -1
View File
@@ -24,6 +24,6 @@
"LICENSE"
],
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6"
"@tauri-apps/api": "2.0.0-beta.8"
}
}
+4 -3
View File
@@ -6,14 +6,15 @@ authors = { workspace = true }
license = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-autostart"
[package.metadata.docs.rs]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
rustc-args = ["--cfg", "docsrs"]
rustdoc-args = ["--cfg", "docsrs"]
[build-dependencies]
tauri-plugin = { workspace = true, features = [ "build" ] }
tauri-plugin = { workspace = true, features = ["build"] }
[dependencies]
serde = { workspace = true }
+1 -1
View File
@@ -23,6 +23,6 @@
"LICENSE"
],
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6"
"@tauri-apps/api": "2.0.0-beta.8"
}
}
+4
View File
@@ -1,5 +1,9 @@
# Changelog
## \[2.0.0-beta.4]
- [`326df688`](https://github.com/tauri-apps/plugins-workspace/commit/326df6883998d416fc0837583ed972854628bb52)([#1236](https://github.com/tauri-apps/plugins-workspace/pull/1236)) Fixes command argument parsing on iOS.
## \[2.0.0-beta.3]
- [`a04ea2f`](https://github.com/tauri-apps/plugins-workspace/commit/a04ea2f38294d5a3987578283badc8eec87a7752)([#1071](https://github.com/tauri-apps/plugins-workspace/pull/1071)) The global API script is now only added to the binary when the `withGlobalTauri` config is true.
+2 -1
View File
@@ -1,11 +1,12 @@
[package]
name = "tauri-plugin-barcode-scanner"
version = "2.0.0-beta.3"
version = "2.0.0-beta.4"
description = "Scan QR codes, EAN-13 and other kinds of barcodes on Android and iOS"
edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-barcode-scanner"
[package.metadata.docs.rs]
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_BARCODESCANNER__=function(n){"use strict";async function e(n,e={},r){return window.__TAURI_INTERNALS__.invoke(n,e,r)}var r;return"function"==typeof SuppressedError&&SuppressedError,n.Format=void 0,(r=n.Format||(n.Format={})).QRCode="QR_CODE",r.UPC_A="UPC_A",r.UPC_E="UPC_E",r.EAN8="EAN_8",r.EAN13="EAN_13",r.Code39="CODE_39",r.Code93="CODE_93",r.Code128="CODE_128",r.Codabar="CODABAR",r.ITF="ITF",r.Aztec="AZTEC",r.DataMatrix="DATA_MATRIX",r.PDF417="PDF_417",n.cancel=async function(){return await e("plugin:barcode-scanner|cancel")},n.checkPermissions=async function(){return await e("plugin:barcode-scanner|check_permissions").then((n=>n.camera))},n.openAppSettings=async function(){return await e("plugin:barcode-scanner|open_app_settings")},n.requestPermissions=async function(){return await e("plugin:barcode-scanner|request_permissions").then((n=>n.camera))},n.scan=async function(n){return await e("plugin:barcode-scanner|scan",{...n})},n}({});Object.defineProperty(window.__TAURI__,"barcodeScanner",{value:__TAURI_PLUGIN_BARCODESCANNER__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_BARCODESCANNER__=function(n){"use strict";async function e(n,e={},a){return window.__TAURI_INTERNALS__.invoke(n,e,a)}var a;return"function"==typeof SuppressedError&&SuppressedError,n.Format=void 0,(a=n.Format||(n.Format={})).QRCode="QR_CODE",a.UPC_A="UPC_A",a.UPC_E="UPC_E",a.EAN8="EAN_8",a.EAN13="EAN_13",a.Code39="CODE_39",a.Code93="CODE_93",a.Code128="CODE_128",a.Codabar="CODABAR",a.ITF="ITF",a.Aztec="AZTEC",a.DataMatrix="DATA_MATRIX",a.PDF417="PDF_417",n.cancel=async function(){await e("plugin:barcode-scanner|cancel")},n.checkPermissions=async function(){return await e("plugin:barcode-scanner|check_permissions").then((n=>n.camera))},n.openAppSettings=async function(){await e("plugin:barcode-scanner|open_app_settings")},n.requestPermissions=async function(){return await e("plugin:barcode-scanner|request_permissions").then((n=>n.camera))},n.scan=async function(n){return await e("plugin:barcode-scanner|scan",{...n})},n}({});Object.defineProperty(window.__TAURI__,"barcodeScanner",{value:__TAURI_PLUGIN_BARCODESCANNER__})}
+2 -2
View File
@@ -46,7 +46,7 @@ export async function scan(options?: ScanOptions): Promise<Scanned> {
* Cancel the current scan process.
*/
export async function cancel(): Promise<void> {
return await invoke("plugin:barcode-scanner|cancel");
await invoke("plugin:barcode-scanner|cancel");
}
/**
@@ -71,5 +71,5 @@ export async function requestPermissions(): Promise<PermissionState> {
* Open application settings. Useful if permission was denied and the user must manually enable it.
*/
export async function openAppSettings(): Promise<void> {
return await invoke("plugin:barcode-scanner|open_app_settings");
await invoke("plugin:barcode-scanner|open_app_settings");
}
@@ -8,7 +8,7 @@ import UIKit
import WebKit
struct ScanOptions: Decodable {
var formats: [SupportedFormat] = []
var formats: [SupportedFormat]?
let windowed: Bool?
let cameraDirection: String?
}
@@ -241,7 +241,7 @@ class BarcodeScannerPlugin: Plugin, AVCaptureMetadataOutputObjectsDelegate {
private func runScanner(_ invoke: Invoke, args: ScanOptions) {
scanFormats = [AVMetadataObject.ObjectType]()
args.formats.forEach { format in
(args.formats ?? []).forEach { format in
scanFormats.append(format.value)
}
+1 -1
View File
@@ -24,6 +24,6 @@
"LICENSE"
],
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6"
"@tauri-apps/api": "2.0.0-beta.8"
}
}
+1 -1
View File
@@ -27,7 +27,7 @@ pub struct BarcodeScanner<R: Runtime>(PluginHandle<R>);
impl<R: Runtime> BarcodeScanner<R> {}
/// Extensions to [`tauri::App`], [`tauri::AppHandle`] and [`tauri::Window`] to access the barcode scanner APIs.
/// Extensions to [`tauri::App`], [`tauri::AppHandle`], [`tauri::WebviewWindow`], [`tauri::Webview`] and [`tauri::Window`] to access the barcode scanner APIs.
pub trait BarcodeScannerExt<R: Runtime> {
fn barcode_scanner(&self) -> &BarcodeScanner<R>;
}
+4 -3
View File
@@ -5,14 +5,15 @@ description = "Prompt the user for biometric authentication on Android and iOS."
edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-biometric"
[package.metadata.docs.rs]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
rustc-args = ["--cfg", "docsrs"]
rustdoc-args = ["--cfg", "docsrs"]
[build-dependencies]
tauri-plugin = { workspace = true, features = [ "build" ] }
tauri-plugin = { workspace = true, features = ["build"] }
[dependencies]
serde = { workspace = true }
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_BIOMETRIC__=function(e){"use strict";async function n(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}var r;return"function"==typeof SuppressedError&&SuppressedError,e.BiometryType=void 0,(r=e.BiometryType||(e.BiometryType={}))[r.None=0]="None",r[r.TouchID=1]="TouchID",r[r.FaceID=2]="FaceID",r[r.Iris=3]="Iris",e.authenticate=async function(e,r){return n("plugin:biometric|authenticate",{reason:e,...r})},e.checkStatus=async function(){return n("plugin:biometric|status")},e}({});Object.defineProperty(window.__TAURI__,"biometric",{value:__TAURI_PLUGIN_BIOMETRIC__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_BIOMETRIC__=function(e){"use strict";async function i(e,i={},t){return window.__TAURI_INTERNALS__.invoke(e,i,t)}var t;return"function"==typeof SuppressedError&&SuppressedError,e.BiometryType=void 0,(t=e.BiometryType||(e.BiometryType={}))[t.None=0]="None",t[t.TouchID=1]="TouchID",t[t.FaceID=2]="FaceID",t[t.Iris=3]="Iris",e.authenticate=async function(e,t){await i("plugin:biometric|authenticate",{reason:e,...t})},e.checkStatus=async function(){return await i("plugin:biometric|status")},e}({});Object.defineProperty(window.__TAURI__,"biometric",{value:__TAURI_PLUGIN_BIOMETRIC__})}
+2 -2
View File
@@ -51,7 +51,7 @@ export interface AuthOptions {
* @returns a promise resolving to an object containing all the information about the status of the biometry.
*/
export async function checkStatus(): Promise<Status> {
return invoke("plugin:biometric|status");
return await invoke("plugin:biometric|status");
}
/**
@@ -70,7 +70,7 @@ export async function authenticate(
reason: string,
options?: AuthOptions,
): Promise<void> {
return invoke("plugin:biometric|authenticate", {
await invoke("plugin:biometric|authenticate", {
reason,
...options,
});
+1 -4
View File
@@ -23,10 +23,7 @@
"README.md",
"LICENSE"
],
"devDependencies": {
"tslib": "2.6.0"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6"
"@tauri-apps/api": "2.0.0-beta.8"
}
}
+1 -1
View File
@@ -45,7 +45,7 @@ impl<R: Runtime> Biometric<R> {
}
}
/// Extensions to [`tauri::App`], [`tauri::AppHandle`] and [`tauri::Window`] to access the biometric APIs.
/// Extensions to [`tauri::App`], [`tauri::AppHandle`], [`tauri::WebviewWindow`], [`tauri::Webview`] and [`tauri::Window`] to access the biometric APIs.
pub trait BiometricExt<R: Runtime> {
fn biometric(&self) -> &Biometric<R>;
}
+5 -4
View File
@@ -6,14 +6,15 @@ edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-cli"
[package.metadata.docs.rs]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
rustc-args = ["--cfg", "docsrs"]
rustdoc-args = ["--cfg", "docsrs"]
[build-dependencies]
tauri-plugin = { workspace = true, features = [ "build" ] }
tauri-plugin = { workspace = true, features = ["build"] }
[dependencies]
serde = { workspace = true }
@@ -21,4 +22,4 @@ serde_json = { workspace = true }
tauri = { workspace = true }
log = { workspace = true }
thiserror = { workspace = true }
clap = { version = "4", features = [ "string" ] }
clap = { version = "4", features = ["string"] }
+1 -1
View File
@@ -23,6 +23,6 @@
"LICENSE"
],
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6"
"@tauri-apps/api": "2.0.0-beta.8"
}
}
+7 -1
View File
@@ -1,5 +1,11 @@
# Changelog
## \[2.1.0-beta.1]
- [`27b258c`](https://github.com/tauri-apps/plugins-workspace/commit/27b258cf31ae5557c99ae66537fb9196368d4d8b)([#1185](https://github.com/tauri-apps/plugins-workspace/pull/1185)) Expose `Clipboard` struct
- [`e3d41f4`](https://github.com/tauri-apps/plugins-workspace/commit/e3d41f4011bd3ea3ce281bb38bbe31d3709f8e0f)([#1191](https://github.com/tauri-apps/plugins-workspace/pull/1191)) Internally use the webview scoped resources table instead of the app one, so other webviews can't access other webviews resources.
- [`e3d41f4`](https://github.com/tauri-apps/plugins-workspace/commit/e3d41f4011bd3ea3ce281bb38bbe31d3709f8e0f)([#1191](https://github.com/tauri-apps/plugins-workspace/pull/1191)) Update for tauri 2.0.0-beta.15.
## \[2.1.0-beta.0]
- [`9dec960`](https://github.com/tauri-apps/plugins-workspace/commit/9dec9605ed1ce19dbef697e55debddf9008ecba1)([#845](https://github.com/tauri-apps/plugins-workspace/pull/845)) Add support for `read_image` and `write_image` to the clipboard plugin (desktop).
@@ -51,7 +57,7 @@
- [`717ae67`](https://github.com/tauri-apps/plugins-workspace/commit/717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
`](https://github.com/tauri-apps/plugins-workspace/commit/717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
\`]\(https://github.com/tauri-apps/plugins-workspace/commit/717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
te to alpha.11.
## \[2.0.0-alpha.0]
+2 -1
View File
@@ -1,11 +1,12 @@
[package]
name = "tauri-plugin-clipboard-manager"
version = "2.1.0-beta.0"
version = "2.1.0-beta.1"
description = "Read and write to the system clipboard."
edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-clipboard-manager"
[package.metadata.docs.rs]
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_CLIPBOARDMANAGER__=function(e){"use strict";var r;async function t(e,r={},t){return window.__TAURI_INTERNALS__.invoke(e,r,t)}"function"==typeof SuppressedError&&SuppressedError;class n{get rid(){return function(e,r,t,n){if("a"===t&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof r?e!==r||!n:!r.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?n:"a"===t?n.call(e):n?n.value:r.get(e)}(this,r,"f")}constructor(e){r.set(this,void 0),function(e,r,t,n,a){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof r?e!==r||!a:!r.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?a.call(e,t):a?a.value=t:r.set(e,t)}(this,r,e,"f")}async close(){return t("plugin:resources|close",{rid:this.rid})}}r=new WeakMap;class a extends n{constructor(e){super(e)}static async new(e,r,n){return t("plugin:image|new",{rgba:i(e),width:r,height:n}).then((e=>new a(e)))}static async fromBytes(e){return t("plugin:image|from_bytes",{bytes:i(e)}).then((e=>new a(e)))}static async fromPath(e){return t("plugin:image|from_path",{path:e}).then((e=>new a(e)))}async rgba(){return t("plugin:image|rgba",{rid:this.rid}).then((e=>new Uint8Array(e)))}async size(){return t("plugin:image|size",{rid:this.rid})}}function i(e){return null==e?null:"string"==typeof e?e:e instanceof Uint8Array?Array.from(e):e instanceof ArrayBuffer?Array.from(new Uint8Array(e)):e instanceof a?e.rid:e}return e.clear=async function(){await t("plugin:clipboard-manager|clear")},e.readImage=async function(){return await t("plugin:clipboard-manager|read_image").then((e=>new a(e)))},e.readText=async function(){return(await t("plugin:clipboard-manager|read_text")).plainText.text},e.writeHtml=async function(e,r){return t("plugin:clipboard-manager|write_html",{data:{html:{html:e,altHtml:r}}})},e.writeImage=async function(e){return t("plugin:clipboard-manager|write_image",{data:{image:{image:i(e)}}})},e.writeText=async function(e,r){return t("plugin:clipboard-manager|write_text",{data:{plainText:{label:r?.label,text:e}}})},e}({});Object.defineProperty(window.__TAURI__,"clipboardManager",{value:__TAURI_PLUGIN_CLIPBOARDMANAGER__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_CLIPBOARDMANAGER__=function(e){"use strict";var t;async function n(e,t={},n){return window.__TAURI_INTERNALS__.invoke(e,t,n)}"function"==typeof SuppressedError&&SuppressedError;class r{get rid(){return function(e,t,n,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t.get(e)}(this,t)}constructor(e){t.set(this,void 0),function(e,t,n,r,a){if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");t.set(e,n)}(this,t,e)}async close(){return n("plugin:resources|close",{rid:this.rid})}}t=new WeakMap;class a extends r{constructor(e){super(e)}static async new(e,t,r){return n("plugin:image|new",{rgba:i(e),width:t,height:r}).then((e=>new a(e)))}static async fromBytes(e){return n("plugin:image|from_bytes",{bytes:i(e)}).then((e=>new a(e)))}static async fromPath(e){return n("plugin:image|from_path",{path:e}).then((e=>new a(e)))}async rgba(){return n("plugin:image|rgba",{rid:this.rid}).then((e=>new Uint8Array(e)))}async size(){return n("plugin:image|size",{rid:this.rid})}}function i(e){return null==e?null:"string"==typeof e?e:e instanceof Uint8Array?Array.from(e):e instanceof ArrayBuffer?Array.from(new Uint8Array(e)):e instanceof a?e.rid:e}return e.clear=async function(){await n("plugin:clipboard-manager|clear")},e.readImage=async function(){return await n("plugin:clipboard-manager|read_image").then((e=>new a(e)))},e.readText=async function(){return(await n("plugin:clipboard-manager|read_text")).plainText.text},e.writeHtml=async function(e,t){await n("plugin:clipboard-manager|write_html",{data:{html:{html:e,altHtml:t}}})},e.writeImage=async function(e){await n("plugin:clipboard-manager|write_image",{data:{image:{image:i(e)}}})},e.writeText=async function(e,t){await n("plugin:clipboard-manager|write_text",{data:{plainText:{label:t?.label,text:e}}})},e}({});Object.defineProperty(window.__TAURI__,"clipboardManager",{value:__TAURI_PLUGIN_CLIPBOARDMANAGER__})}
+3 -4
View File
@@ -30,7 +30,7 @@ async function writeText(
text: string,
opts?: { label?: string },
): Promise<void> {
return invoke("plugin:clipboard-manager|write_text", {
await invoke("plugin:clipboard-manager|write_text", {
data: {
plainText: {
label: opts?.label,
@@ -93,7 +93,7 @@ async function readImage(): Promise<Image> {
async function writeImage(
image: string | Image | Uint8Array | ArrayBuffer | number[],
): Promise<void> {
return invoke("plugin:clipboard-manager|write_image", {
await invoke("plugin:clipboard-manager|write_image", {
data: {
image: {
image: transformImage(image),
@@ -117,7 +117,7 @@ async function writeImage(
* @since 2.0.0
*/
async function writeHtml(html: string, altHtml?: string): Promise<void> {
return invoke("plugin:clipboard-manager|write_html", {
await invoke("plugin:clipboard-manager|write_html", {
data: {
html: {
html,
@@ -138,7 +138,6 @@ async function writeHtml(html: string, altHtml?: string): Promise<void> {
*/
async function clear(): Promise<void> {
await invoke("plugin:clipboard-manager|clear");
return;
}
export { writeText, readText, writeHtml, clear, readImage, writeImage };
+1 -1
View File
@@ -23,6 +23,6 @@
"LICENSE"
],
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6"
"@tauri-apps/api": "2.0.0-beta.8"
}
}
+6 -5
View File
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
use tauri::{command, AppHandle, Manager, ResourceId, Runtime, State};
use tauri::{command, AppHandle, Manager, ResourceId, Runtime, State, Webview};
use crate::{ClipKind, Clipboard, ClipboardContents, Result};
@@ -17,11 +17,12 @@ pub(crate) async fn write_text<R: Runtime>(
#[command]
pub(crate) async fn write_image<R: Runtime>(
_app: AppHandle<R>,
webview: Webview<R>,
clipboard: State<'_, Clipboard<R>>,
data: ClipKind,
) -> Result<()> {
clipboard.write_image(data)
let resources_table = webview.resources_table();
clipboard.write_image_inner(data, &resources_table)
}
#[command]
@@ -34,11 +35,11 @@ pub(crate) async fn read_text<R: Runtime>(
#[command]
pub(crate) async fn read_image<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
clipboard: State<'_, Clipboard<R>>,
) -> Result<ResourceId> {
let image = clipboard.read_image()?.to_owned();
let mut resources_table = app.resources_table();
let mut resources_table = webview.resources_table();
let rid = resources_table.add(image);
Ok(rid)
}
+12 -3
View File
@@ -5,7 +5,7 @@
use arboard::ImageData;
use image::ImageEncoder;
use serde::de::DeserializeOwned;
use tauri::{image::Image, plugin::PluginApi, AppHandle, Runtime};
use tauri::{image::Image, plugin::PluginApi, AppHandle, Manager, ResourceTable, Runtime};
use crate::models::*;
@@ -39,11 +39,15 @@ impl<R: Runtime> Clipboard<R> {
}
}
pub fn write_image(&self, kind: ClipKind) -> crate::Result<()> {
pub(crate) fn write_image_inner(
&self,
kind: ClipKind,
resources_table: &ResourceTable,
) -> crate::Result<()> {
match kind {
ClipKind::Image { image, .. } => match &self.clipboard {
Ok(clipboard) => {
let image = image.into_img(&self.app)?;
let image = image.into_img(resources_table)?;
clipboard
.lock()
.unwrap()
@@ -60,6 +64,11 @@ impl<R: Runtime> Clipboard<R> {
}
}
pub fn write_image(&self, kind: ClipKind) -> crate::Result<()> {
let resources_table = self.app.resources_table();
self.write_image_inner(kind, &resources_table)
}
pub fn read_text(&self) -> crate::Result<ClipboardContents> {
match &self.clipboard {
Ok(clipboard) => {
+3 -3
View File
@@ -30,11 +30,11 @@ mod models;
pub use error::{Error, Result};
#[cfg(desktop)]
use desktop::Clipboard;
pub use desktop::Clipboard;
#[cfg(mobile)]
use mobile::Clipboard;
pub use mobile::Clipboard;
/// Extensions to [`tauri::App`], [`tauri::AppHandle`] and [`tauri::Window`] to access the clipboard APIs.
/// Extensions to [`tauri::App`], [`tauri::AppHandle`], [`tauri::WebviewWindow`], [`tauri::Webview`] and [`tauri::Window`] to access the clipboard APIs.
pub trait ClipboardExt<R: Runtime> {
fn clipboard(&self) -> &Clipboard<R>;
}
+10
View File
@@ -37,6 +37,16 @@ impl<R: Runtime> Clipboard<R> {
self.0.run_mobile_plugin("write", kind).map_err(Into::into)
}
pub(crate) fn write_image_inner(
&self,
kind: ClipKind,
resources_table: &tauri::ResourceTable,
) -> crate::Result<()> {
Err(crate::Error::Clipboard(
"Unsupported on this platform".to_string(),
))
}
pub fn write_image(&self, kind: ClipKind) -> crate::Result<()> {
Err(crate::Error::Clipboard(
"Unsupported on this platform".to_string(),
+5 -4
View File
@@ -6,17 +6,18 @@ authors = { workspace = true }
license = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-deep-link"
[package.metadata.docs.rs]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
targets = [ "x86_64-linux-android" ]
rustc-args = ["--cfg", "docsrs"]
rustdoc-args = ["--cfg", "docsrs"]
targets = ["x86_64-linux-android"]
[build-dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
tauri-plugin = { workspace = true, features = [ "build" ] }
tauri-plugin = { workspace = true, features = ["build"] }
[dependencies]
serde = { workspace = true }
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_DEEPLINK__=function(e){"use strict";function n(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}async function t(e,n={},t){return window.__TAURI_INTERNALS__.invoke(e,n,t)}var r;async function i(e,r,i){const _="string"==typeof i?.target?{kind:"AnyLabel",label:i.target}:i?.target??{kind:"Any"};return t("plugin:event|listen",{event:e,target:_,handler:n(r)}).then((n=>async()=>async function(e,n){await t("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function _(){return await t("plugin:deep-link|get_current")}return"function"==typeof SuppressedError&&SuppressedError,function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WEBVIEW_CREATED="tauri://webview-created",e.FILE_DROP="tauri://file-drop",e.FILE_DROP_HOVER="tauri://file-drop-hover",e.FILE_DROP_CANCELLED="tauri://file-drop-cancelled"}(r||(r={})),e.getCurrent=_,e.onOpenUrl=async function(e){const n=await _();return null!=n&&e(n),await i("deep-link://new-url",(n=>e(n.payload)))},e}({});Object.defineProperty(window.__TAURI__,"deepLink",{value:__TAURI_PLUGIN_DEEPLINK__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_DEEPLINK__=function(e){"use strict";function n(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}async function r(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}var t;async function i(e,t,i){return r("plugin:event|listen",{event:e,target:{kind:"Any"},handler:n(t)}).then((n=>async()=>async function(e,n){await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function _(){return await r("plugin:deep-link|get_current")}return"function"==typeof SuppressedError&&SuppressedError,function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_CREATED="tauri://window-created",e.WEBVIEW_CREATED="tauri://webview-created",e.DRAG="tauri://drag",e.DROP="tauri://drop",e.DROP_OVER="tauri://drop-over",e.DROP_CANCELLED="tauri://drag-cancelled"}(t||(t={})),e.getCurrent=_,e.onOpenUrl=async function(e){const n=await _();return null!=n&&e(n),await i("deep-link://new-url",(n=>{e(n.payload)}))},e}({});Object.defineProperty(window.__TAURI__,"deepLink",{value:__TAURI_PLUGIN_DEEPLINK__})}
@@ -8,7 +8,6 @@ pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
+3 -3
View File
@@ -10,13 +10,13 @@
"tauri": "tauri"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6",
"@tauri-apps/api": "2.0.0-beta.8",
"@tauri-apps/plugin-deep-link": "2.0.0-beta.2"
},
"devDependencies": {
"@tauri-apps/cli": "2.0.0-beta.9",
"@tauri-apps/cli": "2.0.0-beta.13",
"internal-ip": "^8.0.0",
"typescript": "^5.2.2",
"vite": "^5.0.12"
"vite": "^5.0.13"
}
}
+4 -4
View File
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: MIT
import { invoke } from "@tauri-apps/api/core";
import { UnlistenFn, listen } from "@tauri-apps/api/event";
import { type UnlistenFn, listen } from "@tauri-apps/api/event";
export async function getCurrent(): Promise<string[] | null> {
return await invoke<string[] | null>("plugin:deep-link|get_current");
@@ -19,7 +19,7 @@ export async function onOpenUrl(
handler(current);
}
return await listen<string[]>("deep-link://new-url", (event) =>
handler(event.payload),
);
return await listen<string[]>("deep-link://new-url", (event) => {
handler(event.payload);
});
}
+1 -1
View File
@@ -24,6 +24,6 @@
"LICENSE"
],
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6"
"@tauri-apps/api": "2.0.0-beta.8"
}
}
+1 -1
View File
@@ -114,7 +114,7 @@ mod imp {
pub use imp::DeepLink;
/// Extensions to [`tauri::App`], [`tauri::AppHandle`] and [`tauri::Window`] to access the deep-link APIs.
/// Extensions to [`tauri::App`], [`tauri::AppHandle`], [`tauri::WebviewWindow`], [`tauri::Webview`] and [`tauri::Window`] to access the deep-link APIs.
pub trait DeepLinkExt<R: Runtime> {
fn deep_link(&self) -> &DeepLink<R>;
}
+16
View File
@@ -1,5 +1,21 @@
# Changelog
## \[2.0.0-beta.6]
- [`326df688`](https://github.com/tauri-apps/plugins-workspace/commit/326df6883998d416fc0837583ed972854628bb52)([#1236](https://github.com/tauri-apps/plugins-workspace/pull/1236)) Fixes command argument parsing on iOS.
### Dependencies
- Upgraded to `fs@2.0.0-beta.6`
## \[2.0.0-beta.5]
- [`bb51a41`](https://github.com/tauri-apps/plugins-workspace/commit/bb51a41d67ebf989e8aedf10c4b1a7f9514d1bdf)([#1168](https://github.com/tauri-apps/plugins-workspace/pull/1168)) **Breaking Change:** All apis that return paths to the frontend will now remove the `\\?\` UNC prefix on Windows.
### Dependencies
- Upgraded to `fs@2.0.0-beta.5`
## \[2.0.0-beta.4]
- [`4cd8112`](https://github.com/tauri-apps/plugins-workspace/commit/4cd81126fdf25e1847546f8fdbd924aa4bfeabb5)([#1056](https://github.com/tauri-apps/plugins-workspace/pull/1056)) Fixed an issue where dialogs on android would return the Content URI instead of the file path
+4 -5
View File
@@ -1,11 +1,12 @@
[package]
name = "tauri-plugin-dialog"
version = "2.0.0-beta.4"
version = "2.0.0-beta.6"
description = "Native system dialogs for opening and saving files along with message dialogs on your Tauri application."
edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-dialog"
[package.metadata.docs.rs]
@@ -22,10 +23,8 @@ serde_json = { workspace = true }
tauri = { workspace = true }
log = { workspace = true }
thiserror = { workspace = true }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-beta.4" }
[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
glib = "0.16"
dunce = { workspace = true }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-beta.6" }
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
rfd = { version = "0.14", default-features = false, features = [ "tokio", "gtk3", "common-controls-v6" ] }
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_DIALOG__=function(t){"use strict";async function n(t,n={},e){return window.__TAURI_INTERNALS__.invoke(t,n,e)}return"function"==typeof SuppressedError&&SuppressedError,t.ask=async function(t,e){const o="string"==typeof e?{title:e}:e;return n("plugin:dialog|ask",{message:t.toString(),title:o?.title?.toString(),kind:o?.kind,okButtonLabel:o?.okLabel?.toString()??"Yes",cancelButtonLabel:o?.cancelLabel?.toString()??"No"})},t.confirm=async function(t,e){const o="string"==typeof e?{title:e}:e;return n("plugin:dialog|confirm",{message:t.toString(),title:o?.title?.toString(),kind:o?.kind,okButtonLabel:o?.okLabel?.toString()??"Ok",cancelButtonLabel:o?.cancelLabel?.toString()??"Cancel"})},t.message=async function(t,e){const o="string"==typeof e?{title:e}:e;return n("plugin:dialog|message",{message:t.toString(),title:o?.title?.toString(),kind:o?.kind,okButtonLabel:o?.okLabel?.toString()})},t.open=async function(t={}){return"object"==typeof t&&Object.freeze(t),n("plugin:dialog|open",{options:t})},t.save=async function(t={}){return"object"==typeof t&&Object.freeze(t),n("plugin:dialog|save",{options:t})},t}({});Object.defineProperty(window.__TAURI__,"dialog",{value:__TAURI_PLUGIN_DIALOG__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_DIALOG__=function(t){"use strict";async function n(t,n={},e){return window.__TAURI_INTERNALS__.invoke(t,n,e)}return"function"==typeof SuppressedError&&SuppressedError,t.ask=async function(t,e){const i="string"==typeof e?{title:e}:e;return await n("plugin:dialog|ask",{message:t.toString(),title:i?.title?.toString(),kind:i?.kind,okButtonLabel:i?.okLabel?.toString()??"Yes",cancelButtonLabel:i?.cancelLabel?.toString()??"No"})},t.confirm=async function(t,e){const i="string"==typeof e?{title:e}:e;return await n("plugin:dialog|confirm",{message:t.toString(),title:i?.title?.toString(),kind:i?.kind,okButtonLabel:i?.okLabel?.toString()??"Ok",cancelButtonLabel:i?.cancelLabel?.toString()??"Cancel"})},t.message=async function(t,e){const i="string"==typeof e?{title:e}:e;await n("plugin:dialog|message",{message:t.toString(),title:i?.title?.toString(),kind:i?.kind,okButtonLabel:i?.okLabel?.toString()})},t.open=async function(t={}){return"object"==typeof t&&Object.freeze(t),await n("plugin:dialog|open",{options:t})},t.save=async function(t={}){return"object"==typeof t&&Object.freeze(t),await n("plugin:dialog|save",{options:t})},t}({});Object.defineProperty(window.__TAURI__,"dialog",{value:__TAURI_PLUGIN_DIALOG__})}
+6 -5
View File
@@ -163,13 +163,14 @@ type OpenDialogReturn<T extends OpenDialogOptions> = T["directory"] extends true
* @since 2.0.0
*/
async function open<T extends OpenDialogOptions>(
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
options: T = {} as T,
): Promise<OpenDialogReturn<T>> {
if (typeof options === "object") {
Object.freeze(options);
}
return invoke("plugin:dialog|open", { options });
return await invoke("plugin:dialog|open", { options });
}
/**
@@ -201,7 +202,7 @@ async function save(options: SaveDialogOptions = {}): Promise<string | null> {
Object.freeze(options);
}
return invoke("plugin:dialog|save", { options });
return await invoke("plugin:dialog|save", { options });
}
/**
@@ -226,7 +227,7 @@ async function message(
options?: string | MessageDialogOptions,
): Promise<void> {
const opts = typeof options === "string" ? { title: options } : options;
return invoke("plugin:dialog|message", {
await invoke("plugin:dialog|message", {
message: message.toString(),
title: opts?.title?.toString(),
kind: opts?.kind,
@@ -255,7 +256,7 @@ async function ask(
options?: string | ConfirmDialogOptions,
): Promise<boolean> {
const opts = typeof options === "string" ? { title: options } : options;
return invoke("plugin:dialog|ask", {
return await invoke("plugin:dialog|ask", {
message: message.toString(),
title: opts?.title?.toString(),
kind: opts?.kind,
@@ -285,7 +286,7 @@ async function confirm(
options?: string | ConfirmDialogOptions,
): Promise<boolean> {
const opts = typeof options === "string" ? { title: options } : options;
return invoke("plugin:dialog|confirm", {
return await invoke("plugin:dialog|confirm", {
message: message.toString(),
title: opts?.title?.toString(),
kind: opts?.kind,
+3 -3
View File
@@ -5,14 +5,14 @@
import { invoke } from "@tauri-apps/api/core";
window.alert = function (message: string) {
invoke("plugin:dialog|message", {
void invoke("plugin:dialog|message", {
message: message.toString(),
});
};
// @ts-expect-error tauri does not have sync IPC :(
window.confirm = function (message: string) {
return invoke("plugin:dialog|confirm", {
window.confirm = async function (message: string) {
return await invoke("plugin:dialog|confirm", {
message: message.toString(),
});
};
+40 -28
View File
@@ -19,18 +19,18 @@ enum FilePickerEvent {
struct MessageDialogOptions: Decodable {
let title: String?
let message: String
var okButtonLabel = "OK"
var cancelButtonLabel = "Cancel"
let okButtonLabel: String?
let cancelButtonLabel: String?
}
struct Filter: Decodable {
var extensions: [String] = []
var extensions: [String]?
}
struct FilePickerOptions: Decodable {
var multiple = false
var readData = false
var filters: [Filter] = []
var multiple: Bool?
var readData: Bool?
var filters: [Filter]?
}
class DialogPlugin: Plugin {
@@ -47,7 +47,7 @@ class DialogPlugin: Plugin {
@objc public func showFilePicker(_ invoke: Invoke) throws {
let args = try invoke.parseArgs(FilePickerOptions.self)
let parsedTypes = parseFiltersOption(args.filters)
let parsedTypes = parseFiltersOption(args.filters ?? [])
var isMedia = true
var uniqueMimeType: Bool? = nil
@@ -74,7 +74,7 @@ class DialogPlugin: Plugin {
DispatchQueue.main.async {
if #available(iOS 14, *) {
var configuration = PHPickerConfiguration(photoLibrary: PHPhotoLibrary.shared())
configuration.selectionLimit = args.multiple ? 0 : 1
configuration.selectionLimit = (args.multiple ?? false) ? 0 : 1
if uniqueMimeType == true {
if mimeKind == "image" {
@@ -106,7 +106,7 @@ class DialogPlugin: Plugin {
DispatchQueue.main.async {
let picker = UIDocumentPickerViewController(documentTypes: documentTypes, in: .import)
picker.delegate = self.filePickerController
picker.allowsMultipleSelection = args.multiple
picker.allowsMultipleSelection = args.multiple ?? false
picker.modalPresentationStyle = .fullScreen
self.presentViewController(picker)
}
@@ -120,7 +120,7 @@ class DialogPlugin: Plugin {
private func parseFiltersOption(_ filters: [Filter]) -> [String] {
var parsedTypes: [String] = []
for filter in filters {
for ext in filter.extensions {
for ext in filter.extensions ?? [] {
guard
let utType: String = UTTypeCreatePreferredIdentifierForTag(
kUTTagClassMIMEType, ext as CFString, nil)?.takeRetainedValue() as String?
@@ -197,24 +197,36 @@ class DialogPlugin: Plugin {
DispatchQueue.main.async { [] in
let alert = UIAlertController(
title: args.title, message: args.message, preferredStyle: UIAlertController.Style.alert)
alert.addAction(
UIAlertAction(
title: args.cancelButtonLabel, style: UIAlertAction.Style.default,
handler: { (_) -> Void in
invoke.resolve([
"value": false,
"cancelled": false,
])
}))
alert.addAction(
UIAlertAction(
title: args.okButtonLabel, style: UIAlertAction.Style.default,
handler: { (_) -> Void in
invoke.resolve([
"value": true,
"cancelled": false,
])
}))
let cancelButtonLabel = args.cancelButtonLabel ?? ""
if !cancelButtonLabel.isEmpty {
alert.addAction(
UIAlertAction(
title: cancelButtonLabel, style: UIAlertAction.Style.default,
handler: { (_) -> Void in
Logger.error("cancel")
invoke.resolve([
"value": false,
"cancelled": false,
])
}))
}
let okButtonLabel = args.okButtonLabel ?? (cancelButtonLabel.isEmpty ? "OK" : "")
if !okButtonLabel.isEmpty {
alert.addAction(
UIAlertAction(
title: okButtonLabel, style: UIAlertAction.Style.default,
handler: { (_) -> Void in
Logger.error("ok")
invoke.resolve([
"value": true,
"cancelled": false,
])
}))
}
manager.viewController?.present(alert, animated: true, completion: nil)
}
+1 -1
View File
@@ -23,6 +23,6 @@
"LICENSE"
],
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6"
"@tauri-apps/api": "2.0.0-beta.8"
}
}
+21 -5
View File
@@ -129,7 +129,12 @@ pub(crate) async fn open<R: Runtime>(
}
}
}
OpenResponse::Folders(folders)
OpenResponse::Folders(folders.map(|folders| {
folders
.iter()
.map(|p| dunce::simplified(p).to_path_buf())
.collect()
}))
} else {
let folder = dialog_builder.blocking_pick_folder();
if let Some(path) = &folder {
@@ -137,7 +142,7 @@ pub(crate) async fn open<R: Runtime>(
s.allow_directory(path, options.recursive);
}
}
OpenResponse::Folder(folder)
OpenResponse::Folder(folder.map(|p| dunce::simplified(&p).to_path_buf()))
}
}
#[cfg(mobile)]
@@ -154,7 +159,15 @@ pub(crate) async fn open<R: Runtime>(
.allow_file(&file.path)?;
}
}
OpenResponse::Files(files)
OpenResponse::Files(files.map(|files| {
files
.into_iter()
.map(|mut f| {
f.path = dunce::simplified(&f.path).to_path_buf();
f
})
.collect()
}))
} else {
let file = dialog_builder.blocking_pick_file();
if let Some(file) = &file {
@@ -165,7 +178,10 @@ pub(crate) async fn open<R: Runtime>(
.state::<tauri::scope::Scopes>()
.allow_file(&file.path)?;
}
OpenResponse::File(file)
OpenResponse::File(file.map(|mut f| {
f.path = dunce::simplified(&f.path).to_path_buf();
f
}))
};
Ok(res)
}
@@ -208,7 +224,7 @@ pub(crate) async fn save<R: Runtime>(
window.state::<tauri::scope::Scopes>().allow_file(p)?;
}
Ok(path)
Ok(path.map(|p| dunce::simplified(&p).to_path_buf()))
}
}
+1 -1
View File
@@ -1 +1 @@
!function(){"use strict";async function n(n,i={},o){return window.__TAURI_INTERNALS__.invoke(n,i,o)}"function"==typeof SuppressedError&&SuppressedError,window.alert=function(i){n("plugin:dialog|message",{message:i.toString()})},window.confirm=function(i){return n("plugin:dialog|confirm",{message:i.toString()})}}();
!function(){"use strict";async function n(n,i={},o){return window.__TAURI_INTERNALS__.invoke(n,i,o)}"function"==typeof SuppressedError&&SuppressedError,window.alert=function(i){n("plugin:dialog|message",{message:i.toString()})},window.confirm=async function(i){return await n("plugin:dialog|confirm",{message:i.toString()})}}();
+1 -1
View File
@@ -51,7 +51,7 @@ macro_rules! blocking_fn {
}};
}
/// Extensions to [`tauri::App`], [`tauri::AppHandle`] and [`tauri::Window`] to access the dialog APIs.
/// Extensions to [`tauri::App`], [`tauri::AppHandle`], [`tauri::WebviewWindow`], [`tauri::Webview`] and [`tauri::Window`] to access the dialog APIs.
pub trait DialogExt<R: Runtime> {
fn dialog(&self) -> &Dialog<R>;
}
+10
View File
@@ -1,5 +1,15 @@
# Changelog
## \[2.0.0-beta.6]
- [`b115fd22`](https://github.com/tauri-apps/plugins-workspace/commit/b115fd22e0da073f5d758c13474ec2106cf78163)([#1221](https://github.com/tauri-apps/plugins-workspace/pull/1221)) Fixes an issue that caused the app to freeze when the `dialog`, `fs`, and `persisted-scope` plugins were used together.
## \[2.0.0-beta.5]
- [`bb51a41`](https://github.com/tauri-apps/plugins-workspace/commit/bb51a41d67ebf989e8aedf10c4b1a7f9514d1bdf)([#1168](https://github.com/tauri-apps/plugins-workspace/pull/1168)) **Breaking Change:** All apis that return paths to the frontend will now remove the `\\?\` UNC prefix on Windows.
- [`e3d41f4`](https://github.com/tauri-apps/plugins-workspace/commit/e3d41f4011bd3ea3ce281bb38bbe31d3709f8e0f)([#1191](https://github.com/tauri-apps/plugins-workspace/pull/1191)) Internally use the webview scoped resources table instead of the app one, so other webviews can't access other webviews resources.
- [`e3d41f4`](https://github.com/tauri-apps/plugins-workspace/commit/e3d41f4011bd3ea3ce281bb38bbe31d3709f8e0f)([#1191](https://github.com/tauri-apps/plugins-workspace/pull/1191)) Update for tauri 2.0.0-beta.15.
## \[2.0.0-beta.4]
- [`9c2fb93`](https://github.com/tauri-apps/plugins-workspace/commit/9c2fb9306ecd3936a2aef56b3c012899036db098) Enhance the scope type to also allow a plain string representing the path to allow or deny.
+2 -1
View File
@@ -1,11 +1,12 @@
[package]
name = "tauri-plugin-fs"
version = "2.0.0-beta.4"
version = "2.0.0-beta.6"
description = "Access the file system."
authors = { workspace = true }
license = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-fs"
[package.metadata.docs.rs]
File diff suppressed because one or more lines are too long
+19 -22
View File
@@ -249,10 +249,6 @@ function parseFileInfo(r: UnparsedFileInfo): FileInfo {
* @since 2.0.0
*/
class FileHandle extends Resource {
constructor(rid: number) {
super(rid);
}
/**
* Reads up to `p.byteLength` bytes into `p`. It resolves to the number of
* bytes read (`0` < `n` <= `p.byteLength`) and rejects if any error
@@ -330,7 +326,7 @@ class FileHandle extends Resource {
* @since 2.0.0
*/
async seek(offset: number, whence: SeekMode): Promise<number> {
return invoke("plugin:fs|seek", {
return await invoke("plugin:fs|seek", {
rid: this.rid,
offset,
whence,
@@ -382,7 +378,7 @@ class FileHandle extends Resource {
* @since 2.0.0
*/
async truncate(len?: number): Promise<void> {
return invoke("plugin:fs|ftruncate", {
await invoke("plugin:fs|ftruncate", {
rid: this.rid,
len,
});
@@ -409,7 +405,7 @@ class FileHandle extends Resource {
* @since 2.0.0
*/
async write(data: Uint8Array): Promise<number> {
return invoke("plugin:fs|write", {
return await invoke("plugin:fs|write", {
rid: this.rid,
data: Array.from(data),
});
@@ -569,7 +565,7 @@ async function copyFile(
throw new TypeError("Must be a file URL.");
}
return invoke("plugin:fs|copy_file", {
await invoke("plugin:fs|copy_file", {
fromPath: fromPath instanceof URL ? fromPath.toString() : fromPath,
toPath: toPath instanceof URL ? toPath.toString() : toPath,
options,
@@ -608,7 +604,7 @@ async function mkdir(
throw new TypeError("Must be a file URL.");
}
return invoke("plugin:fs|mkdir", {
await invoke("plugin:fs|mkdir", {
path: path instanceof URL ? path.toString() : path,
options,
});
@@ -669,7 +665,7 @@ async function readDir(
throw new TypeError("Must be a file URL.");
}
return invoke("plugin:fs|read_dir", {
return await invoke("plugin:fs|read_dir", {
path: path instanceof URL ? path.toString() : path,
options,
});
@@ -728,7 +724,7 @@ async function readTextFile(
throw new TypeError("Must be a file URL.");
}
return invoke<string>("plugin:fs|read_text_file", {
return await invoke<string>("plugin:fs|read_text_file", {
path: path instanceof URL ? path.toString() : path,
options,
});
@@ -759,11 +755,11 @@ async function readTextFileLines(
const pathStr = path instanceof URL ? path.toString() : path;
return Promise.resolve({
return await Promise.resolve({
path: pathStr,
rid: null as number | null,
async next(): Promise<IteratorResult<string>> {
if (!this.rid) {
if (this.rid == null) {
this.rid = await invoke<number>("plugin:fs|read_text_file_lines", {
path: pathStr,
options,
@@ -779,7 +775,8 @@ async function readTextFileLines(
if (done) this.rid = null;
return {
value: done ? "" : (line as string),
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
value: done ? "" : line!,
done,
};
},
@@ -819,7 +816,7 @@ async function remove(
throw new TypeError("Must be a file URL.");
}
return invoke("plugin:fs|remove", {
await invoke("plugin:fs|remove", {
path: path instanceof URL ? path.toString() : path,
options,
});
@@ -862,7 +859,7 @@ async function rename(
throw new TypeError("Must be a file URL.");
}
return invoke("plugin:fs|rename", {
await invoke("plugin:fs|rename", {
oldPath: oldPath instanceof URL ? oldPath.toString() : oldPath,
newPath: newPath instanceof URL ? newPath.toString() : newPath,
options,
@@ -965,7 +962,7 @@ async function truncate(
throw new TypeError("Must be a file URL.");
}
return invoke("plugin:fs|truncate", {
await invoke("plugin:fs|truncate", {
path: path instanceof URL ? path.toString() : path,
len,
options,
@@ -1010,7 +1007,7 @@ async function writeFile(
throw new TypeError("Must be a file URL.");
}
return invoke("plugin:fs|write_file", {
await invoke("plugin:fs|write_file", {
path: path instanceof URL ? path.toString() : path,
data: Array.from(data),
options,
@@ -1037,7 +1034,7 @@ async function writeTextFile(
throw new TypeError("Must be a file URL.");
}
return invoke("plugin:fs|write_text_file", {
await invoke("plugin:fs|write_text_file", {
path: path instanceof URL ? path.toString() : path,
data,
options,
@@ -1071,7 +1068,7 @@ async function exists(
throw new TypeError("Must be a file URL.");
}
return invoke("plugin:fs|exists", {
return await invoke("plugin:fs|exists", {
path: path instanceof URL ? path.toString() : path,
options,
});
@@ -1098,11 +1095,11 @@ interface DebouncedWatchOptions extends WatchOptions {
/**
* @since 2.0.0
*/
type WatchEvent = {
interface WatchEvent {
type: WatchEventKind;
paths: string[];
attrs: unknown;
};
}
/**
* @since 2.0.0
+1 -1
View File
@@ -24,6 +24,6 @@
"LICENSE"
],
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6"
"@tauri-apps/api": "2.0.0-beta.8"
}
}
+55 -55
View File
@@ -9,7 +9,7 @@ use tauri::{
ipc::{CommandScope, GlobalScope},
path::{BaseDirectory, SafePathBuf},
utils::config::FsScope,
AppHandle, Manager, Resource, ResourceId, Runtime,
Manager, Resource, ResourceId, Runtime, Webview,
};
use std::{
@@ -72,14 +72,14 @@ pub struct BaseOptions {
#[tauri::command]
pub fn create<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
options: Option<BaseOptions>,
) -> CommandResult<ResourceId> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -91,7 +91,7 @@ pub fn create<R: Runtime>(
resolved_path.display()
)
})?;
let rid = app.resources_table().add(StdFileResource::new(file));
let rid = webview.resources_table().add(StdFileResource::new(file));
Ok(rid)
}
@@ -122,14 +122,14 @@ fn default_true() -> bool {
#[tauri::command]
pub fn open<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
options: Option<OpenOptions>,
) -> CommandResult<ResourceId> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -164,14 +164,14 @@ pub fn open<R: Runtime>(
)
})?;
let rid = app.resources_table().add(StdFileResource::new(file));
let rid = webview.resources_table().add(StdFileResource::new(file));
Ok(rid)
}
#[tauri::command]
pub fn close<R: Runtime>(app: AppHandle<R>, rid: ResourceId) -> CommandResult<()> {
app.resources_table().close(rid).map_err(Into::into)
pub fn close<R: Runtime>(webview: Webview<R>, rid: ResourceId) -> CommandResult<()> {
webview.resources_table().close(rid).map_err(Into::into)
}
#[derive(Debug, Clone, Deserialize)]
@@ -183,7 +183,7 @@ pub struct CopyFileOptions {
#[tauri::command]
pub fn copy_file<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
from_path: SafePathBuf,
@@ -191,14 +191,14 @@ pub fn copy_file<R: Runtime>(
options: Option<CopyFileOptions>,
) -> CommandResult<()> {
let resolved_from_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
from_path,
options.as_ref().and_then(|o| o.from_path_base_dir),
)?;
let resolved_to_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
to_path,
@@ -225,14 +225,14 @@ pub struct MkdirOptions {
#[tauri::command]
pub fn mkdir<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
options: Option<MkdirOptions>,
) -> CommandResult<()> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -292,14 +292,14 @@ fn read_dir_inner<P: AsRef<Path>>(path: P) -> crate::Result<Vec<DirEntry>> {
#[tauri::command]
pub fn read_dir<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
options: Option<BaseOptions>,
) -> CommandResult<Vec<DirEntry>> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -318,12 +318,12 @@ pub fn read_dir<R: Runtime>(
#[tauri::command]
pub fn read<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
rid: ResourceId,
len: u32,
) -> CommandResult<(Vec<u8>, usize)> {
let mut data = vec![0; len as usize];
let file = app.resources_table().get::<StdFileResource>(rid)?;
let file = webview.resources_table().get::<StdFileResource>(rid)?;
let nread = StdFileResource::with_lock(&file, |mut file| file.read(&mut data))
.map_err(|e| format!("faied to read bytes from file with error: {e}"))?;
Ok((data, nread))
@@ -331,14 +331,14 @@ pub fn read<R: Runtime>(
#[tauri::command]
pub fn read_file<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
options: Option<BaseOptions>,
) -> CommandResult<Vec<u8>> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -356,14 +356,14 @@ pub fn read_file<R: Runtime>(
#[tauri::command]
pub fn read_text_file<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
options: Option<BaseOptions>,
) -> CommandResult<String> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -381,7 +381,7 @@ pub fn read_text_file<R: Runtime>(
#[tauri::command]
pub fn read_text_file_lines<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
@@ -390,7 +390,7 @@ pub fn read_text_file_lines<R: Runtime>(
use std::io::BufRead;
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -405,17 +405,17 @@ pub fn read_text_file_lines<R: Runtime>(
})?;
let lines = BufReader::new(file).lines();
let rid = app.resources_table().add(StdLinesResource::new(lines));
let rid = webview.resources_table().add(StdLinesResource::new(lines));
Ok(rid)
}
#[tauri::command]
pub fn read_text_file_lines_next<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
rid: ResourceId,
) -> CommandResult<(Option<String>, bool)> {
let mut resource_table = app.resources_table();
let mut resource_table = webview.resources_table();
let lines = resource_table.get::<StdLinesResource>(rid)?;
let ret = StdLinesResource::with_lock(&lines, |lines| {
@@ -437,14 +437,14 @@ pub struct RemoveOptions {
#[tauri::command]
pub fn remove<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
options: Option<RemoveOptions>,
) -> CommandResult<()> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -505,7 +505,7 @@ pub struct RenameOptions {
#[tauri::command]
pub fn rename<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
old_path: SafePathBuf,
@@ -513,14 +513,14 @@ pub fn rename<R: Runtime>(
options: Option<RenameOptions>,
) -> CommandResult<()> {
let resolved_old_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
old_path,
options.as_ref().and_then(|o| o.old_path_base_dir),
)?;
let resolved_new_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
new_path,
@@ -547,13 +547,13 @@ pub enum SeekMode {
#[tauri::command]
pub fn seek<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
rid: ResourceId,
offset: i64,
whence: SeekMode,
) -> CommandResult<u64> {
use std::io::{Seek, SeekFrom};
let file = app.resources_table().get::<StdFileResource>(rid)?;
let file = webview.resources_table().get::<StdFileResource>(rid)?;
StdFileResource::with_lock(&file, |mut file| {
file.seek(match whence {
SeekMode::Start => SeekFrom::Start(offset as u64),
@@ -567,14 +567,14 @@ pub fn seek<R: Runtime>(
#[tauri::command]
pub fn stat<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
options: Option<BaseOptions>,
) -> CommandResult<FileInfo> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -591,14 +591,14 @@ pub fn stat<R: Runtime>(
#[tauri::command]
pub fn lstat<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
options: Option<BaseOptions>,
) -> CommandResult<FileInfo> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -614,8 +614,8 @@ pub fn lstat<R: Runtime>(
}
#[tauri::command]
pub fn fstat<R: Runtime>(app: AppHandle<R>, rid: ResourceId) -> CommandResult<FileInfo> {
let file = app.resources_table().get::<StdFileResource>(rid)?;
pub fn fstat<R: Runtime>(webview: Webview<R>, rid: ResourceId) -> CommandResult<FileInfo> {
let file = webview.resources_table().get::<StdFileResource>(rid)?;
let metadata = StdFileResource::with_lock(&file, |file| file.metadata())
.map_err(|e| format!("failed to get metadata of file with error: {e}"))?;
Ok(get_stat(metadata))
@@ -623,7 +623,7 @@ pub fn fstat<R: Runtime>(app: AppHandle<R>, rid: ResourceId) -> CommandResult<Fi
#[tauri::command]
pub fn truncate<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
@@ -631,7 +631,7 @@ pub fn truncate<R: Runtime>(
options: Option<BaseOptions>,
) -> CommandResult<()> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -658,11 +658,11 @@ pub fn truncate<R: Runtime>(
#[tauri::command]
pub fn ftruncate<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
rid: ResourceId,
len: Option<u64>,
) -> CommandResult<()> {
let file = app.resources_table().get::<StdFileResource>(rid)?;
let file = webview.resources_table().get::<StdFileResource>(rid)?;
StdFileResource::with_lock(&file, |file| file.set_len(len.unwrap_or(0)))
.map_err(|e| format!("failed to truncate file with error: {e}"))
.map_err(Into::into)
@@ -670,11 +670,11 @@ pub fn ftruncate<R: Runtime>(
#[tauri::command]
pub fn write<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
rid: ResourceId,
data: Vec<u8>,
) -> CommandResult<usize> {
let file = app.resources_table().get::<StdFileResource>(rid)?;
let file = webview.resources_table().get::<StdFileResource>(rid)?;
StdFileResource::with_lock(&file, |mut file| file.write(&data))
.map_err(|e| format!("failed to write bytes to file with error: {e}"))
.map_err(Into::into)
@@ -700,7 +700,7 @@ fn default_create_value() -> bool {
}
fn write_file_inner<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: &GlobalScope<Entry>,
command_scope: &CommandScope<Entry>,
path: SafePathBuf,
@@ -708,7 +708,7 @@ fn write_file_inner<R: Runtime>(
options: Option<WriteFileOptions>,
) -> CommandResult<()> {
let resolved_path = resolve_path(
&app,
&webview,
global_scope,
command_scope,
path,
@@ -753,19 +753,19 @@ fn write_file_inner<R: Runtime>(
#[tauri::command]
pub fn write_file<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
data: Vec<u8>,
options: Option<WriteFileOptions>,
) -> CommandResult<()> {
write_file_inner(app, &global_scope, &command_scope, path, &data, options)
write_file_inner(webview, &global_scope, &command_scope, path, &data, options)
}
#[tauri::command]
pub fn write_text_file<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
@@ -773,7 +773,7 @@ pub fn write_text_file<R: Runtime>(
options: Option<WriteFileOptions>,
) -> CommandResult<()> {
write_file_inner(
app,
webview,
&global_scope,
&command_scope,
path,
@@ -784,14 +784,14 @@ pub fn write_text_file<R: Runtime>(
#[tauri::command]
pub fn exists<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
path: SafePathBuf,
options: Option<BaseOptions>,
) -> CommandResult<bool> {
let resolved_path = resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -801,7 +801,7 @@ pub fn exists<R: Runtime>(
}
pub fn resolve_path<R: Runtime>(
app: &AppHandle<R>,
app: &Webview<R>,
global_scope: &GlobalScope<Entry>,
command_scope: &CommandScope<Entry>,
path: SafePathBuf,
+10 -6
View File
@@ -55,9 +55,11 @@ impl Scope {
pub fn allow_directory<P: AsRef<Path>>(&self, path: P, recursive: bool) {
let path = path.as_ref();
let mut allowed = self.allowed.lock().unwrap();
allowed.push(path.to_path_buf());
allowed.push(path.join(if recursive { "**" } else { "*" }));
{
let mut allowed = self.allowed.lock().unwrap();
allowed.push(path.to_path_buf());
allowed.push(path.join(if recursive { "**" } else { "*" }));
}
self.emit(Event::PathAllowed(path.to_path_buf()));
}
@@ -79,9 +81,11 @@ impl Scope {
pub fn forbid_directory<P: AsRef<Path>>(&self, path: P, recursive: bool) {
let path = path.as_ref();
let mut denied = self.denied.lock().unwrap();
denied.push(path.to_path_buf());
denied.push(path.join(if recursive { "**" } else { "*" }));
{
let mut denied = self.denied.lock().unwrap();
denied.push(path.to_path_buf());
denied.push(path.join(if recursive { "**" } else { "*" }));
}
self.emit(Event::PathForbidden(path.to_path_buf()));
}
+6 -6
View File
@@ -8,7 +8,7 @@ use serde::Deserialize;
use tauri::{
ipc::{Channel, CommandScope, GlobalScope},
path::{BaseDirectory, SafePathBuf},
AppHandle, Manager, Resource, ResourceId, Runtime,
Manager, Resource, ResourceId, Runtime, Webview,
};
use std::{
@@ -82,7 +82,7 @@ pub struct WatchOptions {
#[tauri::command]
pub async fn watch<R: Runtime>(
app: AppHandle<R>,
webview: Webview<R>,
paths: Vec<SafePathBuf>,
options: WatchOptions,
on_event: Channel,
@@ -92,7 +92,7 @@ pub async fn watch<R: Runtime>(
let mut resolved_paths = Vec::with_capacity(paths.capacity());
for path in paths {
resolved_paths.push(resolve_path(
&app,
&webview,
&global_scope,
&command_scope,
path,
@@ -124,7 +124,7 @@ pub async fn watch<R: Runtime>(
WatcherKind::Watcher(watcher)
};
let rid = app
let rid = webview
.resources_table()
.add(WatcherResource::new(kind, resolved_paths));
@@ -132,8 +132,8 @@ pub async fn watch<R: Runtime>(
}
#[tauri::command]
pub async fn unwatch<R: Runtime>(app: AppHandle<R>, rid: ResourceId) -> CommandResult<()> {
let watcher = app.resources_table().take::<WatcherResource>(rid)?;
pub async fn unwatch<R: Runtime>(webview: Webview<R>, rid: ResourceId) -> CommandResult<()> {
let watcher = webview.resources_table().take::<WatcherResource>(rid)?;
WatcherResource::with_lock(&watcher, |watcher| {
match &mut watcher.kind {
WatcherKind::Debouncer(ref mut debouncer) => {
+5 -4
View File
@@ -6,14 +6,15 @@ edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-global-shortcut"
[package.metadata.docs.rs]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
rustc-args = ["--cfg", "docsrs"]
rustdoc-args = ["--cfg", "docsrs"]
[build-dependencies]
tauri-plugin = { workspace = true, features = [ "build" ] }
tauri-plugin = { workspace = true, features = ["build"] }
[dependencies]
serde = { workspace = true }
@@ -23,4 +24,4 @@ log = { workspace = true }
thiserror = { workspace = true }
[target."cfg(not(any(target_os = \"android\", target_os = \"ios\")))".dependencies]
global-hotkey = "0.2.1"
global-hotkey = "0.5"
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_GLOBALSHORTCUT__=function(t){"use strict";function e(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)}function r(t,e,r,n,s){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?s.call(t,r):s?s.value=r:e.set(t,r),r}var n,s,i;"function"==typeof SuppressedError&&SuppressedError;class o{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,n.set(this,(()=>{})),s.set(this,0),i.set(this,{}),this.id=function(t,e=!1){return window.__TAURI_INTERNALS__.transformCallback(t,e)}((({message:t,id:o})=>{if(o===e(this,s,"f")){r(this,s,o+1,"f"),e(this,n,"f").call(this,t);const a=Object.keys(e(this,i,"f"));if(a.length>0){let t=o+1;for(const r of a.sort()){if(parseInt(r)!==t)break;{const s=e(this,i,"f")[r];delete e(this,i,"f")[r],e(this,n,"f").call(this,s),t+=1}}}}else e(this,i,"f")[o.toString()]=t}))}set onmessage(t){r(this,n,t,"f")}get onmessage(){return e(this,n,"f")}toJSON(){return`__CHANNEL__:${this.id}`}}async function a(t,e={},r){return window.__TAURI_INTERNALS__.invoke(t,e,r)}return n=new WeakMap,s=new WeakMap,i=new WeakMap,t.isRegistered=async function(t){return await a("plugin:global-shortcut|is_registered",{shortcut:t})},t.register=async function(t,e){const r=new o;return r.onmessage=e,await a("plugin:global-shortcut|register",{shortcut:t,handler:r})},t.registerAll=async function(t,e){const r=new o;return r.onmessage=e,await a("plugin:global-shortcut|register_all",{shortcuts:t,handler:r})},t.unregister=async function(t){return await a("plugin:global-shortcut|unregister",{shortcut:t})},t.unregisterAll=async function(){return await a("plugin:global-shortcut|unregister_all")},t}({});Object.defineProperty(window.__TAURI__,"globalShortcut",{value:__TAURI_PLUGIN_GLOBALSHORTCUT__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_GLOBALSHORTCUT__=function(t){"use strict";function e(t,e,s,n){if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(t)}function s(t,e,s,n,r){if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(t,s),s}var n,r,i;"function"==typeof SuppressedError&&SuppressedError;class o{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,n.set(this,(()=>{})),r.set(this,0),i.set(this,{}),this.id=function(t,e=!1){return window.__TAURI_INTERNALS__.transformCallback(t,e)}((({message:t,id:o})=>{if(o===e(this,r)){s(this,r,o+1),e(this,n).call(this,t);const a=Object.keys(e(this,i));if(a.length>0){let t=o+1;for(const s of a.sort()){if(parseInt(s)!==t)break;{const r=e(this,i)[s];delete e(this,i)[s],e(this,n).call(this,r),t+=1}}}}else e(this,i)[o.toString()]=t}))}set onmessage(t){s(this,n,t)}get onmessage(){return e(this,n)}toJSON(){return`__CHANNEL__:${this.id}`}}async function a(t,e={},s){return window.__TAURI_INTERNALS__.invoke(t,e,s)}return n=new WeakMap,r=new WeakMap,i=new WeakMap,t.isRegistered=async function(t){return await a("plugin:global-shortcut|is_registered",{shortcut:t})},t.register=async function(t,e){const s=new o;s.onmessage=e,await a("plugin:global-shortcut|register",{shortcut:t,handler:s})},t.registerAll=async function(t,e){const s=new o;s.onmessage=e,await a("plugin:global-shortcut|register_all",{shortcuts:t,handler:s})},t.unregister=async function(t){await a("plugin:global-shortcut|unregister",{shortcut:t})},t.unregisterAll=async function(){await a("plugin:global-shortcut|unregister_all")},t}({});Object.defineProperty(window.__TAURI__,"globalShortcut",{value:__TAURI_PLUGIN_GLOBALSHORTCUT__})}
+4 -4
View File
@@ -34,7 +34,7 @@ async function register(
const h = new Channel<string>();
h.onmessage = handler;
return await invoke("plugin:global-shortcut|register", {
await invoke("plugin:global-shortcut|register", {
shortcut,
handler: h,
});
@@ -62,7 +62,7 @@ async function registerAll(
const h = new Channel<string>();
h.onmessage = handler;
return await invoke("plugin:global-shortcut|register_all", {
await invoke("plugin:global-shortcut|register_all", {
shortcuts,
handler: h,
});
@@ -102,7 +102,7 @@ async function isRegistered(shortcut: string): Promise<boolean> {
* @since 2.0.0
*/
async function unregister(shortcut: string): Promise<void> {
return await invoke("plugin:global-shortcut|unregister", {
await invoke("plugin:global-shortcut|unregister", {
shortcut,
});
}
@@ -118,7 +118,7 @@ async function unregister(shortcut: string): Promise<void> {
* @since 2.0.0
*/
async function unregisterAll(): Promise<void> {
return await invoke("plugin:global-shortcut|unregister_all");
await invoke("plugin:global-shortcut|unregister_all");
}
export { register, registerAll, isRegistered, unregister, unregisterAll };
+1 -1
View File
@@ -23,6 +23,6 @@
"LICENSE"
],
"dependencies": {
"@tauri-apps/api": "2.0.0-beta.6"
"@tauri-apps/api": "2.0.0-beta.8"
}
}
+6
View File
@@ -24,3 +24,9 @@ impl From<global_hotkey::Error> for Error {
Self::GlobalHotkey(value.to_string())
}
}
impl From<global_hotkey::hotkey::HotKeyParseError> for Error {
fn from(value: global_hotkey::hotkey::HotKeyParseError) -> Self {
Self::GlobalHotkey(value.to_string())
}
}
+1 -1
View File
@@ -44,7 +44,7 @@ impl From<Shortcut> for ShortcutWrapper {
}
impl TryFrom<&str> for ShortcutWrapper {
type Error = global_hotkey::Error;
type Error = global_hotkey::hotkey::HotKeyParseError;
fn try_from(value: &str) -> std::result::Result<Self, Self::Error> {
Shortcut::from_str(value).map(ShortcutWrapper)
}
+17
View File
@@ -1,5 +1,22 @@
# Changelog
## \[2.0.0-beta.6]
### Dependencies
- Upgraded to `fs@2.0.0-beta.6`
## \[2.0.0-beta.5]
- [`500ff10`](https://github.com/tauri-apps/plugins-workspace/commit/500ff10fbd89fdfc73caf9d153029dad567b4ff1)([#1166](https://github.com/tauri-apps/plugins-workspace/pull/1166)) **Breaking change:** Removed the `default-tls` feature flag. The `rustls-tls`, `http2`, `macos-system-configuration`, and `charset` feature flags are now enabled by default.
- [`e3d41f4`](https://github.com/tauri-apps/plugins-workspace/commit/e3d41f4011bd3ea3ce281bb38bbe31d3709f8e0f)([#1191](https://github.com/tauri-apps/plugins-workspace/pull/1191)) Internally use the webview scoped resources table instead of the app one, so other webviews can't access other webviews resources.
- [`7e2fcc5`](https://github.com/tauri-apps/plugins-workspace/commit/7e2fcc5e74df7c3c718e40f75bfb0eafc7d69d8d)([#1146](https://github.com/tauri-apps/plugins-workspace/pull/1146)) Update dependencies to align with tauri 2.0.0-beta.14.
- [`e3d41f4`](https://github.com/tauri-apps/plugins-workspace/commit/e3d41f4011bd3ea3ce281bb38bbe31d3709f8e0f)([#1191](https://github.com/tauri-apps/plugins-workspace/pull/1191)) Update for tauri 2.0.0-beta.15.
### Dependencies
- Upgraded to `fs@2.0.0-beta.5`
## \[2.0.0-beta.4]
### Dependencies
+15 -7
View File
@@ -1,11 +1,12 @@
[package]
name = "tauri-plugin-http"
version = "2.0.0-beta.4"
version = "2.0.0-beta.6"
description = "Access an HTTP client written in Rust."
edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-http"
[package.metadata.docs.rs]
@@ -25,23 +26,28 @@ serde = { workspace = true }
serde_json = { workspace = true }
tauri = { workspace = true }
thiserror = { workspace = true }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-beta.4" }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-beta.6" }
urlpattern = "0.2"
regex = "1"
http = "0.2"
reqwest = { version = "0.11", default-features = false }
http = "1"
reqwest = { version = "0.12", default-features = false }
url = { workspace = true }
data-url = "0.3"
[features]
default = [
"rustls-tls",
"http2",
"charset",
"macos-system-configuration"
]
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 = [ "reqwest/rustls-tls" ]
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" ]
@@ -52,5 +58,7 @@ brotli = [ "reqwest/brotli" ]
deflate = [ "reqwest/deflate" ]
trust-dns = [ "reqwest/trust-dns" ]
socks = [ "reqwest/socks" ]
http3 = [ "reqwest/http3" ]
http2 = [ "reqwest/http2" ]
charset = [ "reqwest/charset" ]
macos-system-configuration = [ "reqwest/macos-system-configuration" ]
unsafe-headers = [ ]

Some files were not shown because too many files have changed in this diff Show More