mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-05-01 12:08:06 +02:00
Compare commits
75 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0678af3a6c | |||
| 1d8662e71a | |||
| 5661cce795 | |||
| b665c9cbce | |||
| bd4544dbd7 | |||
| 381aed09a6 | |||
| c9ed72d846 | |||
| 7327602f15 | |||
| b0518206cd | |||
| 69e4c2e56f | |||
| 7581576a24 | |||
| 430bd6f4f3 | |||
| ec05513d89 | |||
| 5ac7a70694 | |||
| aff47992b3 | |||
| cfb3d74d9f | |||
| eeb37c7e10 | |||
| 584c4849bf | |||
| cb0a788d17 | |||
| db45dfaab3 | |||
| 43224c5d5c | |||
| f3749e4de8 | |||
| 9d7ae45b0e | |||
| 200f61c99d | |||
| 36121a2268 | |||
| bc834d4e77 | |||
| de8295301e | |||
| 0e18aaa02a | |||
| 6b6b6fc2e4 | |||
| b3e04cf95e | |||
| 01a8ba72b8 | |||
| e1d06b93b7 | |||
| d92a6f4439 | |||
| 54ec85bf50 | |||
| b25ce0d81b | |||
| 806404e96e | |||
| f0fb25a9b7 | |||
| 068b9a22f3 | |||
| 732244cb6d | |||
| 290616d8e3 | |||
| bd07784cce | |||
| dc47e99cb2 | |||
| 9fc73e06ea | |||
| a940ef6250 | |||
| 224108818d | |||
| 0bbda536c7 | |||
| e18ed3dc96 | |||
| 6b06dd0c8f | |||
| cd57dcdf04 | |||
| 58330f9ec1 | |||
| 463f5971eb | |||
| c8b78034a4 | |||
| 989bee8192 | |||
| fe0256c8c9 | |||
| 7685e30462 | |||
| 0d4d029011 | |||
| ecda84f8d5 | |||
| 021d23bef3 | |||
| eb1679b997 | |||
| 5c1b7917e4 | |||
| 6af3216fab | |||
| fa54f3cc9a | |||
| 56dde76889 | |||
| 89a7754bdf | |||
| 52a48dd80a | |||
| 1829c2806a | |||
| 723b9f7fa8 | |||
| 62b0d739bc | |||
| c776916f14 | |||
| d9de5b19d1 | |||
| b4efa58d5d | |||
| aea748ced7 | |||
| 8fecaba3f0 | |||
| f255343b54 | |||
| e045223660 |
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"http-js": "patch"
|
||||
---
|
||||
|
||||
Include headers created by browser if not declared by user, which fixes missing headers like `Content-Type` when using `FormData`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"clipboard-manager": "patch"
|
||||
---
|
||||
|
||||
Fix reading and writing text on Android and iOS.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"deep-link": patch
|
||||
"deep-link-js": patch
|
||||
---
|
||||
|
||||
Added desktop support.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"dialog": "patch"
|
||||
---
|
||||
|
||||
Fill file `len` and `modified_at` fields of `FileResponse` when using the open dialog.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"shell": patch
|
||||
---
|
||||
|
||||
When the "raw" encoding option is specified for a shell process, all bytes from the child's output streams are passed to the data handlers.
|
||||
This makes it possible to read output from programs that write unencoded byte streams to stdout (like ffmpeg)
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
authenticator: patch
|
||||
---
|
||||
|
||||
Pin winapi-utils to 0.1.6 to fix compilation error in dependencies.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
deep-link: patch
|
||||
---
|
||||
|
||||
Fixed an issue that caused the `deep-link` plugin to generate incorrect `.desktop` files on Linux.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"http": "patch"
|
||||
---
|
||||
|
||||
Enable cookies store feature flag by default.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"http": "patch"
|
||||
---
|
||||
|
||||
Set the request origin to the current webview url.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
http: patch
|
||||
---
|
||||
|
||||
Fixed an issue with the http plugin when it was used with tauri v2 beta.19.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"positioner": "patch"
|
||||
"window-state": "patch"
|
||||
---
|
||||
|
||||
Implement `WindowExt` for `WebviewWindow`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"notification": patch
|
||||
---
|
||||
|
||||
Fix development mode function name check to set the app ID on macOS.
|
||||
@@ -2,22 +2,29 @@
|
||||
"tag": "beta",
|
||||
"changes": [
|
||||
".changes/beta.md",
|
||||
".changes/browser-headers.md",
|
||||
".changes/clipboard-expose-struct.md",
|
||||
".changes/clipboard-html.md",
|
||||
".changes/clipboard-manager-image.md",
|
||||
".changes/clipboard-mobile.md",
|
||||
".changes/clipboard-refactor.md",
|
||||
".changes/clipboard-text-command-rename.md",
|
||||
".changes/deep-link-desktop.md",
|
||||
".changes/dialog-can-create-directories.md",
|
||||
".changes/dialog-linux-freeze.md",
|
||||
".changes/dialog-main-thread.md",
|
||||
".changes/dialog-metadata.md",
|
||||
".changes/dialog-path-return-mismatch.md",
|
||||
".changes/enhance-fs-scope-type.md",
|
||||
".changes/enhance-http-scope.md",
|
||||
".changes/enhance-shell-raw-out.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-authenticator-windows-compile.md",
|
||||
".changes/fix-autolaunch-macos.md",
|
||||
".changes/fix-deep-link-linux.md",
|
||||
".changes/fix-default-arg-value.md",
|
||||
".changes/fix-fs-scope-deadlock.md",
|
||||
".changes/fix-fs-watcher-basedir.md",
|
||||
@@ -33,26 +40,42 @@
|
||||
".changes/global-api-script-refactor.md",
|
||||
".changes/global-hotkey-event.md",
|
||||
".changes/global-shortcut-refactor.md",
|
||||
".changes/http-cookies.md",
|
||||
".changes/http-origin.md",
|
||||
".changes/http-tauri-beta-19.md",
|
||||
".changes/http-unsafe-headers.md",
|
||||
".changes/http-user-agent.md",
|
||||
".changes/impl-ext-for-webview-windows.md",
|
||||
".changes/msrv-1.75.md",
|
||||
".changes/notification-fix-dev-check.md",
|
||||
".changes/notification-fix-dev-name.md",
|
||||
".changes/public-with-store.md",
|
||||
".changes/remove-unc-path-prefix.md",
|
||||
".changes/reqwest-0.12.md",
|
||||
".changes/restore-default-window-state.md",
|
||||
".changes/scoped-resources-table.md",
|
||||
".changes/shell-command-execute-extra-new-lines.md",
|
||||
".changes/shell-command-execute-speed.md",
|
||||
".changes/shell-command-lost-events.md",
|
||||
".changes/shell-execute-return.md",
|
||||
".changes/shell-execute.md",
|
||||
".changes/shell-fix-schema-command-property-name.md",
|
||||
".changes/shell-shellexcute.md",
|
||||
".changes/single-instance.macos.md",
|
||||
".changes/sql-column-order.md",
|
||||
".changes/target-sdk-34.md",
|
||||
".changes/tauri-beta-14-dependencies.md",
|
||||
".changes/tauri-beta-14.md",
|
||||
".changes/tauri-beta-15.md",
|
||||
".changes/tauri-beta-17.md",
|
||||
".changes/tauri-beta-20.md",
|
||||
".changes/tauri-beta-4.md",
|
||||
".changes/tauri-beta-8.md",
|
||||
".changes/tauri-beta-9.md",
|
||||
".changes/updater-download-install-js-binding.md",
|
||||
".changes/updater-non-zip.md",
|
||||
".changes/updater-nsis-shortcuts.md",
|
||||
".changes/updater-zip-no-default-features.md",
|
||||
".changes/upload-returnval.md",
|
||||
".changes/watcher-debouncer-rename.md",
|
||||
".changes/window-state-custom-filename.md",
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"shell-js": "patch"
|
||||
---
|
||||
|
||||
Fix `Command.execute` API including extra new lines.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"shell": "patch"
|
||||
"shell-js": "patch"
|
||||
---
|
||||
|
||||
Improve the speed of the JS `Command.execute` API
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"shell": "patch"
|
||||
---
|
||||
|
||||
Fix the JS `Command` API losing events for `stdout`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"shell": "patch"
|
||||
---
|
||||
|
||||
Fix a regression introduce in the last release where The JS API `Command.execute()` returned malformed response.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"shell": "patch"
|
||||
---
|
||||
|
||||
Run `Command.execute()` JS api, asynchronously in the Rust side to avoid blocking main thread and causing the webview to freeze.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"sql": patch
|
||||
---
|
||||
|
||||
Preserve column order from SELECT query with indexmap
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
"barcode-scanner": patch
|
||||
"biometric": patch
|
||||
"clipboard-manager": patch
|
||||
"deep-link": patch
|
||||
"dialog": patch
|
||||
"nfc": patch
|
||||
"notification": patch
|
||||
"shell": patch
|
||||
"store": patch
|
||||
---
|
||||
|
||||
Updated Android target SDK to 34.
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
"authenticator": patch
|
||||
"autostart": patch
|
||||
"barcode-scanner": patch
|
||||
"biometric": patch
|
||||
"cli": patch
|
||||
"clipboard-manager": patch
|
||||
"deep-link": patch
|
||||
"dialog": patch
|
||||
"fs": patch
|
||||
"global-shortcut": patch
|
||||
"http": patch
|
||||
"localhost": patch
|
||||
"log-plugin": patch
|
||||
"nfc": patch
|
||||
"notification": patch
|
||||
"os": patch
|
||||
"persisted-scope": patch
|
||||
"positioner": patch
|
||||
"process": patch
|
||||
"shell": patch
|
||||
"single-instance": patch
|
||||
"sql": patch
|
||||
"store": patch
|
||||
"stronghold": patch
|
||||
"updater": patch
|
||||
"upload": patch
|
||||
"websocket": patch
|
||||
"window-state": patch
|
||||
"authenticator-js": patch
|
||||
"autostart-js": patch
|
||||
"barcode-scanner-js": patch
|
||||
"biometric-js": patch
|
||||
"cli-js": patch
|
||||
"clipboard-manager-js": patch
|
||||
"deep-link-js": patch
|
||||
"dialog-js": patch
|
||||
"fs-js": patch
|
||||
"global-shortcut-js": patch
|
||||
"http-js": patch
|
||||
"log-js": patch
|
||||
"nfc-js": patch
|
||||
"notification-js": patch
|
||||
"os-js": patch
|
||||
"positioner-js": patch
|
||||
"process-js": patch
|
||||
"shell-js": patch
|
||||
"sql-js": patch
|
||||
"store-js": patch
|
||||
"stronghold-js": patch
|
||||
"updater-js": patch
|
||||
"upload-js": patch
|
||||
"websocket-js": patch
|
||||
"window-state-js": patch
|
||||
---
|
||||
|
||||
Update to tauri beta.20.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"updater": "patch"
|
||||
"updater-js": "patch"
|
||||
---
|
||||
|
||||
Add `Update.download` and `Update.install` functions to the JavaScript API
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"updater": "patch"
|
||||
---
|
||||
|
||||
Fix NSIS updater creating new shortcuts on update.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"updater": "patch"
|
||||
---
|
||||
|
||||
Disable zip crate default features
|
||||
@@ -4,7 +4,6 @@
|
||||
"es2021": true
|
||||
},
|
||||
"extends": [
|
||||
"love",
|
||||
"prettier",
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
|
||||
@@ -33,20 +33,20 @@ jobs:
|
||||
audit-js:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache pnpm modules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "lts/*"
|
||||
- uses: pnpm/action-setup@v2
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 8.x.x
|
||||
version: 9.x.x
|
||||
run_install: true
|
||||
- name: audit
|
||||
run: pnpm audit
|
||||
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
audit-rust:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: rustsec/audit-check@v1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
outputs:
|
||||
packages: ${{ steps.filter.outputs.changes }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: dorny/paths-filter@v2
|
||||
id: filter
|
||||
with:
|
||||
@@ -121,21 +121,21 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Cache pnpm modules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "lts/*"
|
||||
- uses: pnpm/action-setup@v2
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 8.x.x
|
||||
version: 9.x.x
|
||||
run_install: true
|
||||
|
||||
- name: build api
|
||||
|
||||
@@ -15,7 +15,7 @@ jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- uses: dorny/paths-filter@v2
|
||||
id: filter
|
||||
with:
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # required for use of git history
|
||||
- name: covector status
|
||||
|
||||
@@ -19,18 +19,18 @@ jobs:
|
||||
successfulPublish: ${{ steps.covector.outputs.successfulPublish }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # required for use of git history
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "lts/*"
|
||||
registry-url: "https://registry.npmjs.org"
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 8.x.x
|
||||
version: 9.x.x
|
||||
run_install: true
|
||||
|
||||
- name: install webkit2gtk and libudev for [authenticator]
|
||||
|
||||
@@ -19,18 +19,18 @@ jobs:
|
||||
successfulPublish: ${{ steps.covector.outputs.successfulPublish }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # required for use of git history
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "lts/*"
|
||||
registry-url: "https://registry.npmjs.org"
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 8.x.x
|
||||
version: 9.x.x
|
||||
run_install: true
|
||||
|
||||
- name: install webkit2gtk and libudev for [authenticator]
|
||||
|
||||
@@ -30,20 +30,18 @@ jobs:
|
||||
platform: [ubuntu-latest, macos-latest, windows-latest]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: install stable
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: install Linux dependencies
|
||||
if: matrix.platform == 'ubuntu-latest'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y webkit2gtk-4.1 libayatana-appindicator3-dev libfuse2
|
||||
sudo apt-get install -y libwebkit2gtk-4.1-dev libayatana-appindicator3-dev libfuse2
|
||||
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
|
||||
|
||||
@@ -36,40 +36,40 @@ jobs:
|
||||
eslint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache pnpm modules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "lts/*"
|
||||
- uses: pnpm/action-setup@v2
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 8.x.x
|
||||
version: 9.x.x
|
||||
run_install: true
|
||||
- name: eslint
|
||||
run: pnpm lint
|
||||
prettier:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache pnpm modules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "lts/*"
|
||||
- uses: pnpm/action-setup@v2
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 8.x.x
|
||||
version: 9.x.x
|
||||
run_install: true
|
||||
- name: prettier check
|
||||
run: pnpm format-check
|
||||
|
||||
@@ -36,7 +36,7 @@ jobs:
|
||||
outputs:
|
||||
packages: ${{ steps.filter.outputs.changes }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: dorny/paths-filter@v2
|
||||
id: filter
|
||||
with:
|
||||
@@ -127,7 +127,7 @@ jobs:
|
||||
package: ${{ fromJSON(needs.changes.outputs.packages) }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: install webkit2gtk and libudev for [authenticator]
|
||||
run: |
|
||||
@@ -161,7 +161,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install rustfmt with nightly toolchain
|
||||
uses: dtolnay/rust-toolchain@nightly
|
||||
|
||||
@@ -19,26 +19,26 @@ jobs:
|
||||
sync-to-mirrors:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Fetch git tags
|
||||
run: git fetch origin 'refs/tags/*:refs/tags/*'
|
||||
|
||||
- name: Cache pnpm modules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "lts/*"
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 8.x.x
|
||||
version: 9.x.x
|
||||
run_install: true
|
||||
|
||||
- name: Build packages
|
||||
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
outputs:
|
||||
packages: ${{ steps.filter.outputs.changes }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: dorny/paths-filter@v2
|
||||
id: filter
|
||||
with:
|
||||
@@ -46,78 +46,131 @@ jobs:
|
||||
filters: |
|
||||
tauri-plugin-authenticator:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/authenticator/**
|
||||
tauri-plugin-autostart:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/autostart/**
|
||||
tauri-plugin-cli:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/cli/**
|
||||
tauri-plugin-clipboard-manager:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/clipboard-manager/**
|
||||
tauri-plugin-deep-link:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/deep-link/**
|
||||
tauri-plugin-dialog:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/dialog/**
|
||||
- plugins/fs/**
|
||||
tauri-plugin-fs:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/fs/**
|
||||
tauri-plugin-global-shortcut:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/global-shortcut/**
|
||||
tauri-plugin-http:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/http/**
|
||||
- plugins/fs/**
|
||||
tauri-plugin-localhost:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/localhost/**
|
||||
tauri-plugin-log:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/log/**
|
||||
tauri-plugin-notification:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/notification/**
|
||||
tauri-plugin-os:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/os/**
|
||||
tauri-plugin-persisted-scope:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/persisted-scope/**
|
||||
- plugins/fs/**
|
||||
tauri-plugin-positioner:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/positioner/**
|
||||
tauri-plugin-process:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/process/**
|
||||
tauri-plugin-shell:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/shell/**
|
||||
tauri-plugin-single-instance:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/single-instance/**
|
||||
tauri-plugin-sql:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/sql/**
|
||||
tauri-plugin-store:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/store/**
|
||||
tauri-plugin-stronghold:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/stronghold/**
|
||||
tauri-plugin-updater:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/updater/**
|
||||
tauri-plugin-upload:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/upload/**
|
||||
tauri-plugin-websocket:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/websocket/**
|
||||
tauri-plugin-window-state:
|
||||
- .github/workflows/test-rust.yml
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- plugins/window-state/**
|
||||
|
||||
test:
|
||||
@@ -162,7 +215,7 @@ jobs:
|
||||
runs-on: ${{ matrix.platform.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: install webkit2gtk and libudev for [authenticator]
|
||||
if: contains(matrix.platform.target, 'unknown-linux')
|
||||
|
||||
Generated
+764
-763
File diff suppressed because it is too large
Load Diff
+4
-3
@@ -10,9 +10,10 @@ resolver = "2"
|
||||
[workspace.dependencies]
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
log = "0.4"
|
||||
tauri = "2.0.0-beta.17"
|
||||
tauri-build = "2.0.0-beta.13"
|
||||
tauri-plugin = "2.0.0-beta.13"
|
||||
tauri = "2.0.0-beta.20"
|
||||
tauri-build = "2.0.0-beta.16"
|
||||
tauri-plugin = "2.0.0-beta.16"
|
||||
tauri-utils = "2.0.0-beta.16"
|
||||
serde_json = "1"
|
||||
thiserror = "1"
|
||||
url = "2"
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.7]
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `http-js@2.0.0-beta.4`
|
||||
- Upgraded to `barcode-scanner-js@2.0.0-beta.4`
|
||||
- Upgraded to `biometric-js@2.0.0-beta.4`
|
||||
- Upgraded to `cli-js@2.0.0-beta.4`
|
||||
- Upgraded to `clipboard-manager-js@2.1.0-beta.2`
|
||||
- Upgraded to `dialog-js@2.0.0-beta.4`
|
||||
- Upgraded to `fs-js@2.0.0-beta.4`
|
||||
- Upgraded to `global-shortcut-js@2.0.0-beta.4`
|
||||
- Upgraded to `log-js@2.0.0-beta.5`
|
||||
- Upgraded to `nfc-js@2.0.0-beta.4`
|
||||
- Upgraded to `notification-js@2.0.0-beta.4`
|
||||
- Upgraded to `os-js@2.0.0-beta.4`
|
||||
- Upgraded to `process-js@2.0.0-beta.4`
|
||||
- Upgraded to `shell-js@2.0.0-beta.5`
|
||||
- Upgraded to `updater-js@2.0.0-beta.4`
|
||||
|
||||
## \[2.0.0-beta.6]
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `shell-js@2.0.0-beta.4`
|
||||
|
||||
## \[2.0.0-beta.5]
|
||||
|
||||
### Dependencies
|
||||
|
||||
+20
-20
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "svelte-app",
|
||||
"private": true,
|
||||
"version": "2.0.0-beta.5",
|
||||
"version": "2.0.0-beta.7",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite --clearScreen false",
|
||||
@@ -9,32 +9,32 @@
|
||||
"serve": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "2.0.0-beta.11",
|
||||
"@tauri-apps/plugin-barcode-scanner": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-biometric": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-cli": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-clipboard-manager": "2.1.0-beta.1",
|
||||
"@tauri-apps/plugin-dialog": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-fs": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-global-shortcut": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-http": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-nfc": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-notification": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-os": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-process": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-shell": "2.0.0-beta.3",
|
||||
"@tauri-apps/plugin-updater": "2.0.0-beta.3",
|
||||
"@tauri-apps/api": "2.0.0-beta.12",
|
||||
"@tauri-apps/plugin-barcode-scanner": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-biometric": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-cli": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-clipboard-manager": "2.1.0-beta.2",
|
||||
"@tauri-apps/plugin-dialog": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-fs": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-global-shortcut": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-http": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-nfc": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-notification": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-os": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-process": "2.0.0-beta.4",
|
||||
"@tauri-apps/plugin-shell": "2.0.0-beta.5",
|
||||
"@tauri-apps/plugin-updater": "2.0.0-beta.4",
|
||||
"@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.15",
|
||||
"@unocss/extractor-svelte": "^0.59.0",
|
||||
"internal-ip": "^8.0.0",
|
||||
"@tauri-apps/cli": "2.0.0-beta.18",
|
||||
"@unocss/extractor-svelte": "^0.60.0",
|
||||
"internal-ip": "7.0.0",
|
||||
"svelte": "^4.2.8",
|
||||
"unocss": "^0.59.0",
|
||||
"unocss": "^0.60.0",
|
||||
"vite": "^5.0.13"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.9]
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `clipboard-manager@2.1.0-beta.3`
|
||||
- Upgraded to `dialog@2.0.0-beta.8`
|
||||
- Upgraded to `http@2.0.0-beta.8`
|
||||
- Upgraded to `notification@2.0.0-beta.6`
|
||||
- Upgraded to `shell@2.0.0-beta.6`
|
||||
- Upgraded to `barcode-scanner@2.0.0-beta.6`
|
||||
- Upgraded to `biometric@2.0.0-beta.5`
|
||||
- Upgraded to `nfc@2.0.0-beta.5`
|
||||
- Upgraded to `cli@2.0.0-beta.5`
|
||||
- Upgraded to `fs@2.0.0-beta.8`
|
||||
- Upgraded to `global-shortcut@2.0.0-beta.5`
|
||||
- Upgraded to `log-plugin@2.0.0-beta.5`
|
||||
- Upgraded to `os@2.0.0-beta.5`
|
||||
- Upgraded to `process@2.0.0-beta.5`
|
||||
- Upgraded to `updater@2.0.0-beta.6`
|
||||
|
||||
## \[2.0.0-beta.8]
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `shell@2.0.0-beta.5`
|
||||
|
||||
## \[2.0.0-beta.7]
|
||||
|
||||
### Dependencies
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "api"
|
||||
publish = false
|
||||
version = "2.0.0-beta.7"
|
||||
version = "2.0.0-beta.9"
|
||||
description = "An example Tauri Application showcasing the api"
|
||||
edition = "2021"
|
||||
rust-version = { workspace = true }
|
||||
@@ -19,15 +19,15 @@ serde_json = { workspace = true }
|
||||
serde = { workspace = true }
|
||||
tiny_http = "0.12"
|
||||
log = { workspace = true }
|
||||
tauri-plugin-log = { path = "../../../plugins/log", version = "2.0.0-beta.4" }
|
||||
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-beta.7", features = [ "watch" ] }
|
||||
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.1.0-beta.2" }
|
||||
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-beta.7" }
|
||||
tauri-plugin-http = { path = "../../../plugins/http", features = [ "multipart" ], version = "2.0.0-beta.7" }
|
||||
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-beta.5", features = [ "windows7-compat" ] }
|
||||
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.0-beta.4" }
|
||||
tauri-plugin-process = { path = "../../../plugins/process", version = "2.0.0-beta.4" }
|
||||
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-beta.4" }
|
||||
tauri-plugin-log = { path = "../../../plugins/log", version = "2.0.0-beta.5" }
|
||||
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-beta.8", features = [ "watch" ] }
|
||||
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.1.0-beta.3" }
|
||||
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-beta.8" }
|
||||
tauri-plugin-http = { path = "../../../plugins/http", features = [ "multipart" ], version = "2.0.0-beta.8" }
|
||||
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-beta.6", features = [ "windows7-compat" ] }
|
||||
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.0-beta.5" }
|
||||
tauri-plugin-process = { path = "../../../plugins/process", version = "2.0.0-beta.5" }
|
||||
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-beta.6" }
|
||||
|
||||
[dependencies.tauri]
|
||||
workspace = true
|
||||
@@ -41,14 +41,14 @@ tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-beta.4"
|
||||
]
|
||||
|
||||
[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.4" }
|
||||
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.0.0-beta.4" }
|
||||
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-beta.5" }
|
||||
tauri-plugin-cli = { path = "../../../plugins/cli", version = "2.0.0-beta.5" }
|
||||
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.0.0-beta.5" }
|
||||
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-beta.6" }
|
||||
|
||||
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
|
||||
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-beta.5" }
|
||||
tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.0.0-beta.4" }
|
||||
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.0.0-beta.4" }
|
||||
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-beta.6" }
|
||||
tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.0.0-beta.5" }
|
||||
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.0.0-beta.5" }
|
||||
|
||||
[target."cfg(target_os = \"windows\")".dependencies]
|
||||
window-shadows = "0.2"
|
||||
|
||||
@@ -5,13 +5,13 @@ plugins {
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdk = 33
|
||||
compileSdk = 34
|
||||
namespace = "com.tauri.api"
|
||||
defaultConfig {
|
||||
manifestPlaceholders["usesCleartextTraffic"] = "false"
|
||||
applicationId = "com.tauri.api"
|
||||
minSdk = 24
|
||||
targetSdk = 33
|
||||
targetSdk = 34
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
}
|
||||
|
||||
@@ -2339,6 +2339,13 @@
|
||||
"shell:allow-open"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "shell:allow-spawn -> Enables the spawn command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"shell:allow-spawn"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -2367,6 +2374,13 @@
|
||||
"shell:deny-open"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "shell:deny-spawn -> Denies the spawn command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"shell:deny-spawn"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -5689,6 +5703,13 @@
|
||||
"shell:allow-open"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "shell:allow-spawn -> Enables the spawn command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"shell:allow-spawn"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -5717,6 +5738,13 @@
|
||||
"shell:deny-open"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "shell:deny-spawn -> Denies the spawn command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"shell:deny-spawn"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -5899,6 +5927,13 @@
|
||||
"updater:allow-check"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "updater:allow-download -> Enables the download command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"updater:allow-download"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -5906,6 +5941,13 @@
|
||||
"updater:allow-download-and-install"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "updater:allow-install -> Enables the install command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"updater:allow-install"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "updater:deny-check -> Denies the check command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -5913,6 +5955,13 @@
|
||||
"updater:deny-check"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "updater:deny-download -> Denies the download command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"updater:deny-download"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -5920,6 +5969,13 @@
|
||||
"updater:deny-download-and-install"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "updater:deny-install -> Denies the install command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"updater:deny-install"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "webview:default -> Default permissions for the plugin.",
|
||||
"type": "string",
|
||||
@@ -6263,6 +6319,13 @@
|
||||
"window:allow-minimize"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "window:allow-monitor-from-point -> Enables the monitor_from_point command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"window:allow-monitor-from-point"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -6697,6 +6760,13 @@
|
||||
"window:deny-minimize"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "window:deny-monitor-from-point -> Denies the monitor_from_point command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"window:deny-monitor-from-point"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
|
||||
+6
-7
@@ -13,18 +13,17 @@
|
||||
"@rollup/plugin-node-resolve": "15.2.3",
|
||||
"@rollup/plugin-terser": "0.4.4",
|
||||
"@rollup/plugin-typescript": "11.1.6",
|
||||
"@typescript-eslint/eslint-plugin": "7.8.0",
|
||||
"@typescript-eslint/parser": "7.8.0",
|
||||
"@typescript-eslint/eslint-plugin": "7.11.0",
|
||||
"@typescript-eslint/parser": "7.11.0",
|
||||
"covector": "^0.10.2",
|
||||
"eslint": "8.57.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-config-love": "47.0.0",
|
||||
"eslint-plugin-import": "2.29.1",
|
||||
"eslint-plugin-n": "17.4.0",
|
||||
"eslint-plugin-promise": "6.1.1",
|
||||
"eslint-plugin-n": "17.7.0",
|
||||
"eslint-plugin-promise": "6.2.0",
|
||||
"eslint-plugin-security": "3.0.0",
|
||||
"prettier": "3.2.5",
|
||||
"rollup": "4.17.2",
|
||||
"rollup": "4.18.0",
|
||||
"tslib": "2.6.2",
|
||||
"typescript": "5.4.5"
|
||||
},
|
||||
@@ -33,7 +32,7 @@
|
||||
"optionator": ">=0.9.3"
|
||||
},
|
||||
"engines": {
|
||||
"pnpm": "^8.0.0"
|
||||
"pnpm": "^9.0.0"
|
||||
},
|
||||
"pnpm": {
|
||||
"auditConfig": {
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.4]
|
||||
|
||||
- [`430bd6f4`](https://github.com/tauri-apps/plugins-workspace/commit/430bd6f4f379bee5d232ae6b098ae131db7f178a)([#1363](https://github.com/tauri-apps/plugins-workspace/pull/1363)) Update to tauri beta.20.
|
||||
|
||||
## \[2.0.0-beta.3]
|
||||
|
||||
- [`bd1ed590`](https://github.com/tauri-apps/plugins-workspace/commit/bd1ed5903ffcce5500310dac1e59e8c67674ef1e)([#1237](https://github.com/tauri-apps/plugins-workspace/pull/1237)) Update to tauri beta.17.
|
||||
@@ -58,3 +62,5 @@
|
||||
- [`717ae67`](https://github.com/tauri-apps/plugins-workspace/commit/717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
ae67\`]\(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!
|
||||
-workspace/pull/371)) First v2 alpha release!
|
||||
717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "tauri-plugin-authenticator"
|
||||
version = "2.0.0-beta.5"
|
||||
version = "2.0.0-beta.6"
|
||||
description = "Use hardware security-keys in your Tauri App."
|
||||
authors = { workspace = true }
|
||||
license = { workspace = true }
|
||||
@@ -33,6 +33,9 @@ bytes = "1"
|
||||
byteorder = "1"
|
||||
openssl = "0.10"
|
||||
|
||||
[target."cfg(target_os = \"windows\")".dependencies]
|
||||
winapi-util = "=0.1.6"
|
||||
|
||||
[dev-dependencies]
|
||||
rand = "0.8"
|
||||
rusty-fork = "0.3"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tauri-apps/plugin-authenticator",
|
||||
"version": "2.0.0-beta.3",
|
||||
"version": "2.0.0-beta.4",
|
||||
"description": "Use hardware security-keys in your Tauri App.",
|
||||
"license": "MIT or APACHE-2.0",
|
||||
"authors": [
|
||||
@@ -24,6 +24,6 @@
|
||||
"LICENSE"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "2.0.0-beta.11"
|
||||
"@tauri-apps/api": "2.0.0-beta.12"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.4]
|
||||
|
||||
- [`430bd6f4`](https://github.com/tauri-apps/plugins-workspace/commit/430bd6f4f379bee5d232ae6b098ae131db7f178a)([#1363](https://github.com/tauri-apps/plugins-workspace/pull/1363)) Update to tauri beta.20.
|
||||
|
||||
## \[2.0.0-beta.3]
|
||||
|
||||
- [`bd1ed590`](https://github.com/tauri-apps/plugins-workspace/commit/bd1ed5903ffcce5500310dac1e59e8c67674ef1e)([#1237](https://github.com/tauri-apps/plugins-workspace/pull/1237)) Update to tauri beta.17.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "tauri-plugin-autostart"
|
||||
version = "2.0.0-beta.5"
|
||||
version = "2.0.0-beta.6"
|
||||
description = "Automatically launch your application at startup."
|
||||
authors = { workspace = true }
|
||||
license = { workspace = true }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tauri-apps/plugin-autostart",
|
||||
"version": "2.0.0-beta.3",
|
||||
"version": "2.0.0-beta.4",
|
||||
"license": "MIT or APACHE-2.0",
|
||||
"authors": [
|
||||
"Tauri Programme within The Commons Conservancy"
|
||||
@@ -23,6 +23,6 @@
|
||||
"LICENSE"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "2.0.0-beta.11"
|
||||
"@tauri-apps/api": "2.0.0-beta.12"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.4]
|
||||
|
||||
- [`430bd6f4`](https://github.com/tauri-apps/plugins-workspace/commit/430bd6f4f379bee5d232ae6b098ae131db7f178a)([#1363](https://github.com/tauri-apps/plugins-workspace/pull/1363)) Update to tauri beta.20.
|
||||
|
||||
## \[2.0.0-beta.3]
|
||||
|
||||
- [`bd1ed590`](https://github.com/tauri-apps/plugins-workspace/commit/bd1ed5903ffcce5500310dac1e59e8c67674ef1e)([#1237](https://github.com/tauri-apps/plugins-workspace/pull/1237)) Update to tauri beta.17.
|
||||
@@ -45,3 +49,5 @@
|
||||
|
||||
- [`454428c`](https://github.com/tauri-apps/plugins-workspace/commit/454428cd50ce4962f0bad8e355aebc68af8cc61f)([#536](https://github.com/tauri-apps/plugins-workspace/pull/536)) Initial release.
|
||||
commit/454428cd50ce4962f0bad8e355aebc68af8cc61f)([#536](https://github.com/tauri-apps/plugins-workspace/pull/536)) Initial release.
|
||||
36](https://github.com/tauri-apps/plugins-workspace/pull/536)) Initial release.
|
||||
commit/454428cd50ce4962f0bad8e355aebc68af8cc61f)([#536](https://github.com/tauri-apps/plugins-workspace/pull/536)) Initial release.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "tauri-plugin-barcode-scanner"
|
||||
version = "2.0.0-beta.5"
|
||||
version = "2.0.0-beta.6"
|
||||
description = "Scan QR codes, EAN-13 and other kinds of barcodes on Android and iOS"
|
||||
edition = { workspace = true }
|
||||
authors = { workspace = true }
|
||||
|
||||
@@ -5,11 +5,11 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace = "app.tauri.barcodescanner"
|
||||
compileSdk = 32
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 24
|
||||
targetSdk = 32
|
||||
targetSdk = 34
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles("consumer-rules.pro")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tauri-apps/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",
|
||||
"license": "MIT or APACHE-2.0",
|
||||
"authors": [
|
||||
@@ -24,6 +24,6 @@
|
||||
"LICENSE"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "2.0.0-beta.11"
|
||||
"@tauri-apps/api": "2.0.0-beta.12"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.4]
|
||||
|
||||
- [`430bd6f4`](https://github.com/tauri-apps/plugins-workspace/commit/430bd6f4f379bee5d232ae6b098ae131db7f178a)([#1363](https://github.com/tauri-apps/plugins-workspace/pull/1363)) Update to tauri beta.20.
|
||||
|
||||
## \[2.0.0-beta.3]
|
||||
|
||||
- [`bd1ed590`](https://github.com/tauri-apps/plugins-workspace/commit/bd1ed5903ffcce5500310dac1e59e8c67674ef1e)([#1237](https://github.com/tauri-apps/plugins-workspace/pull/1237)) Update to tauri beta.17.
|
||||
@@ -25,3 +29,5 @@
|
||||
- [`8df28a9`](https://github.com/tauri-apps/plugins-workspace/commit/8df28a987519ecfa03dcb8635443025f8d010362)([#829](https://github.com/tauri-apps/plugins-workspace/pull/829)) Initial release.
|
||||
- [`8df28a9`](https://github.com/tauri-apps/plugins-workspace/commit/8df28a987519ecfa03dcb8635443025f8d010362)([#829](https://github.com/tauri-apps/plugins-workspace/pull/829)) Initial release.
|
||||
commit/8df28a987519ecfa03dcb8635443025f8d010362)([#829](https://github.com/tauri-apps/plugins-workspace/pull/829)) Initial release.
|
||||
29](https://github.com/tauri-apps/plugins-workspace/pull/829)) Initial release.
|
||||
commit/8df28a987519ecfa03dcb8635443025f8d010362)([#829](https://github.com/tauri-apps/plugins-workspace/pull/829)) Initial release.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "tauri-plugin-biometric"
|
||||
version = "2.0.0-beta.4"
|
||||
version = "2.0.0-beta.5"
|
||||
description = "Prompt the user for biometric authentication on Android and iOS."
|
||||
edition = { workspace = true }
|
||||
authors = { workspace = true }
|
||||
|
||||
@@ -5,11 +5,11 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace = "app.tauri.biometric"
|
||||
compileSdk = 32
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 24
|
||||
targetSdk = 32
|
||||
targetSdk = 34
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles("consumer-rules.pro")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tauri-apps/plugin-biometric",
|
||||
"version": "2.0.0-beta.3",
|
||||
"version": "2.0.0-beta.4",
|
||||
"license": "MIT or APACHE-2.0",
|
||||
"authors": [
|
||||
"Tauri Programme within The Commons Conservancy"
|
||||
@@ -24,6 +24,6 @@
|
||||
"LICENSE"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "2.0.0-beta.11"
|
||||
"@tauri-apps/api": "2.0.0-beta.12"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.4]
|
||||
|
||||
- [`430bd6f4`](https://github.com/tauri-apps/plugins-workspace/commit/430bd6f4f379bee5d232ae6b098ae131db7f178a)([#1363](https://github.com/tauri-apps/plugins-workspace/pull/1363)) Update to tauri beta.20.
|
||||
|
||||
## \[2.0.0-beta.3]
|
||||
|
||||
- [`bd1ed590`](https://github.com/tauri-apps/plugins-workspace/commit/bd1ed5903ffcce5500310dac1e59e8c67674ef1e)([#1237](https://github.com/tauri-apps/plugins-workspace/pull/1237)) Update to tauri beta.17.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "tauri-plugin-cli"
|
||||
version = "2.0.0-beta.4"
|
||||
version = "2.0.0-beta.5"
|
||||
description = "Parse arguments from your Tauri application's command line interface."
|
||||
edition = { workspace = true }
|
||||
authors = { workspace = true }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tauri-apps/plugin-cli",
|
||||
"version": "2.0.0-beta.3",
|
||||
"version": "2.0.0-beta.4",
|
||||
"license": "MIT or APACHE-2.0",
|
||||
"authors": [
|
||||
"Tauri Programme within The Commons Conservancy"
|
||||
@@ -23,6 +23,6 @@
|
||||
"LICENSE"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "2.0.0-beta.11"
|
||||
"@tauri-apps/api": "2.0.0-beta.12"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.1.0-beta.2]
|
||||
|
||||
- [`430bd6f4`](https://github.com/tauri-apps/plugins-workspace/commit/430bd6f4f379bee5d232ae6b098ae131db7f178a)([#1363](https://github.com/tauri-apps/plugins-workspace/pull/1363)) Update to tauri beta.20.
|
||||
|
||||
## \[2.1.0-beta.1]
|
||||
|
||||
- [`bd1ed590`](https://github.com/tauri-apps/plugins-workspace/commit/bd1ed5903ffcce5500310dac1e59e8c67674ef1e)([#1237](https://github.com/tauri-apps/plugins-workspace/pull/1237)) Update to tauri beta.17.
|
||||
@@ -68,11 +72,18 @@
|
||||
|
||||
- [`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!
|
||||
hub.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
hub.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]
|
||||
|
||||
- [`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!
|
||||
com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
te to alpha.11.
|
||||
|
||||
## \[2.0.0-alpha.0]
|
||||
|
||||
- [`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!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "tauri-plugin-clipboard-manager"
|
||||
version = "2.1.0-beta.2"
|
||||
version = "2.1.0-beta.3"
|
||||
description = "Read and write to the system clipboard."
|
||||
edition = { workspace = true }
|
||||
authors = { workspace = true }
|
||||
|
||||
@@ -5,11 +5,11 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace = "app.tauri.clipboard"
|
||||
compileSdk = 32
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 24
|
||||
targetSdk = 32
|
||||
targetSdk = 34
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles("consumer-rules.pro")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tauri-apps/plugin-clipboard-manager",
|
||||
"version": "2.1.0-beta.1",
|
||||
"version": "2.1.0-beta.2",
|
||||
"license": "MIT or APACHE-2.0",
|
||||
"authors": [
|
||||
"Tauri Programme within The Commons Conservancy"
|
||||
@@ -23,6 +23,6 @@
|
||||
"LICENSE"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "2.0.0-beta.11"
|
||||
"@tauri-apps/api": "2.0.0-beta.12"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ impl<R: Runtime> Clipboard<R> {
|
||||
pub fn write_text<'a, T: Into<Cow<'a, str>>>(&self, text: T) -> crate::Result<()> {
|
||||
let text = text.into().to_string();
|
||||
self.0
|
||||
.run_mobile_plugin("write", ClipKind::PlainText { text, label: None })
|
||||
.run_mobile_plugin("writeText", ClipKind::PlainText { text, label: None })
|
||||
.map_err(Into::into)
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ impl<R: Runtime> Clipboard<R> {
|
||||
let label = label.into().to_string();
|
||||
self.0
|
||||
.run_mobile_plugin(
|
||||
"write",
|
||||
"writeText",
|
||||
ClipKind::PlainText {
|
||||
text,
|
||||
label: Some(label),
|
||||
@@ -67,7 +67,7 @@ impl<R: Runtime> Clipboard<R> {
|
||||
|
||||
pub fn read_text(&self) -> crate::Result<String> {
|
||||
self.0
|
||||
.run_mobile_plugin("read", ())
|
||||
.run_mobile_plugin("readText", ())
|
||||
.map(|c| match c {
|
||||
ClipboardContents::PlainText { text } => text,
|
||||
})
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.5]
|
||||
|
||||
- [`430bd6f4`](https://github.com/tauri-apps/plugins-workspace/commit/430bd6f4f379bee5d232ae6b098ae131db7f178a)([#1363](https://github.com/tauri-apps/plugins-workspace/pull/1363)) Update to tauri beta.20.
|
||||
|
||||
## \[2.0.0-beta.4]
|
||||
|
||||
- [`021d23be`](https://github.com/tauri-apps/plugins-workspace/commit/021d23bef330de4ce001993e0ef2c7ab7815f044)([#916](https://github.com/tauri-apps/plugins-workspace/pull/916)) Added desktop support.
|
||||
|
||||
## \[2.0.0-beta.3]
|
||||
|
||||
- [`bd1ed590`](https://github.com/tauri-apps/plugins-workspace/commit/bd1ed5903ffcce5500310dac1e59e8c67674ef1e)([#1237](https://github.com/tauri-apps/plugins-workspace/pull/1237)) Update to tauri beta.17.
|
||||
@@ -47,5 +55,9 @@
|
||||
|
||||
- [`eccd6f9`](https://github.com/tauri-apps/plugins-workspace/commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
|
||||
|
||||
- [`eccd6f9`](https://github.com/tauri-apps/plugins-workspace/commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
|
||||
commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
|
||||
om/tauri-apps/plugins-workspace/commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
|
||||
|
||||
- [`eccd6f9`](https://github.com/tauri-apps/plugins-workspace/commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
|
||||
commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "tauri-plugin-deep-link"
|
||||
version = "2.0.0-beta.4"
|
||||
version = "2.0.0-beta.6"
|
||||
description = "Set your Tauri application as the default handler for an URL"
|
||||
authors = { workspace = true }
|
||||
license = { workspace = true }
|
||||
@@ -17,12 +17,22 @@ targets = [ "x86_64-linux-android" ]
|
||||
[build-dependencies]
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
tauri-utils = { workspace = true }
|
||||
tauri-plugin = { workspace = true, features = [ "build" ] }
|
||||
|
||||
[dependencies]
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
tauri = { workspace = true }
|
||||
tauri-utils = { workspace = true }
|
||||
log = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
url = { workspace = true }
|
||||
|
||||
[target."cfg(windows)".dependencies]
|
||||
dunce = "1"
|
||||
windows-registry = "0.1"
|
||||
windows-result = "0.1"
|
||||
|
||||
[target."cfg(target_os = \"linux\")".dependencies]
|
||||
rust-ini = "0.21"
|
||||
|
||||
@@ -93,16 +93,19 @@ See [supporting associated domains](https://developer.apple.com/documentation/xc
|
||||
|
||||
## Configuration
|
||||
|
||||
Under `tauri.conf.json > plugins > deep-link`, configure the domains you want to associate with your application:
|
||||
Under `tauri.conf.json > plugins > deep-link`, configure the domains (mobile) and schemes (desktop) you want to associate with your application:
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": {
|
||||
"deep-link": {
|
||||
"domains": [
|
||||
"mobile": [
|
||||
{ "host": "your.website.com", "pathPrefix": ["/open"] },
|
||||
{ "host": "another.site.br" }
|
||||
]
|
||||
],
|
||||
"desktop": {
|
||||
"schemes": ["something", "my-tauri-app"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -128,10 +131,12 @@ Afterwards all the plugin's APIs are available through the JavaScript guest bind
|
||||
```javascript
|
||||
import { onOpenUrl } from "@tauri-apps/plugin-deep-link";
|
||||
await onOpenUrl((urls) => {
|
||||
console.log('deep link:', urls);
|
||||
console.log("deep link:", urls);
|
||||
});
|
||||
```
|
||||
|
||||
Note that the Plugin will only emit events on macOS, iOS and Android. On Windows and Linux the OS will spawn a new instance of your app with the URL as a CLI argument. If you want your app to behave on Windows & Linux similar to the other platforms you can use the [single-instance](../single-instance/) plugin.
|
||||
|
||||
## Contributing
|
||||
|
||||
PRs accepted. Please make sure to read the Contributing Guide before making a pull request.
|
||||
|
||||
@@ -5,11 +5,11 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace = "app.tauri.deep_link"
|
||||
compileSdk = 32
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 24
|
||||
targetSdk = 32
|
||||
targetSdk = 34
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles("consumer-rules.pro")
|
||||
|
||||
@@ -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 r(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}var t;async function i(e,t,i){const _=(void 0,{kind:"Any"});return r("plugin:event|listen",{event:e,target:_,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__})}
|
||||
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){const a=(void 0,{kind:"Any"});return r("plugin:event|listen",{event:e,target:a,handler:n(t)}).then((n=>async()=>async function(e,n){await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function a(){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=a,e.isRegistered=async function(e){return await r("plugin:deep-link|i_registered",{protocol:e})},e.onOpenUrl=async function(e){const n=await a();return n&&e(n),await i("deep-link://new-url",(n=>{e(n.payload)}))},e.register=async function(e){return await r("plugin:deep-link|register",{protocol:e})},e.unregister=async function(e){return await r("plugin:deep-link|unregister",{protocol:e})},e}({});Object.defineProperty(window.__TAURI__,"deepLink",{value:__TAURI_PLUGIN_DEEPLINK__})}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
mod config;
|
||||
use config::{AssociatedDomain, Config};
|
||||
|
||||
const COMMANDS: &[&str] = &["get_current"];
|
||||
const COMMANDS: &[&str] = &["get_current", "register", "unregister", "is_registered"];
|
||||
|
||||
// TODO: Consider using activity-alias in case users may have multiple activities in their app.
|
||||
// TODO: Do we want to support the other path* configs too?
|
||||
@@ -48,7 +48,7 @@ fn main() {
|
||||
"DEEP LINK PLUGIN",
|
||||
"activity",
|
||||
config
|
||||
.domains
|
||||
.mobile
|
||||
.iter()
|
||||
.map(intent_filter)
|
||||
.collect::<Vec<_>>()
|
||||
@@ -62,7 +62,7 @@ fn main() {
|
||||
entitlements.insert(
|
||||
"com.apple.developer.associated-domains".into(),
|
||||
config
|
||||
.domains
|
||||
.mobile
|
||||
.into_iter()
|
||||
.map(|d| format!("applinks:{}", d.host).into())
|
||||
.collect::<Vec<_>>()
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.5]
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `deep-link-js@2.0.0-beta.5`
|
||||
|
||||
## \[2.0.0-beta.4]
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `deep-link-js@2.0.0-beta.4`
|
||||
|
||||
## \[2.0.0-beta.3]
|
||||
|
||||
### Dependencies
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "deep-link-example",
|
||||
"private": true,
|
||||
"version": "2.0.0-beta.3",
|
||||
"version": "2.0.0-beta.5",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
@@ -10,12 +10,12 @@
|
||||
"tauri": "tauri"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "2.0.0-beta.11",
|
||||
"@tauri-apps/plugin-deep-link": "2.0.0-beta.3"
|
||||
"@tauri-apps/api": "2.0.0-beta.12",
|
||||
"@tauri-apps/plugin-deep-link": "2.0.0-beta.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tauri-apps/cli": "2.0.0-beta.15",
|
||||
"internal-ip": "^8.0.0",
|
||||
"@tauri-apps/cli": "2.0.0-beta.18",
|
||||
"internal-ip": "7.0.0",
|
||||
"typescript": "^5.2.2",
|
||||
"vite": "^5.0.13"
|
||||
}
|
||||
|
||||
@@ -5,13 +5,13 @@ plugins {
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdk = 33
|
||||
compileSdk = 34
|
||||
namespace = "com.tauri.deep_link_example"
|
||||
defaultConfig {
|
||||
manifestPlaceholders["usesCleartextTraffic"] = "false"
|
||||
applicationId = "com.tauri.deep_link_example"
|
||||
minSdk = 24
|
||||
targetSdk = 33
|
||||
targetSdk = 34
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
}
|
||||
|
||||
@@ -28,15 +28,13 @@
|
||||
"hello": "world"
|
||||
},
|
||||
"deep-link": {
|
||||
"domains": [
|
||||
{
|
||||
"host": "fabianlars.de",
|
||||
"pathPrefix": ["/intent"]
|
||||
},
|
||||
{
|
||||
"host": "tauri.app"
|
||||
}
|
||||
]
|
||||
"mobile": [
|
||||
{ "host": "fabianlars.de", "pathPrefix": ["/intent"] },
|
||||
{ "host": "tauri.app" }
|
||||
],
|
||||
"desktop": {
|
||||
"schemes": ["fabianlars", "my-tauri-app"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"bundle": {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"target": "ESNext",
|
||||
"module": "ESNext",
|
||||
"lib": ["ESNext", "DOM"],
|
||||
"moduleResolution": "Node",
|
||||
"moduleResolution": "bundler",
|
||||
"strict": true,
|
||||
"sourceMap": true,
|
||||
"resolveJsonModule": true,
|
||||
|
||||
@@ -5,17 +5,100 @@
|
||||
import { invoke } from "@tauri-apps/api/core";
|
||||
import { type UnlistenFn, listen } from "@tauri-apps/api/event";
|
||||
|
||||
/**
|
||||
* Get the current URLs that triggered the deep link. Use this on app load to check whether your app was started via a deep link.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { getCurrent } from '@tauri-apps/plugin-deep-link';
|
||||
* const urls = await getCurrent();
|
||||
* ```
|
||||
*
|
||||
* #### - **Windows / Linux**: Unsupported.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
export async function getCurrent(): Promise<string[] | null> {
|
||||
return await invoke<string[] | null>("plugin:deep-link|get_current");
|
||||
|
||||
// return await invoke("plugin:deep-link|get_current");
|
||||
return await invoke("plugin:deep-link|get_current");
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the app as the default handler for the specified protocol.
|
||||
*
|
||||
* @param protocol The name of the protocol without `://`. For example, if you want your app to handle `tauri://` links, call this method with `tauri` as the protocol.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { register } from '@tauri-apps/plugin-deep-link';
|
||||
* await register("my-scheme");
|
||||
* ```
|
||||
*
|
||||
* #### - **macOS / Android / iOS**: Unsupported.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
export async function register(protocol: string): Promise<null> {
|
||||
return await invoke("plugin:deep-link|register", { protocol });
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister the app as the default handler for the specified protocol.
|
||||
*
|
||||
* @param protocol The name of the protocol without `://`.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { unregister } from '@tauri-apps/plugin-deep-link';
|
||||
* await unregister("my-scheme");
|
||||
* ```
|
||||
*
|
||||
* #### - **macOS / Linux / Android / iOS**: Unsupported.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
export async function unregister(protocol: string): Promise<null> {
|
||||
return await invoke("plugin:deep-link|unregister", { protocol });
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether the app is the default handler for the specified protocol.
|
||||
*
|
||||
* @param protocol The name of the protocol without `://`.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { isRegistered } from '@tauri-apps/plugin-deep-link';
|
||||
* await isRegistered("my-scheme");
|
||||
* ```
|
||||
*
|
||||
* #### - **macOS / Android / iOS**: Unsupported, always returns `true`.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
export async function isRegistered(protocol: string): Promise<boolean> {
|
||||
return await invoke("plugin:deep-link|i_registered", { protocol });
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function for the `deep-link://new-url` event to run a function each time the protocol is triggered while the app is running. Use `getCurrent` on app load to check whether your app was started via a deep link.
|
||||
*
|
||||
* @param protocol The name of the protocol without `://`.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { onOpenUrl } from '@tauri-apps/plugin-deep-link';
|
||||
* await onOpenUrl((urls) => { console.log(urls) });
|
||||
* ```
|
||||
*
|
||||
* #### - **Windows / Linux**: Unsupported, the OS will spawn a new app instance passing the URL as a CLI argument.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
export async function onOpenUrl(
|
||||
handler: (urls: string[]) => void,
|
||||
): Promise<UnlistenFn> {
|
||||
const current = await getCurrent();
|
||||
if (current != null) {
|
||||
if (current) {
|
||||
handler(current);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tauri-apps/plugin-deep-link",
|
||||
"version": "2.0.0-beta.3",
|
||||
"version": "2.0.0-beta.5",
|
||||
"description": "Set your Tauri application as the default handler for an URL",
|
||||
"license": "MIT or APACHE-2.0",
|
||||
"authors": [
|
||||
@@ -24,6 +24,6 @@
|
||||
"LICENSE"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "2.0.0-beta.11"
|
||||
"@tauri-apps/api": "2.0.0-beta.12"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Automatically generated - DO NOT EDIT!
|
||||
|
||||
"$schema" = "../../schemas/schema.json"
|
||||
|
||||
[[permission]]
|
||||
identifier = "allow-is-registered"
|
||||
description = "Enables the is_registered command without any pre-configured scope."
|
||||
commands.allow = ["is_registered"]
|
||||
|
||||
[[permission]]
|
||||
identifier = "deny-is-registered"
|
||||
description = "Denies the is_registered command without any pre-configured scope."
|
||||
commands.deny = ["is_registered"]
|
||||
@@ -0,0 +1,13 @@
|
||||
# Automatically generated - DO NOT EDIT!
|
||||
|
||||
"$schema" = "../../schemas/schema.json"
|
||||
|
||||
[[permission]]
|
||||
identifier = "allow-register"
|
||||
description = "Enables the register command without any pre-configured scope."
|
||||
commands.allow = ["register"]
|
||||
|
||||
[[permission]]
|
||||
identifier = "deny-register"
|
||||
description = "Denies the register command without any pre-configured scope."
|
||||
commands.deny = ["register"]
|
||||
@@ -0,0 +1,13 @@
|
||||
# Automatically generated - DO NOT EDIT!
|
||||
|
||||
"$schema" = "../../schemas/schema.json"
|
||||
|
||||
[[permission]]
|
||||
identifier = "allow-unregister"
|
||||
description = "Enables the unregister command without any pre-configured scope."
|
||||
commands.allow = ["unregister"]
|
||||
|
||||
[[permission]]
|
||||
identifier = "deny-unregister"
|
||||
description = "Denies the unregister command without any pre-configured scope."
|
||||
commands.deny = ["unregister"]
|
||||
@@ -2,4 +2,10 @@
|
||||
|------|-----|
|
||||
|`allow-get-current`|Enables the get_current command without any pre-configured scope.|
|
||||
|`deny-get-current`|Denies the get_current command without any pre-configured scope.|
|
||||
|`allow-is-registered`|Enables the is_registered command without any pre-configured scope.|
|
||||
|`deny-is-registered`|Denies the is_registered command without any pre-configured scope.|
|
||||
|`allow-register`|Enables the register command without any pre-configured scope.|
|
||||
|`deny-register`|Denies the register command without any pre-configured scope.|
|
||||
|`allow-unregister`|Enables the unregister command without any pre-configured scope.|
|
||||
|`deny-unregister`|Denies the unregister command without any pre-configured scope.|
|
||||
|`default`|Allows reading the opened deep link via the get_current command|
|
||||
|
||||
@@ -308,6 +308,48 @@
|
||||
"deny-get-current"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "allow-is-registered -> Enables the is_registered command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"allow-is-registered"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "deny-is-registered -> Denies the is_registered command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"deny-is-registered"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "allow-register -> Enables the register command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"allow-register"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "deny-register -> Denies the register command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"deny-register"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "allow-unregister -> Enables the unregister command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"allow-unregister"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "deny-unregister -> Denies the unregister command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"deny-unregister"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "default -> Allows reading the opened deep link via the get_current command",
|
||||
"type": "string",
|
||||
|
||||
@@ -14,3 +14,33 @@ pub(crate) async fn get_current<R: Runtime>(
|
||||
) -> Result<Option<Vec<url::Url>>> {
|
||||
deep_link.get_current()
|
||||
}
|
||||
|
||||
#[command]
|
||||
pub(crate) async fn register<R: Runtime>(
|
||||
_app: AppHandle<R>,
|
||||
_window: Window<R>,
|
||||
deep_link: State<'_, DeepLink<R>>,
|
||||
protocol: String,
|
||||
) -> Result<()> {
|
||||
deep_link.register(protocol)
|
||||
}
|
||||
|
||||
#[command]
|
||||
pub(crate) async fn unregister<R: Runtime>(
|
||||
_app: AppHandle<R>,
|
||||
_window: Window<R>,
|
||||
deep_link: State<'_, DeepLink<R>>,
|
||||
protocol: String,
|
||||
) -> Result<()> {
|
||||
deep_link.unregister(protocol)
|
||||
}
|
||||
|
||||
#[command]
|
||||
pub(crate) async fn is_registered<R: Runtime>(
|
||||
_app: AppHandle<R>,
|
||||
_window: Window<R>,
|
||||
deep_link: State<'_, DeepLink<R>>,
|
||||
protocol: String,
|
||||
) -> Result<bool> {
|
||||
deep_link.is_registered(protocol)
|
||||
}
|
||||
|
||||
@@ -4,9 +4,8 @@
|
||||
|
||||
// This module is also imported in build.rs!
|
||||
|
||||
#![allow(dead_code)]
|
||||
|
||||
use serde::{Deserialize, Deserializer};
|
||||
use tauri_utils::config::DeepLinkProtocol;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct AssociatedDomain {
|
||||
@@ -32,5 +31,16 @@ where
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct Config {
|
||||
pub domains: Vec<AssociatedDomain>,
|
||||
/// Mobile requires `https://<host>` urls.
|
||||
pub mobile: Vec<AssociatedDomain>,
|
||||
/// Desktop requires urls starting with `<scheme>://`.
|
||||
/// These urls are also active in dev mode on Android.
|
||||
pub desktop: DesktopProtocol,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum DesktopProtocol {
|
||||
One(DeepLinkProtocol),
|
||||
List(Vec<DeepLinkProtocol>),
|
||||
}
|
||||
|
||||
@@ -8,8 +8,21 @@ pub type Result<T> = std::result::Result<T, Error>;
|
||||
|
||||
#[derive(Debug, thiserror::Error)]
|
||||
pub enum Error {
|
||||
#[error("unsupported platform")]
|
||||
UnsupportedPlatform,
|
||||
#[error(transparent)]
|
||||
Io(#[from] std::io::Error),
|
||||
#[error(transparent)]
|
||||
Tauri(#[from] tauri::Error),
|
||||
#[cfg(target_os = "windows")]
|
||||
#[error(transparent)]
|
||||
Windows(#[from] windows_result::Error),
|
||||
#[cfg(target_os = "linux")]
|
||||
#[error(transparent)]
|
||||
Ini(#[from] ini::Error),
|
||||
#[cfg(target_os = "linux")]
|
||||
#[error(transparent)]
|
||||
ParseIni(#[from] ini::ParseError),
|
||||
#[cfg(mobile)]
|
||||
#[error(transparent)]
|
||||
PluginInvoke(#[from] tauri::plugin::mobile::PluginInvokeError),
|
||||
|
||||
@@ -82,32 +82,279 @@ mod imp {
|
||||
pub struct DeepLink<R: Runtime>(pub(crate) PluginHandle<R>);
|
||||
|
||||
impl<R: Runtime> DeepLink<R> {
|
||||
/// Get the current URLs that triggered the deep link.
|
||||
/// Get the current URLs that triggered the deep link. Use this on app load to check whether your app was started via a deep link.
|
||||
///
|
||||
/// ## Platform-specific:
|
||||
///
|
||||
/// - **Windows / Linux**: Unsupported, will return [`Error::UnsupportedPlatform`](`crate::Error::UnsupportedPlatform`).
|
||||
pub fn get_current(&self) -> crate::Result<Option<Vec<url::Url>>> {
|
||||
self.0
|
||||
.run_mobile_plugin::<GetCurrentResponse>("getCurrent", ())
|
||||
.map(|v| v.url.map(|url| vec![url]))
|
||||
.map_err(Into::into)
|
||||
}
|
||||
|
||||
/// Register the app as the default handler for the specified protocol.
|
||||
///
|
||||
/// - `protocol`: The name of the protocol without `://`. For example, if you want your app to handle `tauri://` links, call this method with `tauri` as the protocol.
|
||||
///
|
||||
/// ## Platform-specific:
|
||||
///
|
||||
/// - **macOS / Android / iOS**: Unsupported, will return [`Error::UnsupportedPlatform`](`crate::Error::UnsupportedPlatform`).
|
||||
pub fn register<S: AsRef<str>>(&self, _protocol: S) -> crate::Result<()> {
|
||||
Err(crate::Error::UnsupportedPlatform)
|
||||
}
|
||||
|
||||
/// Unregister the app as the default handler for the specified protocol.
|
||||
///
|
||||
/// - `protocol`: The name of the protocol without `://`.
|
||||
///
|
||||
/// ## Platform-specific:
|
||||
///
|
||||
/// - **Linux**: Can only unregister the scheme if it was initially registered with [`register`](`Self::register`). May not work on older distros.
|
||||
/// - **macOS / Android / iOS**: Unsupported, will return [`Error::UnsupportedPlatform`](`crate::Error::UnsupportedPlatform`).
|
||||
pub fn unregister<S: AsRef<str>>(&self, _protocol: S) -> crate::Result<()> {
|
||||
Err(crate::Error::UnsupportedPlatform)
|
||||
}
|
||||
|
||||
/// Check whether the app is the default handler for the specified protocol.
|
||||
///
|
||||
/// - `protocol`: The name of the protocol without `://`.
|
||||
///
|
||||
/// ## Platform-specific:
|
||||
///
|
||||
/// - **macOS / Android / iOS**: Unsupported, will return [`Error::UnsupportedPlatform`](`crate::Error::UnsupportedPlatform`).
|
||||
pub fn is_registered<S: AsRef<str>>(&self, _protocol: S) -> crate::Result<bool> {
|
||||
Err(crate::Error::UnsupportedPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(target_os = "android"))]
|
||||
mod imp {
|
||||
use std::sync::Mutex;
|
||||
#[cfg(target_os = "linux")]
|
||||
use std::{
|
||||
fs::{create_dir_all, File},
|
||||
io::Write,
|
||||
process::Command,
|
||||
};
|
||||
#[cfg(target_os = "linux")]
|
||||
use tauri::Manager;
|
||||
use tauri::{AppHandle, Runtime};
|
||||
#[cfg(windows)]
|
||||
use windows_registry::CURRENT_USER;
|
||||
|
||||
/// Access to the deep-link APIs.
|
||||
pub struct DeepLink<R: Runtime> {
|
||||
#[allow(dead_code)]
|
||||
pub(crate) app: AppHandle<R>,
|
||||
#[allow(dead_code)]
|
||||
pub(crate) current: Mutex<Option<Vec<url::Url>>>,
|
||||
}
|
||||
|
||||
impl<R: Runtime> DeepLink<R> {
|
||||
/// Get the current URLs that triggered the deep link.
|
||||
/// Get the current URLs that triggered the deep link. Use this on app load to check whether your app was started via a deep link.
|
||||
///
|
||||
/// ## Platform-specific:
|
||||
///
|
||||
/// - **Windows / Linux**: Unsupported, will return [`Error::UnsupportedPlatform`](`crate::Error::UnsupportedPlatform`).
|
||||
pub fn get_current(&self) -> crate::Result<Option<Vec<url::Url>>> {
|
||||
Ok(self.current.lock().unwrap().clone())
|
||||
#[cfg(not(any(windows, target_os = "linux")))]
|
||||
return Ok(self.current.lock().unwrap().clone());
|
||||
#[cfg(any(windows, target_os = "linux"))]
|
||||
Err(crate::Error::UnsupportedPlatform)
|
||||
}
|
||||
|
||||
/// Register the app as the default handler for the specified protocol.
|
||||
///
|
||||
/// - `protocol`: The name of the protocol without `://`. For example, if you want your app to handle `tauri://` links, call this method with `tauri` as the protocol.
|
||||
///
|
||||
/// ## Platform-specific:
|
||||
///
|
||||
/// - **macOS / Android / iOS**: Unsupported, will return [`Error::UnsupportedPlatform`](`crate::Error::UnsupportedPlatform`).
|
||||
pub fn register<S: AsRef<str>>(&self, _protocol: S) -> crate::Result<()> {
|
||||
#[cfg(windows)]
|
||||
{
|
||||
let key_base = format!("Software\\Classes\\{}", _protocol.as_ref());
|
||||
|
||||
let exe = dunce::simplified(&tauri::utils::platform::current_exe()?)
|
||||
.display()
|
||||
.to_string();
|
||||
|
||||
let key_reg = CURRENT_USER.create(&key_base)?;
|
||||
key_reg.set_string(
|
||||
"",
|
||||
&format!("URL:{} protocol", self.app.config().identifier),
|
||||
)?;
|
||||
key_reg.set_string("URL Protocol", "")?;
|
||||
|
||||
let icon_reg = CURRENT_USER.create(format!("{key_base}\\DefaultIcon"))?;
|
||||
icon_reg.set_string("", &format!("{},0", &exe))?;
|
||||
|
||||
let cmd_reg = CURRENT_USER.create(format!("{key_base}\\shell\\open\\command"))?;
|
||||
|
||||
cmd_reg.set_string("", &format!("{} \"%1\"", &exe))?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
let bin = tauri::utils::platform::current_exe()?;
|
||||
let file_name = format!(
|
||||
"{}-handler.desktop",
|
||||
bin.file_name().unwrap().to_string_lossy()
|
||||
);
|
||||
let appimage = self.app.env().appimage;
|
||||
let exec = appimage
|
||||
.clone()
|
||||
.unwrap_or_else(|| bin.into_os_string())
|
||||
.to_string_lossy()
|
||||
.to_string();
|
||||
|
||||
let target = self.app.path().data_dir()?.join("applications");
|
||||
|
||||
create_dir_all(&target)?;
|
||||
|
||||
let target_file = target.join(&file_name);
|
||||
|
||||
let mime_type = format!("x-scheme-handler/{}", _protocol.as_ref());
|
||||
|
||||
if let Ok(mut desktop_file) = ini::Ini::load_from_file(&target_file) {
|
||||
if let Some(section) = desktop_file.section_mut(Some("Desktop Entry")) {
|
||||
let old_mimes = section.remove("MimeType");
|
||||
section.append(
|
||||
"MimeType",
|
||||
format!("{mime_type};{}", old_mimes.unwrap_or_default()),
|
||||
);
|
||||
desktop_file.write_to_file(&target_file)?;
|
||||
}
|
||||
} else {
|
||||
let mut file = File::create(target_file)?;
|
||||
file.write_all(
|
||||
format!(
|
||||
include_str!("template.desktop"),
|
||||
name = self
|
||||
.app
|
||||
.config()
|
||||
.product_name
|
||||
.clone()
|
||||
.unwrap_or_else(|| file_name.clone()),
|
||||
exec = exec,
|
||||
mime_type = mime_type
|
||||
)
|
||||
.as_bytes(),
|
||||
)?;
|
||||
}
|
||||
|
||||
Command::new("update-desktop-database")
|
||||
.arg(target)
|
||||
.status()?;
|
||||
|
||||
Command::new("xdg-mime")
|
||||
.args(["default", &file_name, _protocol.as_ref()])
|
||||
.status()?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[cfg(not(any(windows, target_os = "linux")))]
|
||||
Err(crate::Error::UnsupportedPlatform)
|
||||
}
|
||||
|
||||
/// Unregister the app as the default handler for the specified protocol.
|
||||
///
|
||||
/// - `protocol`: The name of the protocol without `://`.
|
||||
///
|
||||
/// ## Platform-specific:
|
||||
///
|
||||
/// - **Linux**: Can only unregister the scheme if it was initially registered with [`register`](`Self::register`). May not work on older distros.
|
||||
/// - **macOS / Android / iOS**: Unsupported, will return [`Error::UnsupportedPlatform`](`crate::Error::UnsupportedPlatform`).
|
||||
pub fn unregister<S: AsRef<str>>(&self, _protocol: S) -> crate::Result<()> {
|
||||
#[cfg(windows)]
|
||||
{
|
||||
CURRENT_USER.remove_tree(format!("Software\\Classes\\{}", _protocol.as_ref()))?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
let mimeapps_path = self.app.path().config_dir()?.join("mimeapps.list");
|
||||
let mut mimeapps = ini::Ini::load_from_file(&mimeapps_path)?;
|
||||
|
||||
let file_name = format!(
|
||||
"{}-handler.desktop",
|
||||
tauri::utils::platform::current_exe()?
|
||||
.file_name()
|
||||
.unwrap()
|
||||
.to_string_lossy()
|
||||
);
|
||||
|
||||
if let Some(section) = mimeapps.section_mut(Some("Default Applications")) {
|
||||
let scheme = format!("x-scheme-handler/{}", _protocol.as_ref());
|
||||
|
||||
if section.get(&scheme).unwrap_or_default() == file_name {
|
||||
section.remove(scheme);
|
||||
}
|
||||
}
|
||||
|
||||
mimeapps.write_to_file(mimeapps_path)?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[cfg(not(any(windows, target_os = "linux")))]
|
||||
Err(crate::Error::UnsupportedPlatform)
|
||||
}
|
||||
|
||||
/// Check whether the app is the default handler for the specified protocol.
|
||||
///
|
||||
/// - `protocol`: The name of the protocol without `://`.
|
||||
///
|
||||
/// ## Platform-specific:
|
||||
///
|
||||
/// - **macOS / Android / iOS**: Unsupported, will return [`Error::UnsupportedPlatform`](`crate::Error::UnsupportedPlatform`).
|
||||
pub fn is_registered<S: AsRef<str>>(&self, _protocol: S) -> crate::Result<bool> {
|
||||
#[cfg(windows)]
|
||||
{
|
||||
let cmd_reg = CURRENT_USER.open(format!(
|
||||
"Software\\Classes\\{}\\shell\\open\\command",
|
||||
_protocol.as_ref()
|
||||
))?;
|
||||
|
||||
let registered_cmd: String = cmd_reg.get_string("")?;
|
||||
|
||||
let exe = dunce::simplified(&tauri::utils::platform::current_exe()?)
|
||||
.display()
|
||||
.to_string();
|
||||
|
||||
Ok(registered_cmd == format!("{} \"%1\"", &exe))
|
||||
}
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
let file_name = format!(
|
||||
"{}-handler.desktop",
|
||||
tauri::utils::platform::current_exe()?
|
||||
.file_name()
|
||||
.unwrap()
|
||||
.to_string_lossy()
|
||||
);
|
||||
|
||||
let output = Command::new("xdg-mime")
|
||||
.args([
|
||||
"query",
|
||||
"default",
|
||||
&format!("x-scheme-handler/{}", _protocol.as_ref()),
|
||||
])
|
||||
.output()?;
|
||||
|
||||
Ok(String::from_utf8_lossy(&output.stdout).contains(&file_name))
|
||||
}
|
||||
|
||||
#[cfg(not(any(windows, target_os = "linux")))]
|
||||
Err(crate::Error::UnsupportedPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -128,7 +375,12 @@ impl<R: Runtime, T: Manager<R>> crate::DeepLinkExt<R> for T {
|
||||
/// Initializes the plugin.
|
||||
pub fn init<R: Runtime>() -> TauriPlugin<R, Option<config::Config>> {
|
||||
Builder::new("deep-link")
|
||||
.invoke_handler(tauri::generate_handler![commands::get_current])
|
||||
.invoke_handler(tauri::generate_handler![
|
||||
commands::get_current,
|
||||
commands::register,
|
||||
commands::unregister,
|
||||
commands::is_registered
|
||||
])
|
||||
.setup(|app, api| {
|
||||
app.manage(init_deep_link(app, api)?);
|
||||
Ok(())
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name={name}
|
||||
Exec={exec} %u
|
||||
Terminal=false
|
||||
MimeType={mime_type}
|
||||
NoDisplay=true
|
||||
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.4]
|
||||
|
||||
- [`430bd6f4`](https://github.com/tauri-apps/plugins-workspace/commit/430bd6f4f379bee5d232ae6b098ae131db7f178a)([#1363](https://github.com/tauri-apps/plugins-workspace/pull/1363)) Update to tauri beta.20.
|
||||
|
||||
## \[2.0.0-beta.3]
|
||||
|
||||
- [`bd1ed590`](https://github.com/tauri-apps/plugins-workspace/commit/bd1ed5903ffcce5500310dac1e59e8c67674ef1e)([#1237](https://github.com/tauri-apps/plugins-workspace/pull/1237)) Update to tauri beta.17.
|
||||
@@ -135,5 +139,13 @@
|
||||
pull/371)) First v2 alpha release!
|
||||
kspace/commit/717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
pull/371)) First v2 alpha release!
|
||||
lpha release!
|
||||
lpha release!
|
||||
pull/371)) First v2 alpha release!
|
||||
7ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
pull/371)) First v2 alpha release!
|
||||
71]\(https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
pull/371)) First v2 alpha release!
|
||||
kspace/commit/717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
pull/371)) First v2 alpha release!
|
||||
lpha release!
|
||||
pull/371)) First v2 alpha release!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "tauri-plugin-dialog"
|
||||
version = "2.0.0-beta.7"
|
||||
version = "2.0.0-beta.8"
|
||||
description = "Native system dialogs for opening and saving files along with message dialogs on your Tauri application."
|
||||
edition = { workspace = true }
|
||||
authors = { workspace = true }
|
||||
@@ -24,7 +24,7 @@ tauri = { workspace = true }
|
||||
log = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
dunce = { workspace = true }
|
||||
tauri-plugin-fs = { path = "../fs", version = "2.0.0-beta.7" }
|
||||
tauri-plugin-fs = { path = "../fs", version = "2.0.0-beta.8" }
|
||||
|
||||
[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" ] }
|
||||
|
||||
@@ -5,11 +5,11 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace = "app.tauri.dialog"
|
||||
compileSdk = 32
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 24
|
||||
targetSdk = 32
|
||||
targetSdk = 34
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles("consumer-rules.pro")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tauri-apps/plugin-dialog",
|
||||
"version": "2.0.0-beta.3",
|
||||
"version": "2.0.0-beta.4",
|
||||
"license": "MIT or APACHE-2.0",
|
||||
"authors": [
|
||||
"Tauri Programme within The Commons Conservancy"
|
||||
@@ -23,6 +23,6 @@
|
||||
"LICENSE"
|
||||
],
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "2.0.0-beta.11"
|
||||
"@tauri-apps/api": "2.0.0-beta.12"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ use tauri::{
|
||||
};
|
||||
|
||||
use std::{
|
||||
fs,
|
||||
path::{Path, PathBuf},
|
||||
sync::mpsc::sync_channel,
|
||||
};
|
||||
@@ -213,7 +214,7 @@ impl<R: Runtime> MessageDialogBuilder<R> {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize)]
|
||||
#[derive(Debug, Deserialize, Serialize, Default)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct FileResponse {
|
||||
pub base64_data: Option<String>,
|
||||
@@ -230,16 +231,18 @@ pub struct FileResponse {
|
||||
impl FileResponse {
|
||||
#[cfg(desktop)]
|
||||
fn new(path: PathBuf) -> Self {
|
||||
let metadata = fs::metadata(&path);
|
||||
let metadata = metadata.as_ref();
|
||||
Self {
|
||||
base64_data: None,
|
||||
duration: None,
|
||||
height: None,
|
||||
width: None,
|
||||
mime_type: None,
|
||||
modified_at: None,
|
||||
modified_at: metadata.ok().and_then(|m| to_msec(m.modified())),
|
||||
name: path.file_name().map(|f| f.to_string_lossy().into_owned()),
|
||||
path,
|
||||
size: 0,
|
||||
size: metadata.map(|m| m.len()).unwrap_or(0),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -574,3 +577,18 @@ impl<R: Runtime> FileDialogBuilder<R> {
|
||||
blocking_fn!(self, save_file)
|
||||
}
|
||||
}
|
||||
|
||||
// taken from deno source code: https://github.com/denoland/deno/blob/ffffa2f7c44bd26aec5ae1957e0534487d099f48/runtime/ops/fs.rs#L913
|
||||
#[inline]
|
||||
fn to_msec(maybe_time: std::result::Result<std::time::SystemTime, std::io::Error>) -> Option<u64> {
|
||||
match maybe_time {
|
||||
Ok(time) => {
|
||||
let msec = time
|
||||
.duration_since(std::time::UNIX_EPOCH)
|
||||
.map(|t| t.as_millis() as u64)
|
||||
.unwrap_or_else(|err| err.duration().as_millis() as u64);
|
||||
Some(msec)
|
||||
}
|
||||
Err(_) => None,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## \[2.0.0-beta.4]
|
||||
|
||||
- [`430bd6f4`](https://github.com/tauri-apps/plugins-workspace/commit/430bd6f4f379bee5d232ae6b098ae131db7f178a)([#1363](https://github.com/tauri-apps/plugins-workspace/pull/1363)) Update to tauri beta.20.
|
||||
|
||||
## \[2.0.0-beta.3]
|
||||
|
||||
- [`bd1ed590`](https://github.com/tauri-apps/plugins-workspace/commit/bd1ed5903ffcce5500310dac1e59e8c67674ef1e)([#1237](https://github.com/tauri-apps/plugins-workspace/pull/1237)) Update to tauri beta.17.
|
||||
@@ -87,6 +91,6 @@
|
||||
717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
.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!
|
||||
ac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
ac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
|
||||
.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!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "tauri-plugin-fs"
|
||||
version = "2.0.0-beta.7"
|
||||
version = "2.0.0-beta.8"
|
||||
description = "Access the file system."
|
||||
authors = { workspace = true }
|
||||
license = { workspace = true }
|
||||
|
||||
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user