Compare commits

..

200 Commits

Author SHA1 Message Date
github-actions[bot] 68cb23f9c0 Publish New Versions (v2) (#723)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-12-14 15:44:44 -03:00
Fabian-Lars 387c2f9e0c chore: Update Tauri to alpha.18 (#802) 2023-12-11 15:41:42 -03:00
Fabian-Lars 78e60e6618 fix(updater): Typo in error enum (#812) 2023-12-11 15:19:05 -03:00
Tillmann a848e1870a chore(barcode): Added security policy (#766) 2023-12-07 13:42:18 +01:00
Mitchell van der Hoeff f4b2674fd5 fix(sql): Encode JSON numbers as f64 to fix JSON_EXTRACT queries (#797)
Signed-off-by: Mitchell van der Hoeff <8631205+mitchelljustin@users.noreply.github.com>
2023-12-06 15:20:35 +01:00
Michael Howell 0e3e3d4eac fix(dialog): Pin rfd to 0.12 to prevent freeze on Linux (#796)
* Do not use rfd 0.12.1

https://github.com/PolyMeilex/rfd/pull/152
conflicts with the way tauri uses it.

> Yeah, this is a decent solution, not much else we can do about this global state bs on C side.
>
> This will obviously blow up as soon as someone has other code that also uses GTK, but let's ignore that for now, as I want to get rid of GTK backend one day anyway (#66).

Yes, Tauri is other code that also uses GTK, and it does, indeed, blow up. The best way around this is to stop using rfd entirely (they're planning to drop the GTK backend, which will probably break since the XDG Portal API doesn't cover message dialogs).

* Update dialog-pin-rfd.md

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-12-05 19:31:08 +01:00
kris-ava e7c72c9816 fix(updater): fix appimage extraction (#784)
* fix updater on linux

* review changes

* Apply suggestions from code review

* change file

---------

Co-authored-by: Kris Krolak <krzysiek.krolak@gmail.com>
2023-11-30 20:46:02 +02:00
pashokitsme 2e2c0a1b95 fix(dialog): fix message dialog return with custom buttons, fixes #711 (#769)
* fix confirm

* remove unnecessary lines

* fix

* change file
2023-11-27 19:55:26 +02:00
Fabian-Lars f49b391f10 Merge pull request #761 from tauri-apps/ci/features
ci: Test rust crates with all features enabled
2023-11-24 11:12:11 +01:00
Fabian-Lars df73183f2c test http without features 2023-11-23 22:30:25 +01:00
FabianLars bd0b015180 update notify version to match code 2023-11-23 22:05:01 +01:00
Fabian-Lars 7d1f3e7a08 ci: Test rust crates with all features enabled 2023-11-23 21:56:49 +01:00
Fabian-Lars 913b767c4b chore: Merge remote-tracking branch 'origin/v1' into v2 2023-11-23 20:47:28 +01:00
FabianLars 058d5dde0d Merge remote-tracking branch 'origin/v1' into v1-into-v2-again 2023-11-23 19:59:58 +01:00
Fabian-Lars 8c9ff2a2a9 chore: Add sponsors section to readme (#758)
* chore: Add sponsors section to readme

* which link style works in nested folders?

* add sponsors to plugin readmes

* use https links as src

* double test it with the pr branch

* revert last commit

* fmt
2023-11-23 17:18:09 +01:00
Kai Hata 5106b9d0c6 docs(localhost): incorrect usage of RemoteDomainAccessScope in README. (#757)
* Fix incorrect usage of RemoteDomainAccessScope in README.

* Fix incorrect usage of RemoteDomainAccessScope in README.
2023-11-23 11:03:33 +01:00
Fabian-Lars 0864c54147 fix(updater): replace url vars in query params (#756) 2023-11-22 16:08:24 +01:00
renovate[bot] 2d941a407b chore(deps): update dependency svelte-check to v3.6.1 (#755)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-22 14:13:57 +01:00
renovate[bot] 0617e2354a chore(deps): update dependency rollup to v4.5.1 (#754)
* chore(deps): update dependency rollup to v4.5.1

* pnpm dedupe

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-11-22 13:58:45 +01:00
renovate[bot] e66b196852 chore(deps): update dependency vite to v5.0.2 (#753)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 18:24:35 +01:00
renovate[bot] 32309c90d8 chore(deps): update dependency vite to v5.0.1 (#752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 14:56:57 +01:00
Amr Bashir 445c1e6cb6 feat(notifications): use the ligh windows-version crate (#750)
* feat(notifications): use the ligh `windows-version` crate

* Update desktop.rs

* optional
2023-11-21 14:23:47 +02:00
Amr Bashir 88d260d901 fix(fs): add options argument for exists function closes #734 (#744)
closes #734
2023-11-21 01:31:00 +02:00
renovate[bot] a3b506f559 chore(deps): update typescript-eslint monorepo to v6.12.0 (#748)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 20:38:19 +01:00
renovate[bot] 0a387ea358 chore(deps): update dependency typescript to v5.3.2 (#747)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 20:35:03 +01:00
renovate[bot] f16433be43 chore(deps): update dependency svelte to v4.2.7 (#743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 16:25:37 +01:00
Amr Bashir eea3df56ef fix: add back main, module and types field in top-level package.json (#742)
closes #738

`"moduleResolution": "node"` doesn't handle the `exports` field
2023-11-20 16:00:55 +02:00
renovate[bot] 53a1a7e436 chore(deps): update dependency vite to v5 (#732)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 14:02:53 +01:00
renovate[bot] af3b36647c chore(deps): update dependency svelte to v4.2.6 (#741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 13:57:02 +01:00
renovate[bot] 20ef22fc3a chore(deps): update dependency eslint-config-standard-with-typescript to v40 (#740)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-18 12:28:03 +01:00
renovate[bot] 4e6712ed40 chore(deps): update dependency rollup to v4.5.0 (#739)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-18 12:18:59 +01:00
renovate[bot] 8d6a60d4a2 chore(deps): update dependency eslint to v8.54.0 (#737)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 23:19:20 +01:00
renovate[bot] 19529b6097 chore(deps): update dependency svelte to v4.2.5 (#736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 18:14:05 +01:00
renovate[bot] b11221a7c9 chore(deps): update dependency svelte to v4.2.4 (#733)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 13:04:41 +01:00
Amr Bashir 5a8bbe2967 chore: remove dead code from updater test (#731) 2023-11-16 18:55:46 +02:00
renovate[bot] 642a195d34 fix(deps): update rust crate windows-sys to 0.52 (#730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 17:10:19 +02:00
Amr Bashir a3ca64275a fix(updater): Use escaped installer path to start the msi updater (#728)
* fix(updater): Use escaped installer path to start the msi updater

Continuation of #727

* change file

* fix build
2023-11-16 01:26:11 +02:00
Fabian-Lars 9db40a6dc4 fix(updater): Use escaped installer path to start the nsis updater (#727)
Port of v1 change: https://github.com/tauri-apps/tauri/pull/7956
2023-11-15 14:58:57 +02:00
Amr Bashir 1b98b85a1f refactor: simplify rollup config and match @tauri-apps/api output style (#722)
* refactor: simplify rollup config and match `@tauri-apps/api` output style

* add license headers

* update api-iife.js [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-11-14 21:09:53 +02:00
renovate[bot] cb1586b4d1 chore(deps): update dependency @sveltejs/kit to v1.27.6 (#726)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 17:48:03 +01:00
renovate[bot] aeca2d0d87 chore(deps): update dependency rollup to v4.4.1 (#725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 12:06:00 +01:00
Amr Bashir fc62ead565 fix(os): use an internal object instead of window.__TAURI__, closes #719 (#721)
fix(os): use an internal object instead of ` window.__TAURI__`, closes  #719
2023-11-13 21:55:00 -03:00
Fabian-Lars 251852ccbc chore: Merge branch v1 into v2 (#702) 2023-11-13 21:50:13 -03:00
renovate[bot] b13d97c7c7 chore(deps): update typescript-eslint monorepo to v6.11.0 (#720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 20:10:58 +01:00
renovate[bot] f807d02c08 chore(deps): update dependency prettier to v3.1.0 (#718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 09:34:04 +01:00
renovate[bot] 2888925973 chore(deps): update dependency rollup to v4.4.0 (#716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-12 12:12:10 +01:00
renovate[bot] eac0cbff3c chore(deps): update dependency @sveltejs/kit to v1.27.5 (#715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-11 20:31:25 +01:00
renovate[bot] 8ab2267944 chore(deps): update dependency rollup to v4.3.1 (#714)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-11 14:12:32 +01:00
renovate[bot] 84a2a11c4d chore(deps): update dependency svelte-check to v3.6.0 (#713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-10 18:01:35 +01:00
renovate[bot] 04e396d036 chore(deps): update dependency svelte to v4.2.3 (#712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-10 15:20:58 +01:00
renovate[bot] 5ca7a63da2 chore(deps): update dependency eslint-plugin-n to v16.3.1 (#710)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-10 15:10:22 +01:00
renovate[bot] 61e862597e chore(deps): update dependency @sveltejs/kit to v1.27.4 (#709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 15:16:52 +01:00
renovate[bot] 6865299149 chore(deps): update dependency eslint-plugin-n to v16.3.0 (#705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 09:02:26 +01:00
renovate[bot] ba6acafb5b chore(deps): update typescript-eslint monorepo to v6.10.0 (#704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 21:04:27 +01:00
renovate[bot] 4247434ed8 chore(deps): update dependency rollup to v4.3.0 (#700)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-04 11:20:50 +01:00
renovate[bot] 33e40d819d chore(deps): update dependency eslint to v8.53.0 (#699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-04 11:09:29 +01:00
renovate[bot] af0ee307d4 chore(deps): update dependency @sveltejs/adapter-auto to v2.1.1 (#697)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-04 11:07:59 +01:00
renovate[bot] 96d5cabc17 chore(deps): update dependency @sveltejs/kit to v1.27.3 (#698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-04 11:03:21 +01:00
renovate[bot] 8d6045421a chore(deps): update dependency rollup to v4.2.0 (#693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 11:14:58 +01:00
renovate[bot] c77cbe936d chore(deps): update dependency rollup to v4.1.6 (#692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 10:51:53 +01:00
renovate[bot] 11048fd997 chore(deps): update typescript-eslint monorepo to v6.9.1 (#691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 20:51:36 +01:00
Fabian-Lars f595684ba8 ci: ignore tauri-cli vite config CVE (#690) 2023-10-30 08:41:51 -03:00
renovate[bot] d472eebad2 chore(deps): update dependency rollup to v4 (#639)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 11:02:52 +01:00
renovate[bot] c27699ffab chore(deps): update dependency @sveltejs/kit to v1.27.2 (#689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 10:26:01 +01:00
github-actions[bot] d4d1633c4d Publish New Versions (v2) (#688)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-29 16:19:52 -03:00
Lucas Fernandes Nogueira e438e0a62d feat: update to alpha.17, typed mobile plugin IPC arguments (#676)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-10-29 16:06:44 -03:00
renovate[bot] 68d77f999c chore(deps): update dependency @sveltejs/kit to v1.27.1 (#685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-25 19:39:28 +02:00
Fabian-Lars 1712f27b77 feat(upload): Use BufWriter for file downloads. (#684) 2023-10-25 12:25:33 +02:00
renovate[bot] 8dd371814a chore(deps): update dependency eslint-plugin-import to v2.29.0 (#678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-24 11:50:35 +02:00
renovate[bot] 5c3b2f7511 chore(deps): update dependency @sveltejs/kit to v1.27.0 (#681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-24 11:17:57 +02:00
renovate[bot] 227bf5424a chore(deps): update typescript-eslint monorepo to v6.9.0 (#682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-24 11:12:26 +02:00
renovate[bot] c25b7537e3 chore(deps): update dependency eslint to v8.52.0 (#674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-21 10:28:46 +02:00
renovate[bot] 9e24e52164 chore(deps): update dependency @tauri-apps/cli to v1.5.5 (#672)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 22:54:28 +00:00
renovate[bot] 444a16ca73 chore(deps): update dependency @sveltejs/kit to v1.26.0 (#668)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 12:53:41 +02:00
renovate[bot] cff0cdeaa8 chore(deps): update dependency svelte to v4.2.2 (#670)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 12:52:03 +02:00
dependabot[bot] 57c1db41a3 chore(deps): bump rustix from 0.37.23 to 0.37.25 (#669)
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.37.23 to 0.37.25.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.37.23...v0.37.25)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 12:43:17 +02:00
renovate[bot] 6630e5db75 fix(deps): update tauri monorepo (#665)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-18 12:50:05 +02:00
renovate[bot] 662c61826b chore(deps): update dependency vite to v4.5.0 (#666)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-18 12:45:03 +02:00
renovate[bot] 44df7726ae chore(deps): update typescript-eslint monorepo to v6.8.0 (#664)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 19:43:23 +02:00
renovate[bot] b4535af927 chore(deps): update dependency eslint-plugin-n to v16.2.0 (#651)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 19:33:00 +02:00
Pylogmon 77b81af36c chore(sql): Refine features for sql plugin (#660)
This makes it possible to use the sqlite feature without ring for windows-aarch64 support until all dependencies update to ring 0.17
2023-10-15 18:34:47 +02:00
renovate[bot] 9b20f28d74 chore(deps): update dependency @sveltejs/kit to v1.25.2 (#647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 08:59:10 +02:00
renovate[bot] 1e56d86b51 chore(deps): update typescript-eslint monorepo to v6.7.5 (#646)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 22:27:01 +02:00
renovate[bot] 07650ca94b chore(deps): update dependency @rollup/plugin-node-resolve to v15.2.3 (#645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 11:55:42 +02:00
renovate[bot] d68d5cce60 chore(deps): update dependency @tauri-apps/cli to v1.5.2 (#643)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-08 18:55:01 +02:00
renovate[bot] faab5f6cee chore(deps): update dependency eslint-config-standard-with-typescript to v39.1.1 (#641)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-07 12:14:32 +02:00
renovate[bot] 4ecc649839 chore(deps): update dependency eslint to v8.51.0 (#640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-07 11:19:51 +02:00
renovate[bot] 9f27e6e441 chore(deps): update dependency @rollup/plugin-typescript to v11.1.5 (#638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-05 17:33:33 +02:00
renovate[bot] 3f0917bd50 chore(deps): update dependency @rollup/plugin-terser to v0.4.4 (#637)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-05 17:11:22 +02:00
renovate[bot] 9048f80a4e chore(deps): update dependency @rollup/plugin-node-resolve to v15.2.2 (#636)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-05 17:05:30 +02:00
mellobacon ac7390973b feat(log): Custom .log file names (#633)
* feat (log): custom .log file names

* fix (log): corrected typo

* chore (log): refactor

* chore (log): replaced empty string with Option

* Apply suggestions from code review

* Update plugins/log/src/lib.rs

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-10-05 15:24:04 +02:00
renovate[bot] d5f5d78830 chore(deps): update dependency vite to v4.4.11 (#635)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-05 13:51:01 +02:00
renovate[bot] 1f799ae25e chore(deps): update dependency vite to v4.4.10 (#632)
* chore(deps): update dependency vite to v4.4.10

* update postcss to fix audit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-10-04 11:47:49 +02:00
renovate[bot] fa32d1afa9 chore(deps): update dependency @tauri-apps/cli to v1.5.1 (#630)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-03 17:36:00 +02:00
renovate[bot] f41d3e5e77 chore(deps): update typescript-eslint monorepo to v6.7.4 (#631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-03 16:34:35 +02:00
renovate[bot] 9b96996b5a fix(deps): update tauri monorepo to v1.5.0 (#626)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 11:59:59 +02:00
renovate[bot] 9af4c3727c chore(deps): update dependency rollup to v3.29.4 (#624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-28 11:47:03 +02:00
Xinyu Yang 3d279094d4 fix(positioner): Prevent tray relative windows from being moved off-screen (#291)
* feat: add system tray positioning method

* apply patch

* remove pos

* fix linter

* fix cargo fmt

* linter

* add changefile

* Update and rename stronghold-tray-position.md to tray-position.md

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-09-27 15:55:44 +02:00
renovate[bot] 6c7a4c0984 chore(deps): update dependency eslint-config-standard-with-typescript to v39 (#622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 21:00:16 +02:00
renovate[bot] 1c17161f2a chore(deps): update dependency eslint-plugin-n to v16.1.0 (#580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 18:55:07 +02:00
renovate[bot] 6111c7f3da fix(deps): update rust crate notify-debouncer-mini to 0.4 (#577)
* fix(deps): update rust crate notify-debouncer-mini to 0.4

* Update lib.rs

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-09-26 18:54:26 +02:00
renovate[bot] 746067bb70 fix(deps): update rust crate auto-launch to 0.5 (#621)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 18:53:46 +02:00
renovate[bot] 0623903f12 chore(deps): update dependency eslint to v8.50.0 (#618)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 18:38:06 +02:00
renovate[bot] 043de033b0 chore(deps): update dependency @rollup/plugin-node-resolve to v15.2.1 (#572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 18:36:46 +02:00
renovate[bot] 7432a399db fix(deps): update rust crate aho-corasick to 1.1 (#620)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 18:36:26 +02:00
renovate[bot] 305c5793ae chore(deps): update dependency eslint-plugin-import to v2.28.1 (#575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 18:30:56 +02:00
renovate[bot] 4a39b74d5c chore(deps): update dependency typescript to v5.2.2 (#619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 18:29:31 +02:00
renovate[bot] dc5a14b6ad chore(deps): update dependency tslib to v2.6.2 (#574)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 18:24:12 +02:00
renovate[bot] 2b65e0a149 chore(deps): update typescript-eslint monorepo to v6.7.3 (#579)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 17:00:30 +02:00
renovate[bot] beb9095f11 chore(deps): update dependency rollup to v3.29.3 (#581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 16:59:51 +02:00
renovate[bot] 418294b1a3 chore(deps): update dependency svelte-check to v3.5.2 (#617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 16:51:09 +02:00
renovate[bot] 3febb72f28 chore(deps): update dependency svelte to v4.2.1 (#616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 16:38:45 +02:00
renovate[bot] 90fecadb86 chore(deps): update dependency prettier to v3.0.3 (#615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 16:26:36 +02:00
dependabot[bot] 63834d9b63 chore(deps): bump tungstenite from 0.20.0 to 0.20.1 (#614)
Bumps [tungstenite](https://github.com/snapview/tungstenite-rs) from 0.20.0 to 0.20.1.
- [Changelog](https://github.com/snapview/tungstenite-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/snapview/tungstenite-rs/compare/v0.20.0...v0.20.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-26 16:22:07 +02:00
renovate[bot] 8654caa26e chore(deps): update dependency @rollup/plugin-typescript to v11.1.4 (#586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 16:21:12 +02:00
renovate[bot] 473991371d chore(deps): update dependency @sveltejs/kit to v1.25.1 (#584)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 15:58:34 +02:00
Fabian-Lars e98e8eac3d fix(docs): Revert a single change from #612 (#613) 2023-09-26 16:44:51 +03:00
Praveen Ravichandran 44d8f60e0d fix(typo): fixed some language related issues in the documentation (#612) 2023-09-26 09:25:22 +03:00
Lorenzo Castellino b04bde3461 fix: small typo in README (#611)
"te" -> "the"
2023-09-24 17:19:46 +02:00
Fabian-Lars 0190f68f1d fix(sql): split up datatypes more granular, fixes #462 (#608) 2023-09-20 12:03:30 +02:00
Fabian-Lars 5b85dd22c7 fix(sql): decode float columns as f32, closes #602 (#607) 2023-09-20 07:30:12 +02:00
Lucas Fernandes Nogueira 76832e60bf Revert "fix(deps): update rust crate rust-argon2 to v2 (#552)" (#565)
This reverts commit 83148da959.

Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-09-19 16:34:47 +02:00
dependabot[bot] 5b814f56e6 chore(deps): bump rustls-webpki from 0.101.2 to 0.101.4 (#582)
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.101.2 to 0.101.4.
- [Release notes](https://github.com/rustls/webpki/releases)
- [Commits](https://github.com/rustls/webpki/compare/v/0.101.2...v/0.101.4)

---
updated-dependencies:
- dependency-name: rustls-webpki
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-23 08:16:29 +02:00
renovate[bot] 6647e6ea90 chore(deps): update dependency prettier to v3.0.2 (#563)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 21:00:35 +02:00
renovate[bot] 83148da959 fix(deps): update rust crate rust-argon2 to v2 (#552)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 10:11:04 -03:00
renovate[bot] e8d7e765e7 chore(deps): update dependency svelte to v4.2.0 (#550)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 08:01:32 -03:00
renovate[bot] 76bcecf5b2 chore(deps): update dependency rollup to v3.28.0 (#544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 07:47:58 -03:00
renovate[bot] d49aa664e9 chore(deps): update dependency eslint to v8.47.0 (#549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 07:47:30 -03:00
renovate[bot] bd0d88243a chore(deps): update dependency svelte-check to v3.5.0 (#551)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 07:44:43 -03:00
renovate[bot] f001df870f chore(deps): update dependency @sveltejs/kit to v1.22.6 (#548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 07:44:09 -03:00
renovate[bot] 72a6e3ba68 chore(deps): update typescript-eslint monorepo to v6.4.0 (#538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 07:43:48 -03:00
Lorenzo Rizzotti 7e58dc8502 feat(websocket): add custom headers feature (#542)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-08-08 13:18:20 -03:00
Lorenzo Rizzotti ac495b9fb4 fix(websocket): config (#541)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-08-08 10:32:34 -03:00
Alexandre Dang dacde1629d feat(stronghold): add an init function that uses argon2 (#449)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-08-08 09:36:16 -03:00
renovate[bot] 700549ab02 chore(deps): update dependency prettier to v3.0.1 (#532)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-07 09:37:51 -03:00
renovate[bot] 811b1ec12d chore(deps): update dependency vite to v4.4.9 (#537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-07 09:36:47 -03:00
renovate[bot] 174c5e52e3 chore(deps): update dependency rollup to v3.27.2 (#534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-07 08:35:52 -03:00
renovate[bot] 37d057df61 chore(deps): update dependency eslint-config-prettier to v9 (#535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-07 08:35:35 -03:00
renovate[bot] cdb77c4b65 chore(deps): update dependency eslint-plugin-import to v2.28.0 (#520)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-02 12:05:41 -03:00
renovate[bot] e47dca954f chore(deps): update dependency rollup to v3.27.0 (#522)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-02 07:40:45 -03:00
renovate[bot] 94f62d2503 chore(deps): update typescript-eslint monorepo to v6.2.1 (#528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-02 07:40:34 -03:00
renovate[bot] ee0d314bb5 chore(deps): update dependency svelte to v4.1.2 (#524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-01 18:14:12 +02:00
renovate[bot] ae8a581f9a chore(deps): update dependency @sveltejs/kit to v1.22.4 (#525)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-01 18:06:12 +02:00
renovate[bot] 67bff4559d chore(deps): update dependency vite to v4.4.8 (#529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-01 18:01:29 +02:00
renovate[bot] d272bde2bb chore(deps): update dependency eslint to v8.46.0 (#521)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-28 18:50:40 +02:00
renovate[bot] 919616d7d3 chore(deps): update typescript-eslint monorepo to v6.2.0 (#514)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-27 14:16:30 +02:00
renovate[bot] b60b46a0b8 chore(deps): update dependency svelte to v4.1.1 (#508)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-27 14:15:02 +02:00
renovate[bot] 6d8f517148 chore(deps): update dependency tslib to v2.6.1 (#515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-27 14:04:12 +02:00
renovate[bot] 949c59f8a5 chore(deps): update dependency vite to v4.4.7 (#510)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-27 14:02:51 +02:00
renovate[bot] b99844706e chore(deps): update dependency eslint-config-prettier to v8.9.0 (#517)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-27 14:01:27 +02:00
renovate[bot] 92514cca47 fix(deps): update rust crate tokio-tungstenite to 0.20 (#513)
* fix(deps): update rust crate tokio-tungstenite to 0.20

* adapt new websocket config struct

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-07-24 12:22:22 +02:00
renovate[bot] 81fb450c39 chore(deps): update dependency eslint-config-standard-with-typescript to v37 (#512)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-22 21:28:33 +02:00
renovate[bot] c3a6dab24c chore(deps): update dependency eslint-config-standard-with-typescript to v36.1.1 (#511)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-22 09:34:05 +02:00
renovate[bot] 0863f800b8 chore(deps): update dependency rollup to v3.26.3 (#503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-18 10:55:58 +02:00
renovate[bot] 600ad30756 chore(deps): update typescript-eslint monorepo to v6.1.0 (#505)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-18 10:43:33 +02:00
David Blythe 51f20b438e MySQL examples (#501)
* Update README.md

* Update index.ts
2023-07-16 22:24:20 +02:00
renovate[bot] 4fd6b58070 chore(deps): update dependency eslint-config-standard-with-typescript to v36.1.0 (#500)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-15 11:12:31 +02:00
renovate[bot] c8c6d56d1b chore(deps): update dependency vite to v4.4.4 (#496)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-14 20:27:41 +02:00
renovate[bot] 2ed0fd716c chore(deps): update dependency eslint-config-standard-with-typescript to v36.0.1 (#497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-14 20:08:24 +02:00
renovate[bot] 8286b06198 chore(deps): update dependency eslint to v8.45.0 (#498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-14 20:00:08 +02:00
renovate[bot] 180ec441aa fix(deps): update rust crate iota-crypto to 0.23 (#495)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-13 22:40:05 +02:00
renovate[bot] 07f3a89df0 chore(deps): update dependency @sveltejs/kit to v1.22.3 (#493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-13 09:59:57 +02:00
renovate[bot] c009cb383f chore(deps): update dependency eslint-plugin-n to v16.0.1 (#485)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 21:34:37 +02:00
renovate[bot] 00915af7e7 chore(deps): update dependency @sveltejs/kit to v1.22.2 (#484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 21:29:57 +02:00
renovate[bot] c499238892 chore(deps): update dependency svelte to v4.0.5 (#486)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 19:26:59 +02:00
renovate[bot] ac6f08f193 chore(deps): update dependency svelte-check to v3.4.6 (#487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 19:17:53 +02:00
renovate[bot] 84d8a21e55 chore(deps): update dependency vite to v4.4.3 (#492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 18:48:47 +02:00
renovate[bot] 280f99c5f3 chore(deps): update dependency vite to v4.4.2 (#488)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 18:00:15 +02:00
renovate[bot] 8c10a1b0a7 chore(deps): update dependency @rollup/plugin-node-resolve to v15.1.0 (#489)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 15:22:10 +02:00
renovate[bot] b6ffbe33da chore(deps): update dependency eslint to v8.44.0 (#490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 15:03:06 +02:00
renovate[bot] 2f2da76aa8 chore(deps): update dependency rollup to v3.26.2 (#491)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 15:02:11 +02:00
renovate[bot] 9dba680114 chore(deps): update dependency tslib to v2.6.0 (#483)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 14:44:03 +02:00
renovate[bot] 2365c46534 fix(deps): update tauri monorepo to v1.4.0 (#482)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 14:39:27 +02:00
renovate[bot] 01ede23b34 chore(deps): update typescript-eslint monorepo to v6 (#481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 14:36:11 +02:00
renovate[bot] a2503b795d chore(deps): update dependency typescript to v5.1.6 (#480)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 14:32:38 +02:00
renovate[bot] 65e6870195 chore(deps): update dependency @rollup/plugin-typescript to v11.1.2 (#479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 14:16:38 +02:00
renovate[bot] ec74b2d69a chore(deps): update dependency @rollup/plugin-terser to v0.4.3 (#478)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 14:13:25 +02:00
Fabian-Lars 6845cefc82 chore: Lock npm deps versions (#477)
* chore: Lock npm deps versions

* lock ws example too

* override optionator
2023-07-11 14:09:35 +02:00
renovate[bot] 2a8e168149 fix(deps): update rust crate iota-crypto to 0.22 (#475)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 11:49:09 +02:00
Fabian-Lars efcc3df3fe chore: Update pnpm to v7.33.1 (#472) 2023-07-10 15:39:29 +02:00
Fabian-Lars 9e440d27ae chore: Re-add changefiles from #416 and #422 (#457)
This reverts commit 8916544034.
2023-07-10 12:51:28 +02:00
github-actions[bot] 395ff65547 Publish New Versions (#470)
* publish new versions

* Update Cargo.toml

---------

Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-07-10 12:29:59 +02:00
Fabian-Lars ad3028646c fix(persisted-scope): separately save asset protocol patterns (#459) 2023-07-10 11:22:11 +02:00
renovate[bot] 0d0ed7b907 chore(deps): update dependency prettier to v3 (#467)
* chore(deps): update dependency prettier to v3

* fmt

* semver override

* update example deps

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-07-06 11:47:41 +02:00
renovate[bot] 92233ea64a fix(deps): update rust crate sqlx to 0.7. plugin-sql msrv is now 1.65 (#464)
* fix(deps): update rust crate sqlx to 0.7

* Update sql's msrv in workflow to 1.65

* Update README.md

* Update Cargo.toml

* Update Cargo.toml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-07-05 10:46:51 +02:00
renovate[bot] 36b7296746 chore(deps): update dependency svelte to v4 (#453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-30 10:52:33 +02:00
renovate[bot] d9b2331237 chore(deps): update dependency eslint-config-standard-with-typescript to v36 (#458)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-30 10:50:38 +02:00
github-actions[bot] 8916544034 remove changefiles to publish release (#456)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
2023-06-30 00:26:02 +02:00
github-actions[bot] 3d4697b34a publish new versions (#417)
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-06-30 00:15:29 +02:00
Thibault 9174b808dc [persisted scope] fix: handle recursive directory correctly (#455)
* fix: use correct functions to allow/forbid
Without changing the data structure

* fix: wrong type passed when passing path by ref

* fix: remove '**' before allowing pattern to no trash the scope

* fmt: run fmt

* fix: Remove trailling '*' for non-recursive directories

* fix: remove superfluous asteriks recursively

* info: add changefile

* fix: remove unwated yarn.lock

* fix: simplify directories' fix and apply it to forbid_path too.

* fix: simplify path to str in fix_directory

* don't convert path back to str

* Update persisted-scope-fix-handle-glob-directories.md

---------

Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-06-29 23:23:08 +02:00
NaokiM03 a305ad3ddb chore(fs-watch) Update Usage (#451) 2023-06-22 11:29:08 +02:00
Duke Jones 7b9d7a1d88 docs(websocket): fix readme example (#447) 2023-06-20 08:57:13 +02:00
renovate[bot] c4d2c8c693 fix(deps): update rust crate iota-crypto to 0.21 (#438)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-14 14:52:07 +02:00
amrbashir be2a90b7e2 chore: remove unneeded change file 2023-06-13 15:56:09 +03:00
Amr Bashir 417c85a2dd fix(window-state): manual default implentation (#425)
* fix(window-state): manual default implentation, closes #421

* Update lib.rs
2023-06-13 15:48:10 +03:00
Amr Bashir 617cf38069 fix(window-state): propagate promise (#435)
closes #432
2023-06-13 15:47:55 +03:00
Ludea 6ad221ed36 fix(stronghold): return null if there is no record (#129)
* [stronghold] return null if there is no record

* Return value

* return statement

* prettier

* fix function signature

* fix if condition

* simplify condition

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-06-12 19:26:08 +02:00
Fabian-Lars 0984fc8374 chore: Add branch to install instructions that use git (#433) 2023-06-12 11:20:59 +02:00
Fabian-Lars 523bcdc528 fix(window-state): correctly set decoration state if no saved state exists, fixes #421 (#424) 2023-06-07 15:19:29 +03:00
Alexandre Dang ea63b40224 fix(stronghold): change wrong argument name for remove (#422) 2023-06-07 08:09:43 -03:00
289 changed files with 5981 additions and 8210 deletions
+30
View File
@@ -0,0 +1,30 @@
---
"authenticator": patch
"autostart": patch
"barcode-scanner": patch
"cli": patch
"clipboard-manager": patch
"deep-link": patch
"dialog": patch
"fs": patch
"global-shortcut": patch
"http": patch
"localhost": patch
"log-plugin": 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
---
Update to tauri@alpha.17.
+30
View File
@@ -0,0 +1,30 @@
---
"authenticator": patch
"autostart": patch
"barcode-scanner": patch
"cli": patch
"clipboard-manager": patch
"deep-link": patch
"dialog": patch
"fs": patch
"global-shortcut": patch
"http": patch
"localhost": patch
"log-plugin": 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
---
Update to tauri@alpha.18.
+27
View File
@@ -0,0 +1,27 @@
---
"authenticator-js": patch
"autostart-js": patch
"barcode-scanner-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
"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-apps/api v2.0.0-alpha.11.
+27
View File
@@ -0,0 +1,27 @@
---
"authenticator-js": patch
"autostart-js": patch
"barcode-scanner-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
"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-apps/api v2.0.0-alpha.12.
+1 -1
View File
@@ -24,4 +24,4 @@
"window-state-js": patch
---
Update to @tauri-apps/api v2.0.0-alpha.16.
Update to @tauri-apps/api v2.0.0-alpha.9.
+5
View File
@@ -0,0 +1,5 @@
---
"dialog": "patch"
---
Pin the version of `rfd` to 0.12.0. This is a workaround for [PolyMeilex/rfd#152](https://github.com/PolyMeilex/rfd/pull/152), in which rfd took over responsibility for `gtk_init` by running its own event loop thread.
+6
View File
@@ -0,0 +1,6 @@
---
"dialog": patch
"dialog-js": patch
---
Fix incorrect result for dialog messages.
+7
View File
@@ -0,0 +1,7 @@
---
"log-plugin": patch
"deep-link": patch
"store": patch
---
Update to breaking changes from tauri@alpha.17.
+5
View File
@@ -0,0 +1,5 @@
---
"sql": patch
---
Encode JSON number query params as f64 to fix JSON_EXTRACT queries on SQLite
+5
View File
@@ -0,0 +1,5 @@
---
"fs-js": "patch"
---
Add second argument to `exists` function to specify base directory.
+7
View File
@@ -0,0 +1,7 @@
---
"os": "patch"
"os-js": "patch"
---
Fix `Uncaught TypeError: Cannot read properties of undefined (reading 'os')`
+18
View File
@@ -2,14 +2,23 @@
"tag": "alpha",
"changes": [
".changes/alpha.16.md",
".changes/alpha.17.md",
".changes/alpha.18.md",
".changes/api-alpha.11.md",
".changes/api-alpha.13.md",
".changes/api-alpha.9.md",
".changes/deep-link-initial-release.md",
".changes/dialog-async-message-dialog.md",
".changes/dialog-pin-rfd.md",
".changes/dialog-return-result.md",
".changes/fix-docs-build.md",
".changes/fix-emit-all-usage.md",
".changes/fix-invoke-usage.md",
".changes/fix-number-query-params.md",
".changes/fix-permission-notification.md",
".changes/fix-updater-macos.md",
".changes/fix-window-state-api.md",
".changes/fs-exists-2nd-arg.md",
".changes/fs-wiret-binary-file.md",
".changes/global-shortcut-app-handle.md",
".changes/http-multipart-refactor.md",
@@ -22,23 +31,32 @@
".changes/notification-sound.md",
".changes/os-OsType.md",
".changes/os-plugin-refactor.md",
".changes/os-reading-undefined.md",
".changes/persisted-scope-asset.md",
".changes/persisted-scope-glob.md",
".changes/positioner-tray-flag.md",
".changes/scanner-initial-release.md",
".changes/shell-command-apis.md",
".changes/shell-detached.md",
".changes/sql-decode-floats.md",
".changes/stronghold-arg-name.md",
".changes/stronghold-argon2.md",
".changes/stronghold-constructor.md",
".changes/tauri-alpha-15.md",
".changes/tauri-alpha.11.md",
".changes/tauri-alpha.12.md",
".changes/tray-position.md",
".changes/updater-appimage.md",
".changes/updater-escaped-path.md",
".changes/updater-nsis-admin.md",
".changes/updater-nsis.md",
".changes/updater-plugin-refactor.md",
".changes/updater-string-replace-round2.md",
".changes/updater-string-replace.md",
".changes/upload-bufwriter.md",
".changes/v2-alpha.md",
".changes/websocket-fix-arg-name.md",
".changes/websocket-headers.md",
".changes/window-state-decorated.md",
".changes/window-state-promise.md"
]
+5
View File
@@ -0,0 +1,5 @@
---
"sql": patch
---
Fixed an issue where float-like values were decoded as `null`.
+5
View File
@@ -0,0 +1,5 @@
---
"stronghold": patch
---
Added `Builder::with_argon2`.
+5
View File
@@ -0,0 +1,5 @@
---
"positioner": patch
---
`TrayLeft`, `TrayRight` and `TrayCenter` will now position the window according to the tray position relative to the monitor dimensions to prevent windows being displayed partially off-screen.
+5
View File
@@ -0,0 +1,5 @@
---
"updater": patch
---
Fix updater failing to extract the AppImage resulting in failing to update and also deleting the current version.
+5
View File
@@ -0,0 +1,5 @@
---
updater: patch
---
Use escaped installer path to start the nsis/msi updater to prevent crashes if app name contained spaces.
@@ -0,0 +1,5 @@
---
"updater": "patch"
---
The plugin now correctly replaces `arch`, `current_version` and `target` in query params again.
+5
View File
@@ -0,0 +1,5 @@
---
"upload": patch
---
Use `BufWriter` to reduce IO calls.
+6
View File
@@ -0,0 +1,6 @@
---
"websocket": patch
"websocket-js": patch
---
Add support for custom request headers.
+31
View File
@@ -0,0 +1,31 @@
<svg class="crabnebula-logo" width="100%" height="100%" viewBox="0 0 1204 210" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
xml:space="preserve" xmlns:serif="http://www.serif.com/"
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<style>
.crabnebula-logo path,
.crabnebula-logo rect {
fill: #001e42;
}
@media (prefers-color-scheme: dark) {
.crabnebula-logo path, .crabnebula-logo rect {
fill: #fff;
}
}
html[data-color-mode="dark"] .crabnebula-logo path,
html[data-color-mode="dark"] .crabnebula-logo rect {
fill: #fff;
}
</style>
<path d="M351.903,162.334C344.288,162.334 337.123,160.881 330.41,157.975C323.696,155.069 317.834,151.11 312.824,146.099C307.914,141.089 304.006,135.276 301.101,128.662C298.195,121.948 296.742,114.783 296.742,107.167C296.742,99.55 298.195,92.435 301.101,85.821C304.006,79.107 307.914,73.244 312.824,68.234C317.834,63.223 323.696,59.265 330.41,56.358C337.123,53.452 344.288,51.999 351.903,51.999C357.414,51.999 362.675,52.701 367.685,54.103C372.795,55.507 377.455,57.511 381.663,60.116C385.972,62.622 389.83,65.678 393.237,69.286C396.644,72.793 399.499,76.752 401.804,81.161L380.762,92.586C377.756,87.174 373.848,82.915 369.038,79.808C364.328,76.702 358.617,75.148 351.903,75.148C347.494,75.148 343.386,76 339.578,77.704C335.871,79.407 332.614,81.762 329.809,84.769C327.003,87.675 324.798,91.082 323.195,94.991C321.592,98.799 320.79,102.857 320.79,107.167C320.79,111.476 321.592,115.584 323.195,119.493C324.798,123.301 327.003,126.708 329.809,129.715C332.614,132.621 335.871,134.926 339.578,136.629C343.386,138.333 347.494,139.185 351.903,139.185C358.617,139.185 364.328,137.631 369.038,134.525C373.848,131.418 377.756,127.159 380.762,121.748L401.804,133.172C399.499,137.581 396.644,141.59 393.237,145.198C389.83,148.705 385.972,151.762 381.663,154.367C377.455,156.872 372.795,158.827 367.685,160.23C362.675,161.633 357.414,162.334 351.903,162.334Z" style="fill-rule:nonzero;stroke:black;stroke-width:0.55px;"/>
<path d="M413.821,85.37L436.517,85.37L436.517,96.644C437.72,93.337 439.924,90.481 443.131,88.076C446.437,85.671 450.195,84.468 454.403,84.468C455.506,84.468 456.658,84.518 457.86,84.619C459.063,84.719 460.366,84.969 461.768,85.37L461.768,108.369C460.065,107.768 458.412,107.317 456.808,107.016C455.205,106.716 453.502,106.565 451.698,106.565C446.788,106.565 443.03,108.269 440.425,111.676C437.82,115.083 436.517,119.493 436.517,124.904L436.517,160.53L413.821,160.53L413.821,85.37Z" style="fill-rule:nonzero;stroke:black;stroke-width:0.55px;"/>
<path d="M502.161,162.184C497.251,162.184 492.642,161.132 488.333,159.027C484.125,156.923 480.467,154.117 477.361,150.609C474.255,147.001 471.8,142.843 469.996,138.133C468.193,133.322 467.291,128.261 467.291,122.95C467.291,117.639 468.193,112.628 469.996,107.918C471.8,103.108 474.255,98.949 477.361,95.442C480.467,91.834 484.125,88.978 488.333,86.873C492.642,84.769 497.251,83.717 502.161,83.717C504.666,83.717 506.971,84.017 509.075,84.619C511.28,85.12 513.234,85.821 514.937,86.723C516.741,87.625 518.244,88.627 519.446,89.729C520.749,90.832 521.801,91.884 522.603,92.886L522.603,85.37L545.299,85.37L545.299,160.53L522.603,160.53L522.603,153.014C521.801,154.016 520.749,155.069 519.446,156.171C518.244,157.273 516.741,158.275 514.937,159.177C513.234,160.079 511.28,160.781 509.075,161.282C506.971,161.883 504.666,162.184 502.161,162.184ZM507.272,141.59C512.382,141.59 516.49,139.836 519.597,136.329C522.803,132.821 524.406,128.362 524.406,122.95C524.406,117.539 522.803,113.079 519.597,109.572C516.49,106.064 512.382,104.31 507.272,104.31C502.161,104.31 498.003,106.064 494.796,109.572C491.69,113.079 490.137,117.539 490.137,122.95C490.137,128.362 491.69,132.821 494.796,136.329C498.003,139.836 502.161,141.59 507.272,141.59Z" style="fill-rule:nonzero;stroke:black;stroke-width:0.55px;"/>
<path d="M607.116,162.184C604.611,162.184 602.256,161.883 600.051,161.282C597.947,160.781 595.993,160.079 594.19,159.177C592.486,158.275 590.983,157.273 589.681,156.171C588.378,155.069 587.376,154.016 586.674,153.014L586.674,160.53L563.979,160.53L563.979,47.79L586.674,47.79L586.674,92.886C587.376,91.884 588.378,90.832 589.681,89.729C590.983,88.627 592.486,87.625 594.19,86.723C595.993,85.821 597.947,85.12 600.051,84.619C602.256,84.017 604.611,83.717 607.116,83.717C612.026,83.717 616.585,84.769 620.793,86.873C625.102,88.978 628.81,91.834 631.916,95.442C635.022,98.949 637.477,103.108 639.281,107.918C641.084,112.628 641.986,117.639 641.986,122.95C641.986,128.261 641.084,133.322 639.281,138.133C637.477,142.843 635.022,147.001 631.916,150.609C628.81,154.117 625.102,156.923 620.793,159.027C616.585,161.132 612.026,162.184 607.116,162.184ZM602.005,141.59C607.116,141.59 611.224,139.836 614.33,136.329C617.537,132.821 619.14,128.362 619.14,122.95C619.14,117.539 617.537,113.079 614.33,109.572C611.224,106.064 607.116,104.31 602.005,104.31C596.895,104.31 592.737,106.064 589.53,109.572C586.424,113.079 584.871,117.539 584.871,122.95C584.871,128.362 586.424,132.821 589.53,136.329C592.737,139.836 596.895,141.59 602.005,141.59Z" style="fill-rule:nonzero;stroke:black;stroke-width:0.55px;"/>
<path d="M732.106,160.53L680.101,94.54L680.101,160.53L656.203,160.53L656.203,53.803L676.795,53.803L728.649,119.793L728.649,53.803L752.698,53.803L752.698,160.53L732.106,160.53Z" style="fill-rule:nonzero;stroke:black;stroke-width:0.55px;"/>
<path d="M806.852,162.184C801.341,162.184 796.13,161.282 791.22,159.478C786.411,157.674 782.202,155.069 778.595,151.661C774.988,148.254 772.132,144.145 770.028,139.335C767.923,134.425 766.871,128.963 766.871,122.95C766.871,117.338 767.823,112.177 769.727,107.467C771.731,102.657 774.487,98.498 777.994,94.991C781.601,91.483 785.809,88.727 790.619,86.723C795.429,84.719 800.69,83.717 806.401,83.717C811.311,83.717 816.021,84.518 820.53,86.122C825.139,87.625 829.147,89.93 832.554,93.036C835.961,96.043 838.666,99.851 840.67,104.461C842.775,108.97 843.827,114.282 843.827,120.395C843.827,121.397 843.777,122.549 843.677,123.852C843.677,125.055 843.576,126.558 843.376,128.362L788.816,128.362C789.517,132.871 791.671,136.228 795.279,138.433C798.886,140.538 802.844,141.59 807.153,141.59C811.562,141.59 815.319,140.738 818.425,139.034C821.632,137.231 823.937,135.226 825.339,133.022L842.173,145.649C838.666,150.659 833.857,154.668 827.744,157.674C821.732,160.681 814.768,162.184 806.852,162.184ZM821.281,113.48C820.279,109.471 818.275,106.615 815.269,104.912C812.263,103.108 809.107,102.206 805.8,102.206C804.096,102.206 802.393,102.406 800.69,102.807C798.986,103.208 797.383,103.859 795.88,104.761C794.377,105.663 793.024,106.816 791.822,108.219C790.719,109.622 789.918,111.376 789.417,113.48L821.281,113.48Z" style="fill-rule:nonzero;stroke:black;stroke-width:0.55px;"/>
<path d="M901.265,162.184C898.76,162.184 896.405,161.883 894.201,161.282C892.097,160.781 890.143,160.079 888.339,159.177C886.636,158.275 885.133,157.273 883.83,156.171C882.527,155.069 881.525,154.016 880.824,153.014L880.824,160.53L858.128,160.53L858.128,47.79L880.824,47.79L880.824,92.886C881.525,91.884 882.527,90.832 883.83,89.729C885.133,88.627 886.636,87.625 888.339,86.723C890.143,85.821 892.097,85.12 894.201,84.619C896.405,84.017 898.76,83.717 901.265,83.717C906.175,83.717 910.734,84.769 914.943,86.873C919.252,88.978 922.959,91.834 926.065,95.442C929.172,98.949 931.627,103.108 933.43,107.918C935.234,112.628 936.136,117.639 936.136,122.95C936.136,128.261 935.234,133.322 933.43,138.133C931.627,142.843 929.172,147.001 926.065,150.609C922.959,154.117 919.252,156.923 914.943,159.027C910.734,161.132 906.175,162.184 901.265,162.184ZM896.155,141.59C901.265,141.59 905.374,139.836 908.48,136.329C911.686,132.821 913.29,128.362 913.29,122.95C913.29,117.539 911.686,113.079 908.48,109.572C905.374,106.064 901.265,104.31 896.155,104.31C891.045,104.31 886.886,106.064 883.68,109.572C880.573,113.079 879.02,117.539 879.02,122.95C879.02,128.362 880.573,132.821 883.68,136.329C886.886,139.836 891.045,141.59 896.155,141.59Z" style="fill-rule:nonzero;stroke:black;stroke-width:0.55px;"/>
<path d="M977.812,162.184C968.493,162.184 961.429,159.077 956.619,152.864C951.81,146.651 949.405,138.433 949.405,128.211L949.405,85.37L972.101,85.37L972.101,124.303C972.101,129.815 972.952,134.074 974.656,137.08C976.459,140.087 979.466,141.59 983.674,141.59C987.983,141.59 991.39,140.037 993.895,136.93C996.5,133.823 997.803,128.813 997.803,121.898L997.803,85.37L1020.5,85.37L1020.5,160.53L997.803,160.53L997.803,152.864C995.999,155.469 993.444,157.674 990.137,159.478C986.83,161.282 982.722,162.184 977.812,162.184Z" style="fill-rule:nonzero;stroke:black;stroke-width:0.55px;"/>
<rect x="1039.11" y="47.79" width="22.701" height="112.74" style="fill-rule:nonzero;stroke:black;stroke-width:0.55px;"/>
<path d="M1110.86,162.184C1105.95,162.184 1101.34,161.132 1097.03,159.027C1092.83,156.923 1089.17,154.117 1086.06,150.609C1082.96,147.001 1080.5,142.843 1078.7,138.133C1076.89,133.322 1075.99,128.261 1075.99,122.95C1075.99,117.639 1076.89,112.628 1078.7,107.918C1080.5,103.108 1082.96,98.949 1086.06,95.442C1089.17,91.834 1092.83,88.978 1097.03,86.873C1101.34,84.769 1105.95,83.717 1110.86,83.717C1113.37,83.717 1115.67,84.017 1117.78,84.619C1119.98,85.12 1121.94,85.821 1123.64,86.723C1125.44,87.625 1126.95,88.627 1128.15,89.729C1129.45,90.832 1130.5,91.884 1131.3,92.886L1131.3,85.37L1154,85.37L1154,160.53L1131.3,160.53L1131.3,153.014C1130.5,154.016 1129.45,155.069 1128.15,156.171C1126.95,157.273 1125.44,158.275 1123.64,159.177C1121.94,160.079 1119.98,160.781 1117.78,161.282C1115.67,161.883 1113.37,162.184 1110.86,162.184ZM1115.97,141.59C1121.08,141.59 1125.19,139.836 1128.3,136.329C1131.5,132.821 1133.11,128.362 1133.11,122.95C1133.11,117.539 1131.5,113.079 1128.3,109.572C1125.19,106.064 1121.08,104.31 1115.97,104.31C1110.86,104.31 1106.7,106.064 1103.5,109.572C1100.39,113.079 1098.84,117.539 1098.84,122.95C1098.84,128.362 1100.39,132.821 1103.5,136.329C1106.7,139.836 1110.86,141.59 1115.97,141.59Z" style="fill-rule:nonzero;stroke:black;stroke-width:0.55px;"/>
<path d="M146.48,54.585C119.724,89.866 119.878,134.941 146.826,155.264C153.908,160.605 162.136,163.705 170.903,164.732C146.032,184.934 117.382,191.203 98.037,178.045C71.507,160 72.524,112.249 100.309,71.391C123.51,37.273 158.039,18.749 184.247,24.072C170.404,30.195 157.116,40.561 146.48,54.585ZM181.638,99.643C169.141,111.453 154.859,119.304 142.801,121.916C149.921,147.367 177.29,149.323 177.29,149.323C177.29,149.323 193.578,145.578 205.877,117.941C216.005,95.183 215.122,71.668 204.914,59.7C204.065,71.267 195.731,86.324 181.638,99.643Z" style="stroke:black;stroke-width:0.55px;"/>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+9 -1
View File
@@ -192,9 +192,17 @@ jobs:
run: cargo install cross --git https://github.com/cross-rs/cross
- name: test ${{ matrix.package }}
if: matrix.package != 'tauri-plugin-sql'
if: matrix.package != 'tauri-plugin-sql' && matrix.package != 'tauri-plugin-http'
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --all-features
- name: test ${{ matrix.package }}
if: matrix.package == 'tauri-plugin-http'
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets
- name: test ${{ matrix.package }} sqlite
if: matrix.package == 'tauri-plugin-sql'
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --features sqlite
- name: test ${{ matrix.package }} mysql
if: matrix.package == 'tauri-plugin-sql'
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --features mysql
Generated
+1157 -1014
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -5,8 +5,8 @@ resolver = "2"
[workspace.dependencies]
serde = { version = "1", features = ["derive"] }
log = "0.4"
tauri = "2.0.0-alpha.16"
tauri-build = "2.0.0-alpha.10"
tauri = "2.0.0-alpha.18"
tauri-build = "2.0.0-alpha.12"
serde_json = "1"
thiserror = "1"
+16
View File
@@ -17,3 +17,19 @@
| [window-state](plugins/window-state) | Persist window sizes and positions. | ✅ | ✅ | ✅ | ? | ? |
_This repo and all plugins require a Rust version of at least **1.70**_
## Partners
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://crabnebula.dev" target="_blank">
<img src=".github/sponsors/crabnebula.svg" alt="CrabNebula" width="283">
</a>
</td>
</tr>
</tbody>
</table>
For the complete list of sponsors please visit our [website](https://tauri.app#sponsors) and [Open Collective](https://opencollective.com/tauri).
+36
View File
@@ -1,5 +1,41 @@
# Changelog
## \[2.0.0-alpha.6]
### Dependencies
- Upgraded to `barcode-scanner-js@2.0.0-alpha.3`
- Upgraded to `cli-js@2.0.0-alpha.4`
- Upgraded to `clipboard-manager-js@2.0.0-alpha.4`
- Upgraded to `dialog-js@2.0.0-alpha.4`
- Upgraded to `fs-js@2.0.0-alpha.4`
- Upgraded to `global-shortcut-js@2.0.0-alpha.4`
- Upgraded to `http-js@2.0.0-alpha.4`
- Upgraded to `log-js@2.0.0-alpha.4`
- Upgraded to `notification-js@2.0.0-alpha.4`
- Upgraded to `os-js@2.0.0-alpha.5`
- Upgraded to `process-js@2.0.0-alpha.4`
- Upgraded to `shell-js@2.0.0-alpha.4`
- Upgraded to `updater-js@2.0.0-alpha.4`
## \[2.0.0-alpha.5]
### Dependencies
- Upgraded to `barcode-scanner-js@2.0.0-alpha.2`
- Upgraded to `cli-js@2.0.0-alpha.3`
- Upgraded to `clipboard-manager-js@2.0.0-alpha.3`
- Upgraded to `dialog-js@2.0.0-alpha.3`
- Upgraded to `fs-js@2.0.0-alpha.3`
- Upgraded to `global-shortcut-js@2.0.0-alpha.3`
- Upgraded to `http-js@2.0.0-alpha.3`
- Upgraded to `log-js@2.0.0-alpha.3`
- Upgraded to `notification-js@2.0.0-alpha.3`
- Upgraded to `os-js@2.0.0-alpha.4`
- Upgraded to `process-js@2.0.0-alpha.3`
- Upgraded to `shell-js@2.0.0-alpha.3`
- Upgraded to `updater-js@2.0.0-alpha.3`
## \[2.0.0-alpha.4]
### Dependencies
+22 -22
View File
@@ -1,7 +1,7 @@
{
"name": "svelte-app",
"private": true,
"version": "2.0.0-alpha.4",
"version": "2.0.0-alpha.6",
"type": "module",
"scripts": {
"dev": "vite --clearScreen false",
@@ -9,30 +9,30 @@
"serve": "vite preview"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.9",
"@tauri-apps/plugin-barcode-scanner": "2.0.0-alpha.1",
"@tauri-apps/plugin-cli": "2.0.0-alpha.2",
"@tauri-apps/plugin-clipboard-manager": "2.0.0-alpha.2",
"@tauri-apps/plugin-dialog": "2.0.0-alpha.2",
"@tauri-apps/plugin-fs": "2.0.0-alpha.2",
"@tauri-apps/plugin-global-shortcut": "2.0.0-alpha.2",
"@tauri-apps/plugin-http": "2.0.0-alpha.2",
"@tauri-apps/plugin-notification": "2.0.0-alpha.2",
"@tauri-apps/plugin-os": "2.0.0-alpha.3",
"@tauri-apps/plugin-process": "2.0.0-alpha.2",
"@tauri-apps/plugin-shell": "2.0.0-alpha.2",
"@tauri-apps/plugin-updater": "2.0.0-alpha.2",
"@tauri-apps/api": "2.0.0-alpha.12",
"@tauri-apps/plugin-barcode-scanner": "2.0.0-alpha.3",
"@tauri-apps/plugin-cli": "2.0.0-alpha.4",
"@tauri-apps/plugin-clipboard-manager": "2.0.0-alpha.4",
"@tauri-apps/plugin-dialog": "2.0.0-alpha.4",
"@tauri-apps/plugin-fs": "2.0.0-alpha.4",
"@tauri-apps/plugin-global-shortcut": "2.0.0-alpha.4",
"@tauri-apps/plugin-http": "2.0.0-alpha.4",
"@tauri-apps/plugin-notification": "2.0.0-alpha.4",
"@tauri-apps/plugin-os": "2.0.0-alpha.5",
"@tauri-apps/plugin-process": "2.0.0-alpha.4",
"@tauri-apps/plugin-shell": "2.0.0-alpha.4",
"@tauri-apps/plugin-updater": "2.0.0-alpha.4",
"@zerodevx/svelte-json-view": "1.0.7"
},
"devDependencies": {
"@iconify-json/codicon": "^1.1.31",
"@iconify-json/ph": "^1.1.6",
"@sveltejs/vite-plugin-svelte": "^2.4.6",
"@tauri-apps/cli": "2.0.0-alpha.16",
"@unocss/extractor-svelte": "^0.56.5",
"@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-alpha.18",
"@unocss/extractor-svelte": "^0.58.0",
"internal-ip": "^8.0.0",
"svelte": "^4.2.2",
"unocss": "^0.56.5",
"vite": "^4.5.0"
"svelte": "^4.2.8",
"unocss": "^0.58.0",
"vite": "^5.0.6"
}
}
+36
View File
@@ -1,5 +1,41 @@
# Changelog
## \[2.0.0-alpha.8]
### Dependencies
- Upgraded to `barcode-scanner@2.0.0-alpha.3`
- Upgraded to `cli@2.0.0-alpha.5`
- Upgraded to `clipboard-manager@2.0.0-alpha.5`
- Upgraded to `dialog@2.0.0-alpha.5`
- Upgraded to `fs@2.0.0-alpha.5`
- Upgraded to `global-shortcut@2.0.0-alpha.5`
- Upgraded to `http@2.0.0-alpha.6`
- Upgraded to `log-plugin@2.0.0-alpha.5`
- Upgraded to `notification@2.0.0-alpha.6`
- Upgraded to `os@2.0.0-alpha.5`
- Upgraded to `process@2.0.0-alpha.5`
- Upgraded to `shell@2.0.0-alpha.5`
- Upgraded to `updater@2.0.0-alpha.5`
## \[2.0.0-alpha.7]
### Dependencies
- Upgraded to `barcode-scanner@2.0.0-alpha.2`
- Upgraded to `cli@2.0.0-alpha.4`
- Upgraded to `clipboard-manager@2.0.0-alpha.4`
- Upgraded to `dialog@2.0.0-alpha.4`
- Upgraded to `fs@2.0.0-alpha.4`
- Upgraded to `global-shortcut@2.0.0-alpha.4`
- Upgraded to `http@2.0.0-alpha.5`
- Upgraded to `log-plugin@2.0.0-alpha.4`
- Upgraded to `notification@2.0.0-alpha.5`
- Upgraded to `os@2.0.0-alpha.4`
- Upgraded to `process@2.0.0-alpha.4`
- Upgraded to `shell@2.0.0-alpha.4`
- Upgraded to `updater@2.0.0-alpha.4`
## \[2.0.0-alpha.6]
### Dependencies
+15 -14
View File
@@ -1,13 +1,14 @@
[package]
name = "api"
publish = false
version = "2.0.0-alpha.6"
version = "2.0.0-alpha.8"
description = "An example Tauri Application showcasing the api"
edition = "2021"
rust-version = { workspace = true }
license = "Apache-2.0 OR MIT"
[lib]
name = "api_lib"
crate-type = [ "staticlib", "cdylib", "rlib" ]
[build-dependencies]
@@ -18,15 +19,15 @@ serde_json = { workspace = true }
serde = { workspace = true }
tiny_http = "0.11"
log = { workspace = true }
tauri-plugin-log = { path = "../../../plugins/log", version = "2.0.0-alpha.3" }
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-alpha.3" }
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.0.0-alpha.3" }
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-alpha.3" }
tauri-plugin-http = { path = "../../../plugins/http", features = [ "multipart" ], version = "2.0.0-alpha.4" }
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-alpha.4", features = [ "windows7-compat" ] }
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.0-alpha.3" }
tauri-plugin-process = { path = "../../../plugins/process", version = "2.0.0-alpha.3" }
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-alpha.3" }
tauri-plugin-log = { path = "../../../plugins/log", version = "2.0.0-alpha.5" }
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-alpha.5" }
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.0.0-alpha.5" }
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-alpha.5" }
tauri-plugin-http = { path = "../../../plugins/http", features = [ "multipart" ], version = "2.0.0-alpha.6" }
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-alpha.6", features = [ "windows7-compat" ] }
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.0-alpha.5" }
tauri-plugin-process = { path = "../../../plugins/process", version = "2.0.0-alpha.5" }
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-alpha.5" }
[dependencies.tauri]
workspace = true
@@ -40,12 +41,12 @@ tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-alpha.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-alpha.3" }
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.0.0-alpha.3" }
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-alpha.3" }
tauri-plugin-cli = { path = "../../../plugins/cli", version = "2.0.0-alpha.5" }
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.0.0-alpha.5" }
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-alpha.5" }
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-alpha.1" }
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-alpha.3" }
[target."cfg(target_os = \"windows\")".dependencies]
window-shadows = "0.2"
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
@@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSCameraUsageDescription</key>
<string>Request camera access for barcode scanner</string>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
+1 -6
View File
@@ -2,17 +2,12 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
#![cfg_attr(
all(not(debug_assertions), target_os = "windows"),
windows_subsystem = "windows"
)]
mod cmd;
#[cfg(desktop)]
mod tray;
use serde::Serialize;
use tauri::{window::WindowBuilder, App, AppHandle, RunEvent, WindowUrl};
use tauri::{window::WindowBuilder, App, AppHandle, Manager, RunEvent, WindowUrl};
#[derive(Clone, Serialize)]
struct Reply {
+1 -2
View File
@@ -6,6 +6,5 @@
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
fn main() {
#[cfg(desktop)]
api::run();
api_lib::run();
}
+2 -2
View File
@@ -72,7 +72,7 @@
component: Http,
icon: "i-ph-globe-hemisphere-west",
},
!isMobile && {
{
label: "Notifications",
component: Notifications,
icon: "i-codicon-bell-dot",
@@ -92,7 +92,7 @@
component: Updater,
icon: "i-codicon-cloud-download",
},
!isMobile && {
{
label: "Clipboard",
component: Clipboard,
icon: "i-codicon-clippy",
+1 -1
View File
@@ -29,6 +29,6 @@
}
</script>
<button class="btn" id="notification" on:click={_sendNotification}>
<button class="btn" id="notification" on:click={sendNotification}>
Send test notification
</button>
+17 -10
View File
@@ -13,19 +13,19 @@
"@rollup/plugin-node-resolve": "15.2.3",
"@rollup/plugin-terser": "0.4.4",
"@rollup/plugin-typescript": "11.1.5",
"@typescript-eslint/eslint-plugin": "6.8.0",
"@typescript-eslint/parser": "6.8.0",
"@typescript-eslint/eslint-plugin": "6.13.2",
"@typescript-eslint/parser": "6.13.2",
"covector": "^0.10.2",
"eslint": "8.51.0",
"eslint-config-prettier": "9.0.0",
"eslint-config-standard-with-typescript": "39.1.1",
"eslint-plugin-import": "2.28.1",
"eslint-plugin-n": "16.2.0",
"eslint": "8.55.0",
"eslint-config-prettier": "9.1.0",
"eslint-config-standard-with-typescript": "40.0.0",
"eslint-plugin-import": "2.29.0",
"eslint-plugin-n": "16.3.1",
"eslint-plugin-promise": "6.1.1",
"eslint-plugin-security": "1.7.1",
"prettier": "3.0.3",
"rollup": "4.1.4",
"typescript": "5.2.2"
"prettier": "3.1.0",
"rollup": "4.6.1",
"typescript": "5.3.2"
},
"resolutions": {
"semver": ">=7.5.2",
@@ -33,5 +33,12 @@
},
"engines": {
"pnpm": ">=7.33.1"
},
"pnpm": {
"auditConfig": {
"ignoreCves": [
"CVE-2023-46115"
]
}
}
}
+9 -1
View File
@@ -1,8 +1,16 @@
# Changelog
## \[2.0.0-alpha.4]
- [`387c2f9`](https://github.com/tauri-apps/plugins-workspace/commit/387c2f9e0ce4c75c07ffa3fd76391a25b58f5daf)([#802](https://github.com/tauri-apps/plugins-workspace/pull/802)) Update to @tauri-apps/api v2.0.0-alpha.12.
## \[2.0.0-alpha.3]
- [`e438e0a`](https://github.com/tauri-apps/plugins-workspace/commit/e438e0a62d4b430a5159f05f13ecd397dd891a0d)([#676](https://github.com/tauri-apps/plugins-workspace/pull/676)) Update to @tauri-apps/api v2.0.0-alpha.11.
## \[2.0.0-alpha.2]
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.16.
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.9.
## \[2.0.0-alpha.2]
+3 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-authenticator"
version = "2.0.0-alpha.3"
version = "2.0.0-alpha.5"
description = "Use hardware security-keys in your Tauri App."
authors = { workspace = true }
license = { workspace = true }
@@ -8,7 +8,8 @@ edition = { workspace = true }
rust-version = { workspace = true }
[package.metadata.docs.rs]
features = [ "tauri/dox" ]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
[dependencies]
serde = { workspace = true }
+22 -6
View File
@@ -10,11 +10,11 @@ _This plugin requires a Rust version of at least **1.70**_
There are three general methods of installation that we can recommend.
1. Use crates.io and npm (easiest, and requires you to trust that our publishing pipeline worked)
1. Use crates.io and npm (easiest and requires you to trust that our publishing pipeline worked)
2. Pull sources directly from Github using git tags / revision hashes (most secure)
3. Git submodule install this repo in your tauri project and then use file protocol to ingest the source (most secure, but inconvenient to use)
3. Git submodule install this repo in your tauri project and then use the file protocol to ingest the source (most secure, but inconvenient to use)
Install the Core plugin by adding the following to your `Cargo.toml` file:
Install the authenticator plugin by adding the following lines to your `Cargo.toml` file:
`src-tauri/Cargo.toml`
@@ -50,7 +50,7 @@ yarn add https://github.com/tauri-apps/tauri-plugin-authenticator#v2
## Usage
First you need to register the core plugin with Tauri:
First, you need to register the authenticator plugin with Tauri:
`src-tauri/src/main.rs`
@@ -67,7 +67,7 @@ fn main() {
}
```
Afterwards all the plugin's APIs are available through the JavaScript guest bindings:
Afterwards, all the plugin's APIs are available through the JavaScript guest bindings:
```javascript
import { Authenticator } from "@tauri-apps/plugin-authenticator";
@@ -88,7 +88,7 @@ const domain = "https://tauri.app";
const json = await auth.register(challenge, domain);
const registerResult = JSON.parse(json);
// verify te registration was successfull
// verify the registration was successful
const r2 = await auth.verifyRegistration(
challenge,
app,
@@ -120,6 +120,22 @@ if (counter && counter > 0) {
PRs accepted. Please make sure to read the Contributing Guide before making a pull request.
## Partners
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://crabnebula.dev" target="_blank">
<img src="https://github.com/tauri-apps/plugins-workspace/raw/v2/.github/sponsors/crabnebula.svg" alt="CrabNebula" width="283">
</a>
</td>
</tr>
</tbody>
</table>
For the complete list of sponsors please visit our [website](https://tauri.app#sponsors) and [Open Collective](https://opencollective.com/tauri).
## License
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
+7 -11
View File
@@ -1,33 +1,29 @@
{
"name": "@tauri-apps/plugin-authenticator",
"version": "2.0.0-alpha.2",
"version": "2.0.0-alpha.4",
"description": "Use hardware security-keys in your Tauri App.",
"license": "MIT or APACHE-2.0",
"authors": [
"Tauri Programme within The Commons Conservancy"
],
"type": "module",
"browser": "dist-js/index.min.js",
"module": "dist-js/index.mjs",
"types": "dist-js/index.d.ts",
"types": "./dist-js/index.d.ts",
"main": "./dist-js/index.cjs",
"module": "./dist-js/index.js",
"exports": {
"import": "./dist-js/index.mjs",
"types": "./dist-js/index.d.ts",
"browser": "./dist-js/index.min.js"
"import": "./dist-js/index.js",
"require": "./dist-js/index.cjs"
},
"scripts": {
"build": "rollup -c"
},
"files": [
"dist-js",
"!dist-js/**/*.map",
"README.md",
"LICENSE"
],
"devDependencies": {
"tslib": "2.6.0"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.9"
"@tauri-apps/api": "2.0.0-alpha.12"
}
}
+7
View File
@@ -0,0 +1,7 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import { createConfig } from "../../shared/rollup.config.js";
export default createConfig();
-11
View File
@@ -1,11 +0,0 @@
import { readFileSync } from "fs";
import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_AUTHENTICATOR__=function(e){"use strict";var t=Object.defineProperty,n=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},i=(e,t,i)=>(n(e,t,"read from private field"),i?i.call(e):t.get(e));function a(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}((e,n)=>{for(var i in n)t(e,i,{get:n[i],enumerable:!0})})({},{Channel:()=>s,PluginListener:()=>c,addPluginListener:()=>l,convertFileSrc:()=>u,invoke:()=>o,transformCallback:()=>a});var r,s=class{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,((e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)})(this,r,(()=>{})),this.id=a((e=>{i(this,r).call(this,e)}))}set onmessage(e){var t,i,a,s;a=e,n(t=this,i=r,"write to private field"),s?s.call(t,a):i.set(t,a)}get onmessage(){return i(this,r)}toJSON(){return`__CHANNEL__:${this.id}`}};r=new WeakMap;var c=class{constructor(e,t,n){this.plugin=e,this.event=t,this.channelId=n}async unregister(){return o(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}};async function l(e,t,n){let i=new s;return i.onmessage=n,o(`plugin:${e}|register_listener`,{event:t,handler:i}).then((()=>new c(e,t,i.id)))}async function o(e,t={},n){return window.__TAURI_INTERNALS__.invoke(e,t,n)}function u(e,t="asset"){return window.__TAURI_INTERNALS__.convertFileSrc(e,t)}return e.Authenticator=class{async init(){return await o("plugin:authenticator|init_auth")}async register(e,t){return await o("plugin:authenticator|register",{timeout:1e4,challenge:e,application:t})}async verifyRegistration(e,t,n,i){return await o("plugin:authenticator|verify_registration",{challenge:e,application:t,registerData:n,clientData:i})}async sign(e,t,n){return await o("plugin:authenticator|sign",{timeout:1e4,challenge:e,application:t,keyHandle:n})}async verifySignature(e,t,n,i,a,r){return await o("plugin:authenticator|verify_signature",{challenge:e,application:t,signData:n,clientData:i,keyHandle:a,pubkey:r})}},e}({});Object.defineProperty(window.__TAURI__,"authenticator",{value:__TAURI_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(){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__})}
+9 -1
View File
@@ -1,8 +1,16 @@
# Changelog
## \[2.0.0-alpha.4]
- [`387c2f9`](https://github.com/tauri-apps/plugins-workspace/commit/387c2f9e0ce4c75c07ffa3fd76391a25b58f5daf)([#802](https://github.com/tauri-apps/plugins-workspace/pull/802)) Update to @tauri-apps/api v2.0.0-alpha.12.
## \[2.0.0-alpha.3]
- [`e438e0a`](https://github.com/tauri-apps/plugins-workspace/commit/e438e0a62d4b430a5159f05f13ecd397dd891a0d)([#676](https://github.com/tauri-apps/plugins-workspace/pull/676)) Update to @tauri-apps/api v2.0.0-alpha.11.
## \[2.0.0-alpha.2]
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.16.
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.9.
## \[2.0.0-alpha.2]
+4 -3
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-autostart"
version = "2.0.0-alpha.3"
version = "2.0.0-alpha.5"
description = "Automatically launch your application at startup."
authors = { workspace = true }
license = { workspace = true }
@@ -8,7 +8,8 @@ edition = { workspace = true }
rust-version = { workspace = true }
[package.metadata.docs.rs]
features = [ "tauri/dox" ]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
[dependencies]
serde = { workspace = true }
@@ -16,4 +17,4 @@ serde_json = { workspace = true }
tauri = { workspace = true }
log = { workspace = true }
thiserror = { workspace = true }
auto-launch = "0.4"
auto-launch = "0.5"
+16
View File
@@ -75,6 +75,22 @@ disable();
PRs accepted. Please make sure to read the Contributing Guide before making a pull request.
## Partners
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://crabnebula.dev" target="_blank">
<img src="https://github.com/tauri-apps/plugins-workspace/raw/v2/.github/sponsors/crabnebula.svg" alt="CrabNebula" width="283">
</a>
</td>
</tr>
</tbody>
</table>
For the complete list of sponsors please visit our [website](https://tauri.app#sponsors) and [Open Collective](https://opencollective.com/tauri).
## License
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
+7 -11
View File
@@ -1,32 +1,28 @@
{
"name": "@tauri-apps/plugin-autostart",
"version": "2.0.0-alpha.2",
"version": "2.0.0-alpha.4",
"license": "MIT or APACHE-2.0",
"authors": [
"Tauri Programme within The Commons Conservancy"
],
"type": "module",
"browser": "dist-js/index.min.js",
"module": "dist-js/index.mjs",
"types": "dist-js/index.d.ts",
"types": "./dist-js/index.d.ts",
"main": "./dist-js/index.cjs",
"module": "./dist-js/index.js",
"exports": {
"import": "./dist-js/index.mjs",
"types": "./dist-js/index.d.ts",
"browser": "./dist-js/index.min.js"
"import": "./dist-js/index.js",
"require": "./dist-js/index.cjs"
},
"scripts": {
"build": "rollup -c"
},
"files": [
"dist-js",
"!dist-js/**/*.map",
"README.md",
"LICENSE"
],
"devDependencies": {
"tslib": "2.6.0"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.9"
"@tauri-apps/api": "2.0.0-alpha.12"
}
}
+7
View File
@@ -0,0 +1,7 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import { createConfig } from "../../shared/rollup.config.js";
export default createConfig();
-11
View File
@@ -1,11 +0,0 @@
import { readFileSync } from "fs";
import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_AUTOSTART__=function(e){"use strict";var n=Object.defineProperty,t=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},r=(e,n,r)=>(t(e,n,"read from private field"),r?r.call(e):n.get(e));function a(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}((e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})})({},{Channel:()=>s,PluginListener:()=>o,addPluginListener:()=>_,convertFileSrc:()=>c,invoke:()=>l,transformCallback:()=>a});var i,s=class{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,((e,n,t)=>{if(n.has(e))throw TypeError("Cannot add the same private member more than once");n instanceof WeakSet?n.add(e):n.set(e,t)})(this,i,(()=>{})),this.id=a((e=>{r(this,i).call(this,e)}))}set onmessage(e){var n,r,a,s;a=e,t(n=this,r=i,"write to private field"),s?s.call(n,a):r.set(n,a)}get onmessage(){return r(this,i)}toJSON(){return`__CHANNEL__:${this.id}`}};i=new WeakMap;var o=class{constructor(e,n,t){this.plugin=e,this.event=n,this.channelId=t}async unregister(){return l(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}};async function _(e,n,t){let r=new s;return r.onmessage=t,l(`plugin:${e}|register_listener`,{event:n,handler:r}).then((()=>new o(e,n,r.id)))}async function l(e,n={},t){return window.__TAURI_INTERNALS__.invoke(e,n,t)}function c(e,n="asset"){return window.__TAURI_INTERNALS__.convertFileSrc(e,n)}return e.disable=async function(){await l("plugin:autostart|disable")},e.enable=async function(){await l("plugin:autostart|enable")},e.isEnabled=async function(){return await l("plugin:autostart|is_enabled")},e}({});Object.defineProperty(window.__TAURI__,"autostart",{value:__TAURI_AUTOSTART__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_AUTOSTART__=function(n){"use strict";async function t(n,t={},a){return window.__TAURI_INTERNALS__.invoke(n,t,a)}return"function"==typeof SuppressedError&&SuppressedError,n.disable=async function(){await t("plugin:autostart|disable")},n.enable=async function(){await t("plugin:autostart|enable")},n.isEnabled=async function(){return await t("plugin:autostart|is_enabled")},n}({});Object.defineProperty(window.__TAURI__,"autostart",{value:__TAURI_PLUGIN_AUTOSTART__})}
+9 -1
View File
@@ -1,8 +1,16 @@
# Changelog
## \[2.0.0-alpha.3]
- [`387c2f9`](https://github.com/tauri-apps/plugins-workspace/commit/387c2f9e0ce4c75c07ffa3fd76391a25b58f5daf)([#802](https://github.com/tauri-apps/plugins-workspace/pull/802)) Update to @tauri-apps/api v2.0.0-alpha.12.
## \[2.0.0-alpha.2]
- [`e438e0a`](https://github.com/tauri-apps/plugins-workspace/commit/e438e0a62d4b430a5159f05f13ecd397dd891a0d)([#676](https://github.com/tauri-apps/plugins-workspace/pull/676)) Update to @tauri-apps/api v2.0.0-alpha.11.
## \[2.0.0-alpha.1]
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.16.
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.9.
## \[2.0.0-alpha.0]
+3 -5
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-barcode-scanner"
version = "2.0.0-alpha.1"
version = "2.0.0-alpha.3"
description = "Scan QR codes, EAN-13 and other kinds of barcodes on Android and iOS"
edition = { workspace = true }
authors = { workspace = true }
@@ -9,7 +9,8 @@ rust-version = { workspace = true }
links = "tauri-plugin-barcode-scanner"
[package.metadata.docs.rs]
features = [ "dox" ]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
targets = [ "x86_64-linux-android" ]
[build-dependencies]
@@ -21,6 +22,3 @@ serde_json = { workspace = true }
tauri = { workspace = true }
log = { workspace = true }
thiserror = { workspace = true }
[features]
dox = [ "tauri/dox" ]
+17 -1
View File
@@ -1,4 +1,4 @@
![Barcode Scanner](banner.png)
![Barcode Scanner](https://github.com/tauri-apps/plugins-workspace/raw/v2/plugins/scanner/banner.png)
Allows your mobile application to use the camera to scan QR codes, EAN-13 and other kinds of barcodes.
@@ -91,6 +91,22 @@ PRs accepted. Please make sure to read the Contributing Guide before making a pu
</tbody>
</table>
## Partners
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://crabnebula.dev" target="_blank">
<img src="https://github.com/tauri-apps/plugins-workspace/raw/v2/.github/sponsors/crabnebula.svg" alt="CrabNebula" width="283">
</a>
</td>
</tr>
</tbody>
</table>
For the complete list of sponsors please visit our [website](https://tauri.app#sponsors) and [Open Collective](https://opencollective.com/tauri).
## License
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
+66
View File
@@ -0,0 +1,66 @@
# Security Policy
**Do not report security vulnerabilities through public GitHub issues.**
**Please use the [Private Vulnerability Disclosure](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability) feature of GitHub.**
Include as much of the following information:
- Type of issue (e.g. improper input parsing, privilege escalation, etc.)
- The location of the affected source code (tag/branch/commit or direct URL)
- Any special configuration required to reproduce the issue
- The distribution affected or used to help us with reproduction of the issue
- Step-by-step instructions to reproduce the issue
- Ideally a reproduction repository
- Impact of the issue, including how an attacker might exploit the issue
We prefer to receive reports in English.
## Contact
Please disclose a vulnerability or security relevant issue here: [https://github.com/tauri-apps/plugins-workspace/security/advisories/new](https://github.com/tauri-apps/plugins-workspace/security/advisories/new).
Alternatively, you can also contact us by email via [security@tauri.app](mailto:security@tauri.app).
## Threat Model
As there are only the `scan` and `cancel` commands exposed to the frontend,
there is no additional risk or exposure of additional information.
Only barcodes are passed and no raw camera access is used, which means no images are available to the frontend.
The application is only usable on iOS and Android and therefore the specific mobile operating system security boundaries need to be considered.
### Security Assumptions
- The QR code parsing into a link/text is trusted and correctly handled by the mobile operating system
- The link itself is untrusted and additional validation/sanitization needs to be handled by the app developer
- The camera is not passing images to the app
- The camera permission is granted at first use by the user and can be revoked at any time
- The Android manifest also states that the camera permission is required
### Threats
#### Silent Interaction
##### When is it possible?
The following threat is either caused by a malicious developer, which has further implications and should be considered as a full compromise of an application or system, or by
compromise of the application frontend. In the second case there are several impact minimization methods (e.g. the CSP) and if all of these fail the possible risk could occur.
Therefore it is unlikely to occur in most cases but should be considered when using this plugin.
##### What is possible?
The camera has two modes. The first one is where the user can see the background camera image and no further interaction is possible.
The second mode allows the developer to assist the user and add a transparent overlay to the image, providing hints or additional information (like a link preview).
The overlay could be made non-transparent by the application frontend and as long as the app is open (and in some cases) it could read QR codes in range of the camera lense.
#### Out Of Scope
- Exploits in the operating system QR code parsing functionality
- Exploits based on the string passed to the application using this plugin
- Continous camera/QR scan usage even when application is in background
## Best Practices
There is no additional exposure aside from reading barcodes in the webview and there are no specific best practices for secure usage.
@@ -37,6 +37,7 @@ import app.tauri.Logger
import app.tauri.PermissionState
import app.tauri.annotation.ActivityCallback
import app.tauri.annotation.Command
import app.tauri.annotation.InvokeArg
import app.tauri.annotation.Permission
import app.tauri.annotation.PermissionCallback
import app.tauri.annotation.TauriPlugin
@@ -57,6 +58,13 @@ private const val PERMISSION_ALIAS_CAMERA = "camera"
private const val PERMISSION_NAME = Manifest.permission.CAMERA
private const val PREFS_PERMISSION_FIRST_TIME_ASKING = "PREFS_PERMISSION_FIRST_TIME_ASKING"
@InvokeArg
class ScanOptions {
var formats: Array<String>? = null
var windowed: Boolean = false
var cameraDirection: String? = null
}
@TauriPlugin(
permissions = [
Permission(strings = [Manifest.permission.CAMERA], alias = "camera")
@@ -206,19 +214,12 @@ class BarcodeScannerPlugin(private val activity: Activity) : Plugin(activity),
}
}
private fun getFormats(invoke: Invoke): List<Int> {
val jsFormats = invoke.getArray("formats", JSArray())
private fun getFormats(args: ScanOptions): List<Int> {
val formats = ArrayList<Int>()
for (i in 0 until jsFormats.length()) {
try {
val targetedFormat: String = jsFormats.getString(i)
val targetedBarcodeFormat =
supportedFormats[targetedFormat]
if (targetedBarcodeFormat != null) {
formats.add(targetedBarcodeFormat)
}
} catch (e: JSONException) {
e.printStackTrace()
for (format in args.formats ?: arrayOf()) {
val targetedBarcodeFormat = supportedFormats[format]
if (targetedBarcodeFormat != null) {
formats.add(targetedBarcodeFormat)
}
}
return formats
@@ -341,14 +342,16 @@ class BarcodeScannerPlugin(private val activity: Activity) : Plugin(activity),
@Command
fun scan(invoke: Invoke) {
val args = invoke.parseArgs(ScanOptions::class.java)
savedInvoke = invoke
if (hasCamera()) {
if (getPermissionState("camera") != PermissionState.GRANTED) {
throw Exception("No permission to use camera. Did you request it yet?")
} else {
webViewBackground = null
prepare(invoke.getString("cameraDirection", "back"), invoke.getBoolean("windowed", false))
configureCamera(getFormats(invoke))
prepare(args.cameraDirection ?: "back", args.windowed)
configureCamera(getFormats(args))
}
}
}
+1 -1
View File
@@ -10,7 +10,7 @@ fn main() {
{
println!("{error:#}");
// when building documentation for Android the plugin build result is irrelevant to the crate itself
if !(cfg!(feature = "dox") && std::env::var("TARGET").unwrap().contains("android")) {
if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) {
std::process::exit(1);
}
}
@@ -7,7 +7,13 @@ import Tauri
import UIKit
import WebKit
enum SupportedFormat: String, CaseIterable {
struct ScanOptions: Decodable {
var formats: [SupportedFormat] = []
let windowed: Bool?
let cameraDirection: String?
}
enum SupportedFormat: String, CaseIterable, Decodable {
// UPC_A not supported
case UPC_E
case EAN_8
@@ -232,19 +238,11 @@ class BarcodeScannerPlugin: Plugin, AVCaptureMetadataOutputObjectsDelegate {
}
}
private func runScanner(_ invoke: Invoke) {
private func runScanner(_ invoke: Invoke, args: ScanOptions) {
scanFormats = [AVMetadataObject.ObjectType]()
if (invoke.data["formats"]) != nil {
let _scanFormats = invoke.getArray("formats", String.self)
if _scanFormats != nil && _scanFormats?.count ?? 0 > 0 {
_scanFormats?.forEach { targetedFormat in
if let value = SupportedFormat(rawValue: targetedFormat)?.value {
scanFormats.append(value)
}
}
}
args.formats.forEach { format in
scanFormats.append(format.value)
}
if scanFormats.count == 0 {
@@ -259,7 +257,9 @@ class BarcodeScannerPlugin: Plugin, AVCaptureMetadataOutputObjectsDelegate {
self.isScanning = true
}
@objc private func scan(_ invoke: Invoke) {
@objc private func scan(_ invoke: Invoke) throws {
let args = try invoke.parseArgs(ScanOptions.self)
self.invoke = invoke
var iOS14min: Bool = false
@@ -279,10 +279,10 @@ class BarcodeScannerPlugin: Plugin, AVCaptureMetadataOutputObjectsDelegate {
self.loadCamera()
self.dismantleCamera()
self.setupCamera(
direction: invoke.getString("cameraDirection") ?? "back",
windowed: invoke.getBool("windowed") ?? false
direction: args.cameraDirection ?? "back",
windowed: args.windowed ?? false
)
self.runScanner(invoke)
self.runScanner(invoke, args: args)
}
}
+7 -11
View File
@@ -1,33 +1,29 @@
{
"name": "@tauri-apps/plugin-barcode-scanner",
"version": "2.0.0-alpha.1",
"version": "2.0.0-alpha.3",
"description": "Scan QR codes, EAN-13 and other kinds of barcodes on Android and iOS",
"license": "MIT or APACHE-2.0",
"authors": [
"Tauri Programme within The Commons Conservancy"
],
"type": "module",
"browser": "dist-js/index.min.js",
"module": "dist-js/index.mjs",
"types": "dist-js/index.d.ts",
"types": "./dist-js/index.d.ts",
"main": "./dist-js/index.cjs",
"module": "./dist-js/index.js",
"exports": {
"import": "./dist-js/index.mjs",
"types": "./dist-js/index.d.ts",
"browser": "./dist-js/index.min.js"
"import": "./dist-js/index.js",
"require": "./dist-js/index.cjs"
},
"scripts": {
"build": "rollup -c"
},
"files": [
"dist-js",
"!dist-js/**/*.map",
"README.md",
"LICENSE"
],
"devDependencies": {
"tslib": "^2.5.0"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.9"
"@tauri-apps/api": "2.0.0-alpha.12"
}
}
+7
View File
@@ -0,0 +1,7 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import { createConfig } from "../../shared/rollup.config.js";
export default createConfig();
-11
View File
@@ -1,11 +0,0 @@
import { readFileSync } from "fs";
import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_BARCODESCANNER__=function(e){"use strict";var n=Object.defineProperty,t=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},r=(e,n,r)=>(t(e,n,"read from private field"),r?r.call(e):n.get(e));function a(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}((e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})})({},{Channel:()=>s,PluginListener:()=>o,addPluginListener:()=>_,convertFileSrc:()=>l,invoke:()=>u,transformCallback:()=>a});var i,s=class{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,((e,n,t)=>{if(n.has(e))throw TypeError("Cannot add the same private member more than once");n instanceof WeakSet?n.add(e):n.set(e,t)})(this,i,(()=>{})),this.id=a((e=>{r(this,i).call(this,e)}))}set onmessage(e){var n,r,a,s;a=e,t(n=this,r=i,"write to private field"),s?s.call(n,a):r.set(n,a)}get onmessage(){return r(this,i)}toJSON(){return`__CHANNEL__:${this.id}`}};i=new WeakMap;var c,o=class{constructor(e,n,t){this.plugin=e,this.event=n,this.channelId=t}async unregister(){return u(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}};async function _(e,n,t){let r=new s;return r.onmessage=t,u(`plugin:${e}|register_listener`,{event:n,handler:r}).then((()=>new o(e,n,r.id)))}async function u(e,n={},t){return window.__TAURI_INTERNALS__.invoke(e,n,t)}function l(e,n="asset"){return window.__TAURI_INTERNALS__.convertFileSrc(e,n)}return e.Format=void 0,(c=e.Format||(e.Format={})).QRCode="QR_CODE",c.UPC_A="UPC_A",c.UPC_E="UPC_E",c.EAN8="EAN_8",c.EAN13="EAN_13",c.Code39="CODE_39",c.Code93="CODE_93",c.Code128="CODE_128",c.Codabar="CODABAR",c.ITF="ITF",c.Aztec="AZTEC",c.DataMatrix="DATA_MATRIX",c.PDF417="PDF_417",e.cancel=async function(){return await u("plugin:barcodeScanner|cancel")},e.checkPermissions=async function(){return await u("plugin:barcodeScanner|checkPermissions").then((e=>e.camera))},e.openAppSettings=async function(){return await u("plugin:barcodeScanner|openAppSettings")},e.requestPermissions=async function(){return await u("plugin:barcodeScanner|requestPermissions").then((e=>e.camera))},e.scan=async function(e){return await u("plugin:barcodeScanner|scan",{...e})},e}({});Object.defineProperty(window.__TAURI__,"barcodeScanner",{value:__TAURI_BARCODESCANNER__})}
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:barcodeScanner|cancel")},n.checkPermissions=async function(){return await e("plugin:barcodeScanner|checkPermissions").then((n=>n.camera))},n.openAppSettings=async function(){return await e("plugin:barcodeScanner|openAppSettings")},n.requestPermissions=async function(){return await e("plugin:barcodeScanner|requestPermissions").then((n=>n.camera))},n.scan=async function(n){return await e("plugin:barcodeScanner|scan",{...n})},n}({});Object.defineProperty(window.__TAURI__,"barcodeScanner",{value:__TAURI_PLUGIN_BARCODESCANNER__})}
+9 -1
View File
@@ -1,8 +1,16 @@
# Changelog
## \[2.0.0-alpha.4]
- [`387c2f9`](https://github.com/tauri-apps/plugins-workspace/commit/387c2f9e0ce4c75c07ffa3fd76391a25b58f5daf)([#802](https://github.com/tauri-apps/plugins-workspace/pull/802)) Update to @tauri-apps/api v2.0.0-alpha.12.
## \[2.0.0-alpha.3]
- [`e438e0a`](https://github.com/tauri-apps/plugins-workspace/commit/e438e0a62d4b430a5159f05f13ecd397dd891a0d)([#676](https://github.com/tauri-apps/plugins-workspace/pull/676)) Update to @tauri-apps/api v2.0.0-alpha.11.
## \[2.0.0-alpha.2]
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.16.
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.9.
## \[2.0.0-alpha.2]
+3 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-cli"
version = "2.0.0-alpha.3"
version = "2.0.0-alpha.5"
description = "Parse arguments from your Tauri application's command line interface."
edition = { workspace = true }
authors = { workspace = true }
@@ -8,7 +8,8 @@ license = { workspace = true }
rust-version = { workspace = true }
[package.metadata.docs.rs]
features = [ "tauri/dox" ]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
[dependencies]
serde = { workspace = true }
+16
View File
@@ -85,6 +85,22 @@ if (matches.subcommand?.name === "run") {
PRs accepted. Please make sure to read the Contributing Guide before making a pull request.
## Partners
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://crabnebula.dev" target="_blank">
<img src="https://github.com/tauri-apps/plugins-workspace/raw/v2/.github/sponsors/crabnebula.svg" alt="CrabNebula" width="283">
</a>
</td>
</tr>
</tbody>
</table>
For the complete list of sponsors please visit our [website](https://tauri.app#sponsors) and [Open Collective](https://opencollective.com/tauri).
## License
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
+7 -11
View File
@@ -1,32 +1,28 @@
{
"name": "@tauri-apps/plugin-cli",
"version": "2.0.0-alpha.2",
"version": "2.0.0-alpha.4",
"license": "MIT or APACHE-2.0",
"authors": [
"Tauri Programme within The Commons Conservancy"
],
"type": "module",
"browser": "dist-js/index.min.js",
"module": "dist-js/index.mjs",
"types": "dist-js/index.d.ts",
"types": "./dist-js/index.d.ts",
"main": "./dist-js/index.cjs",
"module": "./dist-js/index.js",
"exports": {
"import": "./dist-js/index.mjs",
"types": "./dist-js/index.d.ts",
"browser": "./dist-js/index.min.js"
"import": "./dist-js/index.js",
"require": "./dist-js/index.cjs"
},
"scripts": {
"build": "rollup -c"
},
"files": [
"dist-js",
"!dist-js/**/*.map",
"README.md",
"LICENSE"
],
"devDependencies": {
"tslib": "^2.4.1"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.9"
"@tauri-apps/api": "2.0.0-alpha.12"
}
}
+7
View File
@@ -0,0 +1,7 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import { createConfig } from "../../shared/rollup.config.js";
export default createConfig();
-11
View File
@@ -1,11 +0,0 @@
import { readFileSync } from "fs";
import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_CLI__=function(e){"use strict";var n=Object.defineProperty,t=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},r=(e,n,r)=>(t(e,n,"read from private field"),r?r.call(e):n.get(e));function i(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}((e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})})({},{Channel:()=>s,PluginListener:()=>_,addPluginListener:()=>o,convertFileSrc:()=>l,invoke:()=>c,transformCallback:()=>i});var a,s=class{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,((e,n,t)=>{if(n.has(e))throw TypeError("Cannot add the same private member more than once");n instanceof WeakSet?n.add(e):n.set(e,t)})(this,a,(()=>{})),this.id=i((e=>{r(this,a).call(this,e)}))}set onmessage(e){var n,r,i,s;i=e,t(n=this,r=a,"write to private field"),s?s.call(n,i):r.set(n,i)}get onmessage(){return r(this,a)}toJSON(){return`__CHANNEL__:${this.id}`}};a=new WeakMap;var _=class{constructor(e,n,t){this.plugin=e,this.event=n,this.channelId=t}async unregister(){return c(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}};async function o(e,n,t){let r=new s;return r.onmessage=t,c(`plugin:${e}|register_listener`,{event:n,handler:r}).then((()=>new _(e,n,r.id)))}async function c(e,n={},t){return window.__TAURI_INTERNALS__.invoke(e,n,t)}function l(e,n="asset"){return window.__TAURI_INTERNALS__.convertFileSrc(e,n)}return e.getMatches=async function(){return await c("plugin:cli|cli_matches")},e}({});Object.defineProperty(window.__TAURI__,"cli",{value:__TAURI_CLI__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_CLI__=function(_){"use strict";return"function"==typeof SuppressedError&&SuppressedError,_.getMatches=async function(){return await async function(_,n={},e){return window.__TAURI_INTERNALS__.invoke(_,n,e)}("plugin:cli|cli_matches")},_}({});Object.defineProperty(window.__TAURI__,"cli",{value:__TAURI_PLUGIN_CLI__})}
+9 -1
View File
@@ -1,8 +1,16 @@
# Changelog
## \[2.0.0-alpha.4]
- [`387c2f9`](https://github.com/tauri-apps/plugins-workspace/commit/387c2f9e0ce4c75c07ffa3fd76391a25b58f5daf)([#802](https://github.com/tauri-apps/plugins-workspace/pull/802)) Update to @tauri-apps/api v2.0.0-alpha.12.
## \[2.0.0-alpha.3]
- [`e438e0a`](https://github.com/tauri-apps/plugins-workspace/commit/e438e0a62d4b430a5159f05f13ecd397dd891a0d)([#676](https://github.com/tauri-apps/plugins-workspace/pull/676)) Update to @tauri-apps/api v2.0.0-alpha.11.
## \[2.0.0-alpha.2]
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.16.
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.9.
## \[2.0.0-alpha.2]
+3 -5
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-clipboard-manager"
version = "2.0.0-alpha.3"
version = "2.0.0-alpha.5"
description = "Read and write to the system clipboard."
edition = { workspace = true }
authors = { workspace = true }
@@ -9,7 +9,8 @@ rust-version = { workspace = true }
links = "tauri-plugin-clipboard-manager"
[package.metadata.docs.rs]
features = [ "dox" ]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
targets = [ "x86_64-unknown-linux-gnu", "x86_64-linux-android" ]
[build-dependencies]
@@ -24,6 +25,3 @@ thiserror = { workspace = true }
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
arboard = "3"
[features]
dox = [ "tauri/dox" ]
+16
View File
@@ -69,6 +69,22 @@ assert(await readText(), "Tauri is awesome!");
PRs accepted. Please make sure to read the Contributing Guide before making a pull request.
## Partners
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://crabnebula.dev" target="_blank">
<img src="https://github.com/tauri-apps/plugins-workspace/raw/v2/.github/sponsors/crabnebula.svg" alt="CrabNebula" width="283">
</a>
</td>
</tr>
</tbody>
</table>
For the complete list of sponsors please visit our [website](https://tauri.app#sponsors) and [Open Collective](https://opencollective.com/tauri).
## License
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
@@ -38,6 +38,7 @@ dependencies {
implementation("androidx.core:core-ktx:1.9.0")
implementation("androidx.appcompat:appcompat:1.6.0")
implementation("com.google.android.material:material:1.7.0")
implementation("com.fasterxml.jackson.core:jackson-databind:2.15.3")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
@@ -11,11 +11,74 @@ import android.content.ClipDescription
import android.content.ClipboardManager
import android.content.Context
import app.tauri.annotation.Command
import app.tauri.annotation.InvokeArg
import app.tauri.annotation.TauriPlugin
import app.tauri.plugin.Invoke
import app.tauri.plugin.JSObject
import app.tauri.plugin.Plugin
import com.fasterxml.jackson.core.JsonGenerator
import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.core.JsonProcessingException
import com.fasterxml.jackson.databind.DeserializationContext
import com.fasterxml.jackson.databind.JsonDeserializer
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.SerializerProvider
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import com.fasterxml.jackson.databind.annotation.JsonSerialize
import com.fasterxml.jackson.databind.ser.std.StdSerializer
import java.io.IOException
@InvokeArg
@JsonDeserialize(using = WriteOptionsDeserializer::class)
sealed class WriteOptions {
@JsonDeserialize
class PlainText: WriteOptions() {
lateinit var text: String
var label: String? = null
}
}
@JsonSerialize(using = ReadClipDataSerializer::class)
sealed class ReadClipData {
class PlainText: ReadClipData() {
lateinit var text: String
}
}
internal class ReadClipDataSerializer @JvmOverloads constructor(t: Class<ReadClipData>? = null) :
StdSerializer<ReadClipData>(t) {
@Throws(IOException::class, JsonProcessingException::class)
override fun serialize(
value: ReadClipData, jgen: JsonGenerator, provider: SerializerProvider
) {
jgen.writeStartObject()
when (value) {
is ReadClipData.PlainText -> {
jgen.writeObjectFieldStart("plainText")
jgen.writeStringField("text", value.text)
jgen.writeEndObject()
}
else -> {}
}
jgen.writeEndObject()
}
}
internal class WriteOptionsDeserializer: JsonDeserializer<WriteOptions>() {
override fun deserialize(
jsonParser: JsonParser,
deserializationContext: DeserializationContext
): WriteOptions {
val node: JsonNode = jsonParser.codec.readTree(jsonParser)
node.get("plainText")?.let {
return jsonParser.codec.treeToValue(it, WriteOptions.PlainText::class.java)
} ?: run {
throw Error("unknown write options $node")
}
}
}
@TauriPlugin
class ClipboardPlugin(private val activity: Activity) : Plugin(activity) {
@@ -25,22 +88,14 @@ class ClipboardPlugin(private val activity: Activity) : Plugin(activity) {
@Command
@Suppress("MoveVariableDeclarationIntoWhen")
fun write(invoke: Invoke) {
val options = invoke.getObject("options")
if (options == null) {
invoke.reject("Missing `options` input")
return
}
val kind = invoke.getString("kind", "")
val args = invoke.parseArgs(WriteOptions::class.java)
val clipData = when (kind) {
"PlainText" -> {
val label = options.getString("label", "")
val text = options.getString("text", "")
ClipData.newPlainText(label, text)
val clipData = when (args) {
is WriteOptions.PlainText -> {
ClipData.newPlainText(args.label, args.text)
}
else -> {
invoke.reject("Unknown kind $kind")
invoke.reject("unimplemented clip data")
return
}
}
@@ -52,10 +107,12 @@ class ClipboardPlugin(private val activity: Activity) : Plugin(activity) {
@Command
fun read(invoke: Invoke) {
val (kind, options) = if (manager.hasPrimaryClip()) {
val data = if (manager.hasPrimaryClip()) {
if (manager.primaryClipDescription?.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN) == true) {
val item: ClipData.Item = manager.primaryClip!!.getItemAt(0)
Pair("PlainText", item.text)
val data = ReadClipData.PlainText()
data.text = item.text.toString()
data
} else {
// TODO
invoke.reject("Clipboard content reader not implemented")
@@ -66,9 +123,6 @@ class ClipboardPlugin(private val activity: Activity) : Plugin(activity) {
return
}
val response = JSObject()
response.put("kind", kind)
response.put("options", options)
invoke.resolve(response)
invoke.resolveObject(data)
}
}
+1 -1
View File
@@ -10,7 +10,7 @@ fn main() {
{
println!("{error:#}");
// when building documentation for Android the plugin build result is irrelevant to the crate itself
if !(cfg!(feature = "dox") && std::env::var("TARGET").unwrap().contains("android")) {
if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) {
std::process::exit(1);
}
}
+3 -9
View File
@@ -10,12 +10,7 @@
import { invoke } from "@tauri-apps/api/primitives";
interface Clip<K, T> {
kind: K;
options: T;
}
type ClipResponse = Clip<"PlainText", string>;
type ClipResponse = Record<"plainText", { text: string }>;
/**
* Writes plain text to the clipboard.
@@ -36,8 +31,7 @@ async function writeText(
): Promise<void> {
return invoke("plugin:clipboard|write", {
data: {
kind: "PlainText",
options: {
plainText: {
label: opts?.label,
text,
},
@@ -56,7 +50,7 @@ async function writeText(
*/
async function readText(): Promise<string> {
const kind: ClipResponse = await invoke("plugin:clipboard|read");
return kind.options;
return kind.plainText.text;
}
export { writeText, readText };
@@ -2,42 +2,42 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import SwiftRs
import Tauri
import UIKit
import WebKit
import Tauri
import SwiftRs
enum WriteOptions: Codable {
case plainText(text: String)
}
enum ReadClipData: Codable {
case plainText(text: String)
}
class ClipboardPlugin: Plugin {
@objc public func write(_ invoke: Invoke) throws {
let options = invoke.getObject("options")
if let options = options {
let clipboard = UIPasteboard.general
let kind = invoke.getString("kind", "")
switch kind {
case "PlainText":
let text = options["text"] as? String
clipboard.string = text
default:
invoke.reject("Unknown kind \(kind)")
return
}
invoke.resolve()
} else {
invoke.reject("Missing `options` input")
}
}
@objc public func write(_ invoke: Invoke) throws {
let options = try invoke.parseArgs(WriteOptions.self)
let clipboard = UIPasteboard.general
switch options {
case .plainText(let text):
clipboard.string = text
default:
invoke.unimplemented()
return
}
invoke.resolve()
@objc public func read(_ invoke: Invoke) throws {
let clipboard = UIPasteboard.general
if let text = clipboard.string {
invoke.resolve([
"kind": "PlainText",
"options": text
])
} else {
invoke.reject("Clipboard is empty")
}
}
}
@objc public func read(_ invoke: Invoke) throws {
let clipboard = UIPasteboard.general
if let text = clipboard.string {
invoke.resolve(ReadClipData.plainText(text: text))
} else {
invoke.reject("Clipboard is empty")
}
}
}
@_cdecl("init_plugin_clipboard")
+7 -11
View File
@@ -1,32 +1,28 @@
{
"name": "@tauri-apps/plugin-clipboard-manager",
"version": "2.0.0-alpha.2",
"version": "2.0.0-alpha.4",
"license": "MIT or APACHE-2.0",
"authors": [
"Tauri Programme within The Commons Conservancy"
],
"type": "module",
"browser": "dist-js/index.min.js",
"module": "dist-js/index.mjs",
"types": "dist-js/index.d.ts",
"types": "./dist-js/index.d.ts",
"main": "./dist-js/index.cjs",
"module": "./dist-js/index.js",
"exports": {
"import": "./dist-js/index.mjs",
"types": "./dist-js/index.d.ts",
"browser": "./dist-js/index.min.js"
"import": "./dist-js/index.js",
"require": "./dist-js/index.cjs"
},
"scripts": {
"build": "rollup -c"
},
"files": [
"dist-js",
"!dist-js/**/*.map",
"README.md",
"LICENSE"
],
"devDependencies": {
"tslib": "^2.4.1"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.9"
"@tauri-apps/api": "2.0.0-alpha.12"
}
}
@@ -0,0 +1,7 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import { createConfig } from "../../shared/rollup.config.js";
export default createConfig();
@@ -1,11 +0,0 @@
import { readFileSync } from "fs";
import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_CLIPBOARDMANAGER__=function(e){"use strict";var n=Object.defineProperty,t=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},r=(e,n,r)=>(t(e,n,"read from private field"),r?r.call(e):n.get(e));function i(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}((e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})})({},{Channel:()=>s,PluginListener:()=>o,addPluginListener:()=>_,convertFileSrc:()=>c,invoke:()=>l,transformCallback:()=>i});var a,s=class{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,((e,n,t)=>{if(n.has(e))throw TypeError("Cannot add the same private member more than once");n instanceof WeakSet?n.add(e):n.set(e,t)})(this,a,(()=>{})),this.id=i((e=>{r(this,a).call(this,e)}))}set onmessage(e){var n,r,i,s;i=e,t(n=this,r=a,"write to private field"),s?s.call(n,i):r.set(n,i)}get onmessage(){return r(this,a)}toJSON(){return`__CHANNEL__:${this.id}`}};a=new WeakMap;var o=class{constructor(e,n,t){this.plugin=e,this.event=n,this.channelId=t}async unregister(){return l(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}};async function _(e,n,t){let r=new s;return r.onmessage=t,l(`plugin:${e}|register_listener`,{event:n,handler:r}).then((()=>new o(e,n,r.id)))}async function l(e,n={},t){return window.__TAURI_INTERNALS__.invoke(e,n,t)}function c(e,n="asset"){return window.__TAURI_INTERNALS__.convertFileSrc(e,n)}return e.readText=async function(){return(await l("plugin:clipboard|read")).options},e.writeText=async function(e,n){return l("plugin:clipboard|write",{data:{kind:"PlainText",options:{label:null==n?void 0:n.label,text:e}}})},e}({});Object.defineProperty(window.__TAURI__,"clipboardManager",{value:__TAURI_CLIPBOARDMANAGER__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_CLIPBOARDMANAGER__=function(e){"use strict";async function n(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}return"function"==typeof SuppressedError&&SuppressedError,e.readText=async function(){return(await n("plugin:clipboard|read")).plainText.text},e.writeText=async function(e,r){return n("plugin:clipboard|write",{data:{plainText:{label:r?.label,text:e}}})},e}({});Object.defineProperty(window.__TAURI__,"clipboardManager",{value:__TAURI_PLUGIN_CLIPBOARDMANAGER__})}
+1 -1
View File
@@ -39,7 +39,7 @@ impl<R: Runtime> Clipboard<R> {
match &self.clipboard {
Ok(clipboard) => {
let text = clipboard.lock().unwrap().get_text()?;
Ok(ClipboardContents::PlainText(text))
Ok(ClipboardContents::PlainText { text })
}
Err(e) => Err(crate::Error::Clipboard(e.to_string())),
}
+3 -3
View File
@@ -5,13 +5,13 @@
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
#[serde(tag = "kind", content = "options")]
#[serde(rename_all = "camelCase")]
pub enum ClipKind {
PlainText { label: Option<String>, text: String },
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(tag = "kind", content = "options")]
#[serde(rename_all = "camelCase")]
pub enum ClipboardContents {
PlainText(String),
PlainText { text: String },
}
+12 -1
View File
@@ -1,9 +1,20 @@
# Changelog
## \[2.0.0-alpha.3]
- [`387c2f9`](https://github.com/tauri-apps/plugins-workspace/commit/387c2f9e0ce4c75c07ffa3fd76391a25b58f5daf)([#802](https://github.com/tauri-apps/plugins-workspace/pull/802)) Update to @tauri-apps/api v2.0.0-alpha.12.
## \[2.0.0-alpha.2]
- [`e438e0a`](https://github.com/tauri-apps/plugins-workspace/commit/e438e0a62d4b430a5159f05f13ecd397dd891a0d)([#676](https://github.com/tauri-apps/plugins-workspace/pull/676)) Update to @tauri-apps/api v2.0.0-alpha.11.
## \[2.0.0-alpha.1]
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.16.
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.9.
## \[2.0.0-alpha.0]
- [`eccd6f9`](https://github.com/tauri-apps/plugins-workspace/commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
0.0-alpha.0]
- [`eccd6f9`](https://github.com/tauri-apps/plugins-workspace/commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
-4089
View File
File diff suppressed because it is too large Load Diff
+3 -5
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-deep-link"
version = "2.0.0-alpha.1"
version = "2.0.0-alpha.3"
description = "Set your Tauri application as the default handler for an URL"
authors = { workspace = true }
license = { workspace = true }
@@ -9,7 +9,8 @@ rust-version = { workspace = true }
links = "tauri-plugin-deep-link"
[package.metadata.docs.rs]
features = [ "dox" ]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
targets = [ "x86_64-linux-android" ]
[build-dependencies]
@@ -24,6 +25,3 @@ tauri = { workspace = true }
log = { workspace = true }
thiserror = { workspace = true }
url = "2"
[features]
dox = [ "tauri/dox" ]
+17 -1
View File
@@ -1,4 +1,4 @@
![plugin-deep-link](banner.png)
![plugin-deep-link](https://github.com/tauri-apps/plugins-workspace/raw/v2/plugins/deep-link/banner.png)
Set your Tauri application as the default handler for an URL.
@@ -155,6 +155,22 @@ PRs accepted. Please make sure to read the Contributing Guide before making a pu
</tbody>
</table>
## Partners
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://crabnebula.dev" target="_blank">
<img src="https://github.com/tauri-apps/plugins-workspace/raw/v2/.github/sponsors/crabnebula.svg" alt="CrabNebula" width="283">
</a>
</td>
</tr>
</tbody>
</table>
For the complete list of sponsors please visit our [website](https://tauri.app#sponsors) and [Open Collective](https://opencollective.com/tauri).
## License
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
@@ -6,8 +6,10 @@ package app.tauri.deep_link
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.webkit.WebView
import app.tauri.Logger
import app.tauri.annotation.InvokeArg
import app.tauri.annotation.Command
import app.tauri.annotation.TauriPlugin
import app.tauri.plugin.Channel
@@ -15,6 +17,11 @@ import app.tauri.plugin.JSObject
import app.tauri.plugin.Plugin
import app.tauri.plugin.Invoke
@InvokeArg
class SetEventHandlerArgs {
lateinit var handler: Channel
}
@TauriPlugin
class DeepLinkPlugin(private val activity: Activity): Plugin(activity) {
//private val implementation = Example()
@@ -33,29 +40,17 @@ class DeepLinkPlugin(private val activity: Activity): Plugin(activity) {
invoke.resolve(ret)
}
/* @Command
fun registerListenerRust(invoke: Invoke) {
val value = invoke.getString("value") ?: ""
val ret = JSObject()
ret.put("value", this.currentUrl ?: "none")
invoke.resolve(ret)
} */
@Command
fun setEventHandler(invoke: Invoke) {
val channel = invoke.getChannel("handler")
if (channel == null) {
invoke.reject("`handler` not provided")
}
this.channel = channel
val args = invoke.parseArgs(SetEventHandlerArgs::class.java)
this.channel = args.handler
invoke.resolve()
}
override fun load(webView: WebView) {
instance = this
var intent = activity.intent
val intent = activity.intent
if (intent.action == Intent.ACTION_VIEW) {
// TODO: check if it makes sense to split up init url and last url
+1 -1
View File
@@ -35,7 +35,7 @@ fn main() {
.run()
{
println!("{error:#}");
if !(cfg!(feature = "dox") && std::env::var("TARGET").unwrap().contains("android")) {
if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) {
std::process::exit(1);
}
}
@@ -1,5 +1,17 @@
# Changelog
## \[0.0.1-alpha.3]
### Dependencies
- Upgraded to `deep-link-js@2.0.0-alpha.3`
## \[0.0.1-alpha.2]
### Dependencies
- Upgraded to `deep-link-js@2.0.0-alpha.2`
## \[0.0.1-alpha.1]
### Dependencies
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "deep-link-example",
"private": true,
"version": "0.0.1-alpha.1",
"version": "0.0.1-alpha.3",
"type": "module",
"scripts": {
"dev": "vite",
@@ -10,11 +10,11 @@
"tauri": "tauri"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.6",
"@tauri-apps/plugin-deep-link": "2.0.0-alpha.1"
"@tauri-apps/api": "2.0.0-alpha.12",
"@tauri-apps/plugin-deep-link": "2.0.0-alpha.3"
},
"devDependencies": {
"@tauri-apps/cli": "2.0.0-alpha.16",
"@tauri-apps/cli": "2.0.0-alpha.18",
"internal-ip": "^8.0.0",
"typescript": "^5.2.2",
"vite": "^4.5.0"
+7 -11
View File
@@ -1,33 +1,29 @@
{
"name": "@tauri-apps/plugin-deep-link",
"version": "2.0.0-alpha.1",
"version": "2.0.0-alpha.3",
"description": "Set your Tauri application as the default handler for an URL",
"license": "MIT or APACHE-2.0",
"authors": [
"Tauri Programme within The Commons Conservancy"
],
"type": "module",
"browser": "dist-js/index.min.js",
"module": "dist-js/index.mjs",
"types": "dist-js/index.d.ts",
"types": "./dist-js/index.d.ts",
"main": "./dist-js/index.cjs",
"module": "./dist-js/index.js",
"exports": {
"import": "./dist-js/index.mjs",
"types": "./dist-js/index.d.ts",
"browser": "./dist-js/index.min.js"
"import": "./dist-js/index.js",
"require": "./dist-js/index.cjs"
},
"scripts": {
"build": "rollup -c"
},
"files": [
"dist-js",
"!dist-js/**/*.map",
"README.md",
"LICENSE"
],
"devDependencies": {
"tslib": "^2.5.0"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.9"
"@tauri-apps/api": "2.0.0-alpha.12"
}
}
+7
View File
@@ -0,0 +1,7 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import { createConfig } from "../../shared/rollup.config.js";
export default createConfig();
-11
View File
@@ -1,11 +0,0 @@
import { readFileSync } from "fs";
import { createConfig } from "../../shared/rollup.config.mjs";
export default createConfig({
input: "guest-js/index.ts",
pkg: JSON.parse(
readFileSync(new URL("./package.json", import.meta.url), "utf8"),
),
external: [/^@tauri-apps\/api/],
});
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_DEEPLINK__=function(e){"use strict";var n=Object.defineProperty,t=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},r=(e,n,t)=>{if(!n.has(e))throw TypeError("Cannot "+t)},i=(e,n,t)=>(r(e,n,"read from private field"),t?t.call(e):n.get(e));function a(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}t({},{Channel:()=>s,PluginListener:()=>u,addPluginListener:()=>o,convertFileSrc:()=>c,invoke:()=>l,transformCallback:()=>a});var _,s=class{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,((e,n,t)=>{if(n.has(e))throw TypeError("Cannot add the same private member more than once");n instanceof WeakSet?n.add(e):n.set(e,t)})(this,_,(()=>{})),this.id=a((e=>{i(this,_).call(this,e)}))}set onmessage(e){((e,n,t,i)=>{r(e,n,"write to private field"),i?i.call(e,t):n.set(e,t)})(this,_,e)}get onmessage(){return i(this,_)}toJSON(){return`__CHANNEL__:${this.id}`}};_=new WeakMap;var u=class{constructor(e,n,t){this.plugin=e,this.event=n,this.channelId=t}async unregister(){return l(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}};async function o(e,n,t){let r=new s;return r.onmessage=t,l(`plugin:${e}|register_listener`,{event:n,handler:r}).then((()=>new u(e,n,r.id)))}async function l(e,n={},t){return window.__TAURI_INTERNALS__.invoke(e,n,t)}function c(e,n="asset"){return window.__TAURI_INTERNALS__.convertFileSrc(e,n)}t({},{TauriEvent:()=>d,emit:()=>v,listen:()=>h,once:()=>I});var d=(e=>(e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_CREATED="tauri://window-created",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_FILE_DROP="tauri://file-drop",e.WINDOW_FILE_DROP_HOVER="tauri://file-drop-hover",e.WINDOW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled",e.MENU="tauri://menu",e))(d||{});async function E(e,n){await l("plugin:event|unlisten",{event:e,eventId:n})}async function h(e,n,t){return l("plugin:event|listen",{event:e,windowLabel:t?.target,handler:a(n)}).then((n=>async()=>E(e,n)))}async function I(e,n,t){return h(e,(t=>{n(t),E(e,t.id).catch((()=>{}))}),t)}async function v(e,n,t){await l("plugin:event|emit",{event:e,windowLabel:t?.target,payload:n})}async function N(){return await l("plugin:deep-link|get_current")}return e.getCurrent=N,e.onOpenUrl=async function(e){const n=await N();return null!=n&&e(n),await h("deep-link://new-url",(n=>e(n.payload)))},e}({});Object.defineProperty(window.__TAURI__,"deepLink",{value:__TAURI_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 _(e,t,_){return r("plugin:event|listen",{event:e,windowLabel:_?.target,handler:n(t)}).then((n=>async()=>async function(e,n){await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function i(){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_CREATED="tauri://window-created",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_FILE_DROP="tauri://file-drop",e.WINDOW_FILE_DROP_HOVER="tauri://file-drop-hover",e.WINDOW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled"}(t||(t={})),e.getCurrent=i,e.onOpenUrl=async function(e){const n=await i();return null!=n&&e(n),await _("deep-link://new-url",(n=>e(n.payload)))},e}({});Object.defineProperty(window.__TAURI__,"deepLink",{value:__TAURI_PLUGIN_DEEPLINK__})}
+1 -1
View File
@@ -141,7 +141,7 @@ pub fn init<R: Runtime>() -> TauriPlugin<R, Option<config::Config>> {
.on_event(|_app, _event| {
#[cfg(any(target_os = "macos", target_os = "ios"))]
if let tauri::RunEvent::Opened { urls } = _event {
let _ = _app.emit_all("deep-link://new-url", urls);
let _ = _app.emit("deep-link://new-url", urls);
_app.state::<DeepLink<R>>()
.current
.lock()
+19 -2
View File
@@ -1,8 +1,17 @@
# Changelog
## \[2.0.0-alpha.4]
- [`387c2f9`](https://github.com/tauri-apps/plugins-workspace/commit/387c2f9e0ce4c75c07ffa3fd76391a25b58f5daf)([#802](https://github.com/tauri-apps/plugins-workspace/pull/802)) Update to @tauri-apps/api v2.0.0-alpha.12.
- [`2e2c0a1`](https://github.com/tauri-apps/plugins-workspace/commit/2e2c0a1b958fcbc7de855ef1d305b11855f2eb8e)([#769](https://github.com/tauri-apps/plugins-workspace/pull/769)) Fix incorrect result for dialog messages.
## \[2.0.0-alpha.3]
- [`e438e0a`](https://github.com/tauri-apps/plugins-workspace/commit/e438e0a62d4b430a5159f05f13ecd397dd891a0d)([#676](https://github.com/tauri-apps/plugins-workspace/pull/676)) Update to @tauri-apps/api v2.0.0-alpha.11.
## \[2.0.0-alpha.2]
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.16.
- [`5c13736`](https://github.com/tauri-apps/plugins-workspace/commit/5c137365c60790e8d4037d449e8237aa3fffdab0)([#673](https://github.com/tauri-apps/plugins-workspace/pull/673)) Update to @tauri-apps/api v2.0.0-alpha.9.
## \[2.0.0-alpha.2]
@@ -29,8 +38,16 @@
## \[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!
`
\`
## \[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!
pull/371)) First v2 alpha release!
ri-apps/plugins-workspace/commit/717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
\`
## \[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!
pull/371)) First v2 alpha release!
+5 -7
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-dialog"
version = "2.0.0-alpha.3"
version = "2.0.0-alpha.5"
description = "Native system dialogs for opening and saving files along with message dialogs on your Tauri application."
edition = { workspace = true }
authors = { workspace = true }
@@ -9,7 +9,8 @@ rust-version = { workspace = true }
links = "tauri-plugin-dialog"
[package.metadata.docs.rs]
features = [ "dox" ]
rustc-args = [ "--cfg", "docsrs" ]
rustdoc-args = [ "--cfg", "docsrs" ]
targets = [ "x86_64-unknown-linux-gnu", "x86_64-linux-android" ]
[dependencies]
@@ -18,17 +19,14 @@ serde_json = { workspace = true }
tauri = { workspace = true }
log = { workspace = true }
thiserror = { workspace = true }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-alpha.3" }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-alpha.5" }
[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
glib = "0.16"
[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.11", features = [ "gtk3", "common-controls-v6" ] }
rfd = { version = "=0.12.0", features = [ "gtk3", "common-controls-v6" ] }
raw-window-handle = "0.5"
[build-dependencies]
tauri-build = { workspace = true }
[features]
dox = [ "tauri/dox" ]
+16
View File
@@ -67,6 +67,22 @@ Afterwards all the plugin's APIs are available through the JavaScript guest bind
PRs accepted. Please make sure to read the Contributing Guide before making a pull request.
## Partners
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://crabnebula.dev" target="_blank">
<img src="https://github.com/tauri-apps/plugins-workspace/raw/v2/.github/sponsors/crabnebula.svg" alt="CrabNebula" width="283">
</a>
</td>
</tr>
</tbody>
</table>
For the complete list of sponsors please visit our [website](https://tauri.app#sponsors) and [Open Collective](https://opencollective.com/tauri).
## License
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
@@ -14,24 +14,44 @@ import androidx.activity.result.ActivityResult
import app.tauri.Logger
import app.tauri.annotation.ActivityCallback
import app.tauri.annotation.Command
import app.tauri.annotation.InvokeArg
import app.tauri.annotation.TauriPlugin
import app.tauri.plugin.Invoke
import app.tauri.plugin.JSArray
import app.tauri.plugin.JSObject
import app.tauri.plugin.Plugin
import org.json.JSONException
@InvokeArg
class Filter {
lateinit var extensions: Array<String>
}
@InvokeArg
class FilePickerOptions {
lateinit var filters: Array<Filter>
var multiple: Boolean? = null
var readData: Boolean? = null
}
@InvokeArg
class MessageOptions {
var title: String? = null
lateinit var message: String
var okButtonLabel: String? = null
var cancelButtonLabel: String? = null
}
@TauriPlugin
class DialogPlugin(private val activity: Activity): Plugin(activity) {
var filePickerOptions: FilePickerOptions? = null
@Command
fun showFilePicker(invoke: Invoke) {
try {
val filters = invoke.getArray("filters", JSArray())
val multiple = invoke.getBoolean("multiple", false)
val parsedTypes = parseFiltersOption(filters)
val args = invoke.parseArgs(FilePickerOptions::class.java)
val parsedTypes = parseFiltersOption(args.filters)
val intent = if (parsedTypes != null && parsedTypes.isNotEmpty()) {
val intent = if (parsedTypes.isNotEmpty()) {
val intent = Intent(Intent.ACTION_PICK)
intent.putExtra(Intent.EXTRA_MIME_TYPES, parsedTypes)
@@ -55,7 +75,7 @@ class DialogPlugin(private val activity: Activity): Plugin(activity) {
intent
}
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, multiple)
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, args.multiple ?: false)
startActivityForResult(invoke, intent, "filePickerResult")
} catch (ex: Exception) {
@@ -68,10 +88,9 @@ class DialogPlugin(private val activity: Activity): Plugin(activity) {
@ActivityCallback
fun filePickerResult(invoke: Invoke, result: ActivityResult) {
try {
val readData = invoke.getBoolean("readData", false)
when (result.resultCode) {
Activity.RESULT_OK -> {
val callResult = createPickFilesResult(result.data, readData)
val callResult = createPickFilesResult(result.data, filePickerOptions?.readData ?: false)
invoke.resolve(callResult)
}
Activity.RESULT_CANCELED -> invoke.reject("File picker cancelled")
@@ -130,36 +149,19 @@ class DialogPlugin(private val activity: Activity): Plugin(activity) {
return callResult
}
private fun parseFiltersOption(filters: JSArray): Array<String>? {
return try {
val filtersList: List<JSObject> = filters.toList()
val mimeTypes = mutableListOf<String>()
for (filter in filtersList) {
val extensionsList = filter.getJSONArray("extensions")
for (i in 0 until extensionsList.length()) {
val mime = extensionsList.getString(i)
mimeTypes.add(if (mime == "text/csv") "text/comma-separated-values" else mime)
}
private fun parseFiltersOption(filters: Array<Filter>): Array<String> {
val mimeTypes = mutableListOf<String>()
for (filter in filters) {
for (mime in filter.extensions) {
mimeTypes.add(if (mime == "text/csv") "text/comma-separated-values" else mime)
}
mimeTypes.toTypedArray()
} catch (exception: JSONException) {
Logger.error("parseTypesOption failed.", exception)
null
}
return mimeTypes.toTypedArray()
}
@Command
fun showMessageDialog(invoke: Invoke) {
val title = invoke.getString("title")
val message = invoke.getString("message")
val okButtonLabel = invoke.getString("okButtonLabel", "OK")
val cancelButtonLabel = invoke.getString("cancelButtonLabel", "Cancel")
if (message == null) {
invoke.reject("The `message` argument is required")
return
}
val args = invoke.parseArgs(MessageOptions::class.java)
if (activity.isFinishing) {
invoke.reject("App is finishing")
@@ -177,19 +179,19 @@ class DialogPlugin(private val activity: Activity): Plugin(activity) {
.post {
val builder = AlertDialog.Builder(activity)
if (title != null) {
builder.setTitle(title)
if (args.title != null) {
builder.setTitle(args.title)
}
builder
.setMessage(message)
.setMessage(args.message)
.setPositiveButton(
okButtonLabel
args.okButtonLabel ?: "OK"
) { dialog, _ ->
dialog.dismiss()
handler(false, true)
}
.setNegativeButton(
cancelButtonLabel
args.cancelButtonLabel ?: "Cancel"
) { dialog, _ ->
dialog.dismiss()
handler(false, false)
+1 -1
View File
@@ -10,7 +10,7 @@ fn main() {
{
println!("{error:#}");
// when building documentation for Android the plugin build result is irrelevant to the crate itself
if !(cfg!(feature = "dox") && std::env::var("TARGET").unwrap().contains("android")) {
if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) {
std::process::exit(1);
}
}

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