Compare commits

...

226 Commits

Author SHA1 Message Date
Lucas Nogueira c2115d8d21 chore: fill description field for new crates 2023-12-20 00:10:26 -03:00
github-actions[bot] 8c6d96e645 Publish New Versions (v2) (#832)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-12-19 23:56:51 -03:00
Lucas Nogueira 7bdc32079c fix(ci): set dependencies on covector config 2023-12-19 23:21:37 -03:00
Lucas Fernandes Nogueira 10b80391fc refactor(fs): use scope from tauri core (#825)
* fix(fs): scope checks on Android

On Android, when we call canonicalize() on "/data/user/0/appid" (which is the data dir), the result is a "/data/data/appid" path, so we need to adjust our scope for that.

* use scope from core

* update persisted-scope

* fix build

* dev branch
2023-12-19 23:19:01 -03:00
Tillmann 1eaf640255 Added Security Policy and Threat Model for Log Plugin (#828)
* Initial threat model and security contact

* Corrections and finalize policy
2023-12-19 22:25:42 -03:00
Amr Bashir 69a1fa099c feat(fs): improved API (#751)
* feat(fs): improved API

* fmt

* fix unix builds

* again

* clippy

* clippy

* fix import in docs examples

* fmt, clippy

* Update linux.rs

* add API for watch

* fix with `watcher` feature flag

* use baseDir for all commands

* do not export close function

* fix build

* organize and address review comments

* fmt

* generated files

* rename FsFile to FileHandle, move APIs and docs

* extend example

* extend `Resource`

* actually extend it

---------

Co-authored-by: FabianLars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-12-19 22:08:34 -03:00
Lucas Fernandes Nogueira 2cf8faa3e1 chore(deps): update to tauri alpha.20, @tauri-apps/api alpha.13 (#839)
* chore(deps): update to tauri alpha.20, @tauri-apps/api alpha.13

* fix lockfile
2023-12-20 00:18:05 +02:00
Amr Bashir e5f979f91a fix(core/updater): check if installer args are not empty before passing -ArgumentList (#818) 2023-12-19 17:37:27 -03:00
Lucas Nogueira 8df28a9875 feat(mobile): add biometric plugin (#829)
* chore: update deps, make mobile script paths relative

* feat(biometric): setup plugin folder

* feat: implement iOS

* add api

* android

* fix plugin name

* also check empty info.plist entry

* add example

* fix android

* supress

* lint

* better explanation

* add partners & contributed by

* change ext

* license headers

* update vite

* add covector setup

* tauri/dox removed

* add example

* docs

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-12-19 11:16:13 -03:00
Lucas Nogueira fe79adb5c7 feat(mobile): add NFC plugin (#830)
* feat: scaffold NFC plugin, initial iOS code

* adjust script paths (api example)

* update entitlements & plist

* update class name

* update api

* sketch api, remove desktop

* update response data

* add write fn

* remove commands

* fixes for write mode

* check nfc state before using the APIs

* fix(example): downgrade internal-ip to v7

* feat: typed iOS arguments

* update swift requirement

* android updates

* update tauri

* fix icon

* update example

* fix build

* fix notification example

* fix clipboard

* fix ios notification build

* fix info.plist

* update tauri

* add change file

* fmt

* update to new args class syntax :( [skip ci]

* add lang code handling in RTD_TEXT helper (written payload is broken without it)

* update nfc to latest tauri. use tauri from git

* update lockfile

* android: add initial nfc writer implementation

* check sdk version for pendingintent flag

* quicksaving basic ndef reading that doesn't crash

* add basic ndef reading (android)

* small cleanup

* change pending action type

* validate available state

* gradle 8.0.0

* use session class

* implement keep session alive

* fix notification crash??

* remove dox feature, fix breaking changes

* update dependencies

* fix shell tests [skip ci]

* fmt [skip ci]

* type safe args

* scan kind options

* commit .idea files

* update api

* update example

* fix app check

* alertmessage options for iOS

* default to tag on example

* fix(ios): always close session on write, remove keepsessionalive option

* add kind input to write options

* empty records if message not found

* fill tag metadata for ndef read

* add contributors

* update vite

* covector setup

* tauri/dox removed

* docs and examples

* fmt [skip ci]

---------

Co-authored-by: FabianLars-crabnebula <fabianlars@crabnebula.dev>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-12-19 10:50:31 -03:00
Fabian-Lars 7c59e3785b feat(dialog): Re-export FileResponse (#837)
closes #835
2023-12-19 15:35:53 +02:00
Amr Bashir b1c6a7885e fix(core/dialog): reconstruct path using appropriate separator (#820)
* fix(core/dialog): reconstruct path using appropriate separator

ref: tauri-apps/tauri#8074

* Reference original issue [skip ci]
2023-12-18 21:09:04 -03:00
Lucas Fernandes Nogueira 2d6bfbfacf feat(fs): include full error message (#826) 2023-12-18 15:01:47 -03:00
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
Lucas Fernandes Nogueira 76cfdc32b4 fix: adjust chrono dependency requirement (#680) 2023-10-23 11:17:32 -03:00
Lucas Fernandes Nogueira 0fc910a9f3 fix(authenticator): u2f cannot handle the chrono 0.4.30 breaking change (#679)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-10-23 10:30:16 -03:00
github-actions[bot] 437dfba814 Publish New Versions (v2) (#629)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-10-23 09:01:39 -03:00
Mo beb6b139eb Fix invoke calls in dialog & shell init scripts (#675)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-22 10:09:40 -03: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
Lucas Fernandes Nogueira 5c137365c6 chore: update to tauri alpha.16, api alpha.9 (#673)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-10-20 13:50:18 -03:00
Amr Bashir b7c5407cac refactor: remove window and app plugins (#671)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-10-19 23:17:09 +00: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
pashokitsme 0e642e68de fix(updater): installation on macos #591 (#592)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
fix(updater): installation on macos #591
fix(updater): use zip flate2 feature #591
fix(updater): use zip flate2 feature #591"
2023-10-19 22:50:37 +00:00
Lucas Fernandes Nogueira d1b7c2c1fb feat: build docs.rs documentation for Android (#654) 2023-10-19 17:39:54 +00:00
Lucas Fernandes Nogueira 5de23e79f9 chore: update deps, make mobile script paths relative (#649) 2023-10-19 14:31:42 -03: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
Fabian-Lars 1240631840 fix(websocket): Fix argument mismatch, fixes #661 (#663) 2023-10-16 20:40:09 +03:00
Amr Bashir c2103c91bc feat(global-shortcut): pass app handle to the closure, closes #657 (#658)
* feat(global-shortcut): pass app handle to the closure, closes #657

* Update global-shortcut-app-handle.md
2023-10-16 20:39:27 +03:00
Fabian-Lars 28ec084e56 fix(updater): Fix endpoint string replacements, fixes #655 (#662)
* fix(updater): Fix endpoint string replacements, fixes #655

* fmt
2023-10-16 20:39:02 +03: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
Lucas Fernandes Nogueira 8902fe9adf fix(notification): permission on mobile returns prompt (#627) 2023-09-30 10:09:21 -03: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
474 changed files with 12964 additions and 14591 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"log-plugin": patch
---
Update to tauri@2.0.0-alpha.16.
+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.
+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.20.
+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.
+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.13.
+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.9.
+6
View File
@@ -0,0 +1,6 @@
---
"biometric": major
"biometric-js": major
---
Initial release.
+23 -50
View File
@@ -38,8 +38,8 @@
"manager": "rust",
"publish": false,
"dependencies": [
"app",
"barcode-scanner",
"biometric",
"log-plugin",
"cli",
"clipboard-manager",
@@ -47,12 +47,12 @@
"fs",
"global-shortcut",
"http",
"nfc",
"notification",
"os",
"process",
"shell",
"updater",
"window"
"updater"
]
},
"api-example-js": {
@@ -60,8 +60,8 @@
"manager": "javascript",
"publish": false,
"dependencies": [
"app-js",
"barcode-scanner-js",
"biometric-js",
"log-js",
"cli-js",
"clipboard-manager-js",
@@ -69,16 +69,15 @@
"fs-js",
"global-shortcut-js",
"http-js",
"nfc-js",
"notification-js",
"os-js",
"process-js",
"shell-js",
"updater-js",
"window-js"
"updater-js"
],
"postversion": "pnpm install --no-frozen-lockfile"
},
"deep-link-example-js": {
"path": "./plugins/deep-link/examples/app",
"manager": "javascript",
@@ -86,16 +85,6 @@
"dependencies": ["deep-link-js"],
"postversion": "pnpm install --no-frozen-lockfile"
},
"app": {
"path": "./plugins/app",
"manager": "rust"
},
"app-js": {
"path": "./plugins/app",
"manager": "javascript"
},
"authenticator": {
"path": "./plugins/authenticator",
"manager": "rust"
@@ -104,7 +93,6 @@
"path": "./plugins/authenticator",
"manager": "javascript"
},
"autostart": {
"path": "./plugins/autostart",
"manager": "rust"
@@ -113,7 +101,6 @@
"path": "./plugins/autostart",
"manager": "javascript"
},
"barcode-scanner": {
"path": "./plugins/barcode-scanner",
"manager": "rust"
@@ -122,7 +109,14 @@
"path": "./plugins/barcode-scanner",
"manager": "javascript"
},
"biometric": {
"path": "./plugins/biometric",
"manager": "rust"
},
"biometric-js": {
"path": "./plugins/biometric",
"manager": "javascript"
},
"cli": {
"path": "./plugins/cli",
"manager": "rust"
@@ -131,7 +125,6 @@
"path": "./plugins/cli",
"manager": "javascript"
},
"clipboard-manager": {
"path": "./plugins/clipboard-manager",
"manager": "rust"
@@ -140,7 +133,6 @@
"path": "./plugins/clipboard-manager",
"manager": "javascript"
},
"deep-link": {
"path": "./plugins/deep-link",
"manager": "rust"
@@ -149,7 +141,6 @@
"path": "./plugins/deep-link",
"manager": "javascript"
},
"fs": {
"path": "./plugins/fs",
"manager": "rust"
@@ -158,7 +149,6 @@
"path": "./plugins/fs",
"manager": "javascript"
},
"dialog": {
"path": "./plugins/dialog",
"manager": "rust",
@@ -168,7 +158,6 @@
"path": "./plugins/dialog",
"manager": "javascript"
},
"global-shortcut": {
"path": "./plugins/global-shortcut",
"manager": "rust"
@@ -177,7 +166,6 @@
"path": "./plugins/global-shortcut",
"manager": "javascript"
},
"http": {
"path": "./plugins/http",
"manager": "rust",
@@ -187,12 +175,10 @@
"path": "./plugins/http",
"manager": "javascript"
},
"localhost": {
"path": "./plugins/localhost",
"manager": "rust"
},
"log-plugin": {
"path": "./plugins/log",
"manager": "rust"
@@ -202,6 +188,15 @@
"manager": "javascript"
},
"nfc": {
"path": "./plugins/nfc",
"manager": "rust"
},
"nfc-js": {
"path": "./plugins/nfc",
"manager": "javascript"
},
"notification": {
"path": "./plugins/notification",
"manager": "rust"
@@ -210,7 +205,6 @@
"path": "./plugins/notification",
"manager": "javascript"
},
"os": {
"path": "./plugins/os",
"manager": "rust"
@@ -219,13 +213,11 @@
"path": "./plugins/os",
"manager": "javascript"
},
"persisted-scope": {
"path": "./plugins/persisted-scope",
"manager": "rust",
"dependencies": ["fs"]
},
"positioner": {
"path": "./plugins/positioner",
"manager": "rust"
@@ -234,7 +226,6 @@
"path": "./plugins/positioner",
"manager": "javascript"
},
"process": {
"path": "./plugins/process",
"manager": "rust"
@@ -243,7 +234,6 @@
"path": "./plugins/process",
"manager": "javascript"
},
"shell": {
"path": "./plugins/shell",
"manager": "rust"
@@ -252,12 +242,10 @@
"path": "./plugins/shell",
"manager": "javascript"
},
"single-instance": {
"path": "./plugins/single-instance",
"manager": "rust"
},
"sql": {
"path": "./plugins/sql",
"manager": "rust",
@@ -287,7 +275,6 @@
"path": "./plugins/sql",
"manager": "javascript"
},
"store": {
"path": "./plugins/store",
"manager": "rust"
@@ -296,7 +283,6 @@
"path": "./plugins/store",
"manager": "javascript"
},
"stronghold": {
"path": "./plugins/stronghold",
"manager": "rust"
@@ -305,7 +291,6 @@
"path": "./plugins/stronghold",
"manager": "javascript"
},
"updater": {
"path": "./plugins/updater",
"manager": "rust"
@@ -314,7 +299,6 @@
"path": "./plugins/updater",
"manager": "javascript"
},
"upload": {
"path": "./plugins/upload",
"manager": "rust"
@@ -323,7 +307,6 @@
"path": "./plugins/upload",
"manager": "javascript"
},
"websocket": {
"path": "./plugins/websocket",
"manager": "rust"
@@ -332,16 +315,6 @@
"path": "./plugins/websocket",
"manager": "javascript"
},
"window": {
"path": "./plugins/window",
"manager": "rust"
},
"window-js": {
"path": "./plugins/window",
"manager": "javascript"
},
"window-state": {
"path": "./plugins/window-state",
"manager": "rust"
@@ -0,0 +1,5 @@
---
"dialog": patch
---
On Windows, fix `open` dialog `defaultPath`, when invoked from JS, not working if the path uses forward slash (`/`)
+5
View File
@@ -0,0 +1,5 @@
---
"dialog": patch
---
Re-export `FileResponse` interface.
+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.
@@ -1,5 +0,0 @@
---
"window-js": "minor:feat"
---
Added the `maximizable`, `minimizable` and `closable` fields on `WindowOptions`.
-6
View File
@@ -1,6 +0,0 @@
---
"window": "minor:feat"
"window-js": "minor:feat"
---
Added the `setMaximizable`, `setMinimizable`, `setClosable`, `isMaximizable`, `isMinimizable` and `isClosable` methods.
-2
View File
@@ -1,5 +1,4 @@
---
"app": patch
"authenticator": patch
"autostart": patch
"cli": patch
@@ -23,7 +22,6 @@
"updater": patch
"upload": patch
"websocket": patch
"window": patch
"window-state": patch
---
+7
View File
@@ -0,0 +1,7 @@
---
"log-plugin": patch
"deep-link": patch
"store": patch
---
Update to breaking changes from tauri@alpha.17.
+6
View File
@@ -0,0 +1,6 @@
---
"shell": patch
"dialog": patch
---
Fix invoke usage.
+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 @@
---
"notification": patch
---
Fix permission prompt.
+5
View File
@@ -0,0 +1,5 @@
---
"updater": patch
---
Fixes update on macOS.
+5
View File
@@ -0,0 +1,5 @@
---
"window-state-js": patch
---
Fix usage of no longer available `__TAURI_METADATA__` API.
+5
View File
@@ -0,0 +1,5 @@
---
"fs-js": "patch"
---
Add second argument to `exists` function to specify base directory.
+5
View File
@@ -0,0 +1,5 @@
---
"fs": patch
---
Fix promise rejection error only containing the context and stripping the actual error message.
+6
View File
@@ -0,0 +1,6 @@
---
"fs": "patch"
"fs-js": "patch"
---
The `fs` plugin received a major overhaul to add new APIs and changed existing APIs to be closer to Node.js and Deno APIs.
+6
View File
@@ -0,0 +1,6 @@
---
"fs": patch
"persisted-scope": patch
---
Use `tauri::scope::fs::Scope` instead of local copy of its implementation.
+5
View File
@@ -0,0 +1,5 @@
---
"global-shortcut": "patch"
---
**Breaking Change**: Changed `Builder::with_handler` closure to take `&AppHandle` as the first argument and the shortcut as the second argument.
+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 MSRV to 1.70.
+6
View File
@@ -0,0 +1,6 @@
---
"nfc": major
"nfc-js": major
---
Initial release.
+7
View File
@@ -0,0 +1,7 @@
---
"os": "patch"
"os-js": "patch"
---
Fix `Uncaught TypeError: Cannot read properties of undefined (reading 'os')`
+40 -8
View File
@@ -1,41 +1,73 @@
{
"tag": "alpha",
"changes": [
".changes/alpha.16.md",
".changes/alpha.17.md",
".changes/alpha.18.md",
".changes/alpha.20.md",
".changes/api-alpha.11.md",
".changes/api-alpha.12.md",
".changes/api-alpha.13.md",
".changes/api-alpha.9.md",
".changes/biometric-initial-release.md",
".changes/deep-link-initial-release.md",
".changes/dialog-async-message-dialog.md",
".changes/disable-window-controls-api-options.md",
".changes/disable-window-controls-api.md",
".changes/dialog-default-path-windows-slash.md",
".changes/dialog-export-fileresponse.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-improve-error-message.md",
".changes/fs-improved-apis.md",
".changes/fs-scope-tauri.md",
".changes/fs-wiret-binary-file.md",
".changes/global-shortcut-app-handle.md",
".changes/http-multipart-refactor.md",
".changes/http-plugin-refactor.md",
".changes/http-remove-cmd-property.md",
".changes/http-response.md",
".changes/msrv-1.70.md",
".changes/nfc-initial-release.md",
".changes/notification-init-script.md",
".changes/notification-revert-sound.md",
".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-basicui.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/window-incognito.md",
".changes/window-is-focused.md",
".changes/window-plugin-refactor.md",
".changes/window-set-effects.md",
".changes/websocket-fix-arg-name.md",
".changes/websocket-headers.md",
".changes/window-state-decorated.md",
".changes/window-state-promise.md",
".changes/window-tap-drag-region-detection.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`.
+6
View File
@@ -0,0 +1,6 @@
---
"window-state": patch
"persisted-scope": patch
---
Update to tauri@alpha.15.
-4
View File
@@ -1,6 +1,4 @@
---
"app": patch
"app-js": patch
"authenticator": patch
"authenticator-js": patch
"autostart": patch
@@ -44,8 +42,6 @@
"upload-js": patch
"websocket": patch
"websocket-js": patch
"window": patch
"window-js": patch
"window-state": patch
"window-state-js": patch
---
-2
View File
@@ -1,5 +1,4 @@
---
"app": patch
"authenticator": patch
"autostart": patch
"cli": patch
@@ -23,7 +22,6 @@
"updater": patch
"upload": patch
"websocket": patch
"window": patch
"window-state": patch
---
+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.
+6
View File
@@ -0,0 +1,6 @@
---
"updater": "patch"
"updater-js": "patch"
---
Fix NSIS updater failing to launch when using `basicUi` mode.
@@ -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 @@
---
"updater": "patch"
---
The plugin now correctly replaces `arch`, `current_version` and `target` again.
+5
View File
@@ -0,0 +1,5 @@
---
"upload": patch
---
Use `BufWriter` to reduce IO calls.
-4
View File
@@ -1,6 +1,4 @@
---
"app": major
"app-js": major
"authenticator": major
"authenticator-js": major
"autostart": major
@@ -44,8 +42,6 @@
"upload-js": major
"websocket": major
"websocket-js": major
"window": major
"window-js": major
"window-state": major
"window-state-js": major
---
+5
View File
@@ -0,0 +1,5 @@
---
"websocket": patch
---
Fix argument name mismatch that caused issues when options where provided.
+6
View File
@@ -0,0 +1,6 @@
---
"websocket": patch
"websocket-js": patch
---
Add support for custom request headers.
-5
View File
@@ -1,5 +0,0 @@
---
"window-js": "minor"
---
Add `incognito` window configuration option
-6
View File
@@ -1,6 +0,0 @@
---
"window": "minor:feat"
"window-js": "minor:feat"
---
Add `WebviewWindow.is_focused` and `WebviewWindow.getFocusedWindow` getters.
-10
View File
@@ -1,10 +0,0 @@
---
"window": "patch"
"window-js": "patch"
---
The window plugin is recieving a few changes to improve consistency and add new features:
- Removed `appWindow` variable from JS module, use `getCurrent` or `Window.getCurrent`.
- Removed `WindowManager`, `WebviewWindow` and `WebviewHandle` types and merged them into one `Window` type that matches the name of the rust window type.
- Added `Window.getCurrent` and `Window.getAll` which is a convenient method for `getCurrent` and `getAll` functions.
-6
View File
@@ -1,6 +0,0 @@
---
"window": "patch"
"window-js": "patch"
---
Added the `setEffects` and `clearEffects` API.
@@ -1,5 +0,0 @@
---
"window": "patch"
---
On macOS, fixed tapping on custom title bar doesn't maximize the window.
+2
View File
@@ -1,6 +1,8 @@
target
node_modules
dist
build/
dist-js
api-iife.js
init-iife.js
init.js
+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

@@ -25,10 +25,6 @@ jobs:
id: filter
with:
filters: |
app:
- .github/workflows/check-generated-files.yml
- plugins/app/guest-js/**
- plugins/app/src/api-iife.js
authenticator:
- .github/workflows/check-generated-files.yml
- plugins/authenticator/guest-js/**
@@ -109,10 +105,6 @@ jobs:
- .github/workflows/check-generated-files.yml
- plugins/websocket/guest-js/**
- plugins/websocket/src/api-iife.js
window:
- .github/workflows/check-generated-files.yml
- plugins/window/guest-js/**
- plugins/window/src/api-iife.js
window-state:
- .github/workflows/check-generated-files.yml
- plugins/window-state/guest-js/**
-12
View File
@@ -41,9 +41,6 @@ jobs:
id: filter
with:
filters: |
tauri-plugin-app:
- .github/workflows/lint-rust.yml
- plugins/app/**
tauri-plugin-authenticator:
- .github/workflows/lint-rust.yml
- plugins/authenticator/**
@@ -116,9 +113,6 @@ jobs:
tauri-plugin-websocket:
- .github/workflows/lint-rust.yml
- plugins/websocket/**
tauri-plugin-window:
- .github/workflows/lint-rust.yml
- plugins/window/**
tauri-plugin-window-state:
- .github/workflows/lint-rust.yml
- plugins/window-state/**
@@ -155,10 +149,6 @@ jobs:
if: matrix.package != 'tauri-plugin-sql'
run: cargo clippy --package ${{ matrix.package }} --all-targets -- -D warnings
- name: clippy ${{ matrix.package }} --all-features
if: ${{ !contains(fromJSON('["tauri-plugin-http", "tauri-plugin-upload", "tauri-plugin-updater", "tauri-plugin-websocket", "tauri-plugin-sql"]'), matrix.package) }}
run: cargo clippy --package ${{ matrix.package }} --all-targets --all-features -- -D warnings
- name: clippy ${{ matrix.package }} mysql
if: matrix.package == 'tauri-plugin-sql'
run: cargo clippy --package ${{ matrix.package }} --all-targets --no-default-features --features mysql -- -D warnings
@@ -169,8 +159,6 @@ jobs:
fmt:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
+21 -40
View File
@@ -43,9 +43,6 @@ jobs:
id: filter
with:
filters: |
tauri-plugin-app:
- .github/workflows/test-rust.yml
- plugins/app/**
tauri-plugin-authenticator:
- .github/workflows/test-rust.yml
- plugins/authenticator/**
@@ -118,9 +115,6 @@ jobs:
tauri-plugin-websocket:
- .github/workflows/test-rust.yml
- plugins/websocket/**
tauri-plugin-window:
- .github/workflows/test-rust.yml
- plugins/window/**
tauri-plugin-window-state:
- .github/workflows/test-rust.yml
- plugins/window-state/**
@@ -136,31 +130,31 @@ jobs:
- {
target: x86_64-pc-windows-msvc,
os: windows-latest,
cross: false,
runner: 'cargo',
command: "test",
}
- {
target: x86_64-unknown-linux-gnu,
os: ubuntu-latest,
cross: false,
runner: 'cargo',
command: "test",
}
- {
target: x86_64-apple-darwin,
os: macos-latest,
cross: false,
runner: 'cargo',
command: "test",
}
- {
target: aarch64-apple-ios,
os: macos-latest,
cross: false,
runner: 'cargo',
command: "build",
}
- {
target: aarch64-linux-android,
os: ubuntu-latest,
cross: true,
runner: 'cross',
command: "build",
}
@@ -181,51 +175,38 @@ jobs:
echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append
vcpkg install openssl:x64-windows-static-md
- uses: dtolnay/rust-toolchain@1.65.0
- uses: dtolnay/rust-toolchain@1.70.0
with:
targets: ${{ matrix.platform.target }}
- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.package }}
key: cache-${{ matrix.package }}-${{ matrix.platform.target }}
- name: create dummy dist
working-directory: examples/api
run: mkdir dist
- name: Downgrade crates with MSRV conflict
# The --precise flag can only be used once per invocation.
run: |
cargo update -p time@0.3.24 --precise 0.3.23
- name: install cross
if: ${{ matrix.platform.runner == 'cross' }}
run: cargo install cross --git https://github.com/cross-rs/cross
- name: test ${{ matrix.package }}
if: matrix.package != 'tauri-plugin-sql'
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.platform.cross }}
command: ${{ matrix.platform.command }}
args: --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets
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 }} --all-features
if: ${{ !contains(fromJSON('["tauri-plugin-http", "tauri-plugin-upload", "tauri-plugin-updater", "tauri-plugin-websocket", "tauri-plugin-sql"]'), matrix.package) }}
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.platform.cross }}
command: ${{ matrix.platform.command }}
args: --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'
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.platform.cross }}
command: ${{ matrix.platform.command }}
args: --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --features mysql
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --features mysql
- name: test ${{ matrix.package }} postgres
if: matrix.package == 'tauri-plugin-sql'
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.platform.cross }}
command: ${{ matrix.platform.command }}
args: --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --features postgres
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --features postgres
+1
View File
@@ -7,4 +7,5 @@ Cargo.lock
.build
build
api-iife.js
init-iife.js
intermediates/
+1
View File
@@ -21,6 +21,7 @@ const ignore = [
"dist-js",
".svelte-kit",
"api-iife.js",
"init-iife.js",
".build",
];
Generated
+1440 -1109
View File
File diff suppressed because it is too large Load Diff
+11 -5
View File
@@ -1,20 +1,26 @@
[workspace]
members = ["plugins/*", "plugins/*/tests/*", "plugins/*/examples/*/src-tauri", "examples/*/src-tauri"]
members = [
"plugins/*",
"plugins/*/tests/*",
"plugins/*/examples/*/src-tauri",
"examples/*/src-tauri",
]
resolver = "2"
[workspace.dependencies]
serde = { version = "1", features = ["derive"] }
log = "0.4"
tauri = "2.0.0-alpha.12"
tauri-build = "2.0.0-alpha.8"
tauri = "2.0.0-alpha.20"
tauri-build = "2.0.0-alpha.13"
serde_json = "1"
thiserror = "1"
url = "2"
[workspace.package]
edition = "2021"
authors = [ "Tauri Programme within The Commons Conservancy" ]
authors = ["Tauri Programme within The Commons Conservancy"]
license = "Apache-2.0 OR MIT"
rust-version = "1.65"
rust-version = "1.70"
# default to small, optimized release binaries
[profile.release]
+17 -1
View File
@@ -16,4 +16,20 @@
| [websocket](plugins/websocket) | Open a WebSocket connection using a Rust client in JS. | ✅ | ✅ | ✅ | ? | ? |
| [window-state](plugins/window-state) | Persist window sizes and positions. | ✅ | ✅ | ✅ | ? | ? |
_This repo and all plugins require a Rust version of at least **1.65**_
_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).
+74
View File
@@ -1,5 +1,79 @@
# Changelog
## \[2.0.0-alpha.7]
### Dependencies
- Upgraded to `barcode-scanner-js@2.0.0-alpha.4`
- Upgraded to `cli-js@2.0.0-alpha.5`
- Upgraded to `clipboard-manager-js@2.0.0-alpha.5`
- Upgraded to `dialog-js@2.0.0-alpha.5`
- Upgraded to `fs-js@2.0.0-alpha.5`
- Upgraded to `global-shortcut-js@2.0.0-alpha.5`
- Upgraded to `http-js@2.0.0-alpha.5`
- Upgraded to `log-js@2.0.0-alpha.5`
- Upgraded to `notification-js@2.0.0-alpha.5`
- Upgraded to `os-js@2.0.0-alpha.6`
- Upgraded to `process-js@2.0.0-alpha.5`
- Upgraded to `shell-js@2.0.0-alpha.5`
- Upgraded to `updater-js@2.0.0-alpha.5`
- Upgraded to `biometric-js@2.0.0-alpha.0`
- Upgraded to `nfc-js@2.0.0-alpha.0`
## \[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
- Upgraded to `barcode-scanner-js@2.0.0-alpha.1`
- Upgraded to `cli-js@2.0.0-alpha.2`
- Upgraded to `clipboard-manager-js@2.0.0-alpha.2`
- Upgraded to `dialog-js@2.0.0-alpha.2`
- Upgraded to `fs-js@2.0.0-alpha.2`
- Upgraded to `global-shortcut-js@2.0.0-alpha.2`
- Upgraded to `http-js@2.0.0-alpha.2`
- Upgraded to `log-js@2.0.0-alpha.2`
- Upgraded to `notification-js@2.0.0-alpha.2`
- Upgraded to `os-js@2.0.0-alpha.3`
- Upgraded to `process-js@2.0.0-alpha.2`
- Upgraded to `shell-js@2.0.0-alpha.2`
- Upgraded to `updater-js@2.0.0-alpha.2`
## \[2.0.0-alpha.3]
### Dependencies
+25 -25
View File
@@ -1,7 +1,7 @@
{
"name": "svelte-app",
"private": true,
"version": "2.0.0-alpha.3",
"version": "2.0.0-alpha.7",
"type": "module",
"scripts": {
"dev": "vite --clearScreen false",
@@ -9,32 +9,32 @@
"serve": "vite preview"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.8",
"@tauri-apps/plugin-app": "2.0.0-alpha.1",
"@tauri-apps/plugin-barcode-scanner": "2.0.0-alpha.0",
"@tauri-apps/plugin-cli": "2.0.0-alpha.1",
"@tauri-apps/plugin-clipboard-manager": "2.0.0-alpha.1",
"@tauri-apps/plugin-dialog": "2.0.0-alpha.1",
"@tauri-apps/plugin-fs": "2.0.0-alpha.1",
"@tauri-apps/plugin-global-shortcut": "2.0.0-alpha.1",
"@tauri-apps/plugin-http": "2.0.0-alpha.1",
"@tauri-apps/plugin-notification": "2.0.0-alpha.1",
"@tauri-apps/plugin-os": "2.0.0-alpha.2",
"@tauri-apps/plugin-process": "2.0.0-alpha.1",
"@tauri-apps/plugin-shell": "2.0.0-alpha.1",
"@tauri-apps/plugin-updater": "2.0.0-alpha.1",
"@tauri-apps/plugin-window": "2.0.0-alpha.1",
"@zerodevx/svelte-json-view": "1.0.5"
"@tauri-apps/api": "2.0.0-alpha.13",
"@tauri-apps/plugin-barcode-scanner": "2.0.0-alpha.4",
"@tauri-apps/plugin-biometric": "2.0.0-alpha.0",
"@tauri-apps/plugin-cli": "2.0.0-alpha.5",
"@tauri-apps/plugin-clipboard-manager": "2.0.0-alpha.5",
"@tauri-apps/plugin-dialog": "2.0.0-alpha.5",
"@tauri-apps/plugin-fs": "2.0.0-alpha.5",
"@tauri-apps/plugin-global-shortcut": "2.0.0-alpha.5",
"@tauri-apps/plugin-http": "2.0.0-alpha.5",
"@tauri-apps/plugin-nfc": "2.0.0-alpha.0",
"@tauri-apps/plugin-notification": "2.0.0-alpha.5",
"@tauri-apps/plugin-os": "2.0.0-alpha.6",
"@tauri-apps/plugin-process": "2.0.0-alpha.5",
"@tauri-apps/plugin-shell": "2.0.0-alpha.5",
"@tauri-apps/plugin-updater": "2.0.0-alpha.5",
"@zerodevx/svelte-json-view": "1.0.7"
},
"devDependencies": {
"@iconify-json/codicon": "^1.1.26",
"@iconify-json/ph": "^1.1.5",
"@sveltejs/vite-plugin-svelte": "^2.4.1",
"@tauri-apps/cli": "2.0.0-alpha.14",
"@unocss/extractor-svelte": "^0.53.1",
"@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.20",
"@unocss/extractor-svelte": "^0.58.0",
"internal-ip": "^8.0.0",
"svelte": "^3.59.1",
"unocss": "^0.53.1",
"vite": "^4.3.9"
"svelte": "^4.2.8",
"unocss": "^0.58.0",
"vite": "^5.0.6"
}
}
+74
View File
@@ -1,5 +1,79 @@
# Changelog
## \[2.0.0-alpha.9]
### Dependencies
- Upgraded to `barcode-scanner@2.0.0-alpha.4`
- Upgraded to `cli@2.0.0-alpha.6`
- Upgraded to `clipboard-manager@2.0.0-alpha.6`
- Upgraded to `dialog@2.0.0-alpha.6`
- Upgraded to `fs@2.0.0-alpha.6`
- Upgraded to `global-shortcut@2.0.0-alpha.6`
- Upgraded to `http@2.0.0-alpha.7`
- Upgraded to `log-plugin@2.0.0-alpha.6`
- Upgraded to `notification@2.0.0-alpha.7`
- Upgraded to `os@2.0.0-alpha.6`
- Upgraded to `process@2.0.0-alpha.6`
- Upgraded to `shell@2.0.0-alpha.6`
- Upgraded to `updater@2.0.0-alpha.6`
- Upgraded to `biometric@2.0.0-alpha.0`
- Upgraded to `nfc@2.0.0-alpha.0`
## \[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
- Upgraded to `log-plugin@2.0.0-alpha.3`
- Upgraded to `shell@2.0.0-alpha.3`
- Upgraded to `dialog@2.0.0-alpha.3`
- Upgraded to `notification@2.0.0-alpha.4`
- Upgraded to `updater@2.0.0-alpha.3`
- Upgraded to `global-shortcut@2.0.0-alpha.3`
- Upgraded to `barcode-scanner@2.0.0-alpha.1`
- Upgraded to `cli@2.0.0-alpha.3`
- Upgraded to `clipboard-manager@2.0.0-alpha.3`
- Upgraded to `fs@2.0.0-alpha.3`
- Upgraded to `http@2.0.0-alpha.4`
- Upgraded to `os@2.0.0-alpha.3`
- Upgraded to `process@2.0.0-alpha.3`
## \[2.0.0-alpha.5]
### Dependencies
+17 -16
View File
@@ -1,13 +1,14 @@
[package]
name = "api"
publish = false
version = "2.0.0-alpha.5"
version = "2.0.0-alpha.9"
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,17 +19,15 @@ serde_json = { workspace = true }
serde = { workspace = true }
tiny_http = "0.11"
log = { workspace = true }
tauri-plugin-app = { path = "../../../plugins/app", version = "2.0.0-alpha.2" }
tauri-plugin-log = { path = "../../../plugins/log", version = "2.0.0-alpha.2" }
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-alpha.2" }
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.0.0-alpha.2" }
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-alpha.2" }
tauri-plugin-http = { path = "../../../plugins/http", features = [ "multipart" ], version = "2.0.0-alpha.3" }
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-alpha.3", features = [ "windows7-compat" ] }
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.0-alpha.2" }
tauri-plugin-process = { path = "../../../plugins/process", version = "2.0.0-alpha.2" }
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-alpha.2" }
tauri-plugin-window = { path = "../../../plugins/window", version = "2.0.0-alpha.2", features = [ "devtools", "icon-ico", "icon-png" ] }
tauri-plugin-log = { path = "../../../plugins/log", version = "2.0.0-alpha.6" }
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-alpha.6" }
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.0.0-alpha.6" }
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-alpha.6" }
tauri-plugin-http = { path = "../../../plugins/http", features = [ "multipart" ], version = "2.0.0-alpha.7" }
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-alpha.7", features = [ "windows7-compat" ] }
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.0-alpha.6" }
tauri-plugin-process = { path = "../../../plugins/process", version = "2.0.0-alpha.6" }
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-alpha.6" }
[dependencies.tauri]
workspace = true
@@ -42,12 +41,14 @@ tauri-plugin-window = { path = "../../../plugins/window", version = "2.0.0-alpha
]
[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.2" }
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.0.0-alpha.2" }
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-alpha.2" }
tauri-plugin-cli = { path = "../../../plugins/cli", version = "2.0.0-alpha.6" }
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.0.0-alpha.6" }
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-alpha.6" }
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-alpha.0" }
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-alpha.4" }
tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.0.0-alpha.0" }
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.0.0-alpha.0" }
[target."cfg(target_os = \"windows\")".dependencies]
window-shadows = "0.2"
+3
View File
@@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
</component>
</project>
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="jbr-17" />
<option name="modules">
<set>
<option value="$USER_HOME$/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-2.0.0-alpha.17/mobile/android" />
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/buildSrc" />
<option value="$PROJECT_DIR$/../../../../../plugins/barcode-scanner/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/biometric/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/clipboard-manager/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/dialog/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/nfc/android" />
<option value="$PROJECT_DIR$/../../../../../plugins/notification/android" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenRepo" />
<option name="name" value="MavenRepo" />
<option name="url" value="https://repo.maven.apache.org/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="Google" />
<option name="name" value="Google" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
</component>
</project>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.8.10" />
</component>
</project>
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../../../../.." vcs="Git" />
</component>
</project>
@@ -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"
@@ -16,6 +17,26 @@
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- NFC PLUGIN. AUTO-GENERATED. DO NOT REMOVE. -->
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter" />
<!-- NFC PLUGIN. AUTO-GENERATED. DO NOT REMOVE. -->
</activity>
<provider
@@ -32,7 +32,7 @@ open class BuildTask : DefaultTask() {
val rootDirRel = rootDirRel ?: throw GradleException("rootDirRel cannot be null")
val target = target ?: throw GradleException("target cannot be null")
val release = release ?: throw GradleException("release cannot be null")
val args = listOf("/Users/lucas/projects/tauri/plugins-workspace/examples/api/./node_modules/.bin/../../../../node_modules/.pnpm/@tauri-apps+cli@2.0.0-alpha.14/node_modules/@tauri-apps/cli/tauri.js", "android", "android-studio-script");
val args = listOf("../node_modules/.bin/../@tauri-apps/cli/tauri.js", "android", "android-studio-script");
project.exec {
workingDir(File(project.projectDir, rootDirRel))
@@ -234,7 +234,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "node /Users/lucas/projects/tauri/plugins-workspace/examples/api/./node_modules/.bin/../../../../node_modules/.pnpm/@tauri-apps+cli@2.0.0-alpha.14/node_modules/@tauri-apps/cli/tauri.js ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths \"${FRAMEWORK_SEARCH_PATHS:?}\" --header-search-paths \"${HEADER_SEARCH_PATHS:?}\" --gcc-preprocessor-definitions \"${GCC_PREPROCESSOR_DEFINITIONS:-}\" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}";
shellScript = "node ../../../node_modules/.bin/../@tauri-apps/cli/tauri.js ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths \"${FRAMEWORK_SEARCH_PATHS:?}\" --header-search-paths \"${HEADER_SEARCH_PATHS:?}\" --gcc-preprocessor-definitions \"${GCC_PREPROCESSOR_DEFINITIONS:-}\" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}";
};
/* End PBXShellScriptBuildPhase section */
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1200"
version = "1.7">
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
runPostActionsOnFailure = "NO">
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
@@ -16,7 +15,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "54DC6E273C78071F3BA12EF3"
BuildableName = "api_iOS.app"
BuildableName = "Tauri API.app"
BlueprintName = "api_iOS"
ReferencedContainer = "container:api.xcodeproj">
</BuildableReference>
@@ -27,21 +26,16 @@
buildConfiguration = "debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "NO"
onlyGenerateCoverageForSpecifiedTargets = "NO">
shouldUseLaunchSchemeArgsEnv = "NO">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "54DC6E273C78071F3BA12EF3"
BuildableName = "api_iOS.app"
BuildableName = "Tauri API.app"
BlueprintName = "api_iOS"
ReferencedContainer = "container:api.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
</Testables>
<CommandLineArguments>
</CommandLineArguments>
<EnvironmentVariables>
<EnvironmentVariable
key = "RUST_BACKTRACE"
@@ -54,6 +48,8 @@
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "debug"
@@ -70,13 +66,11 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "54DC6E273C78071F3BA12EF3"
BuildableName = "api_iOS.app"
BuildableName = "Tauri API.app"
BlueprintName = "api_iOS"
ReferencedContainer = "container:api.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
</CommandLineArguments>
<EnvironmentVariables>
<EnvironmentVariable
key = "RUST_BACKTRACE"
@@ -101,13 +95,11 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "54DC6E273C78071F3BA12EF3"
BuildableName = "api_iOS.app"
BuildableName = "Tauri API.app"
BlueprintName = "api_iOS"
ReferencedContainer = "container:api.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
</CommandLineArguments>
<EnvironmentVariables>
<EnvironmentVariable
key = "RUST_BACKTRACE"
@@ -2,6 +2,10 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NFCReaderUsageDescription</key>
<string>NFC Test</string>
<key>NSCameraUsageDescription</key>
<string>Request camera access for barcode scanner</string>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
@@ -40,7 +44,7 @@
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>NSCameraUsageDescription</key>
<string>To be able to scan barcodes</string>
<key>NSFaceIDUsageDescription</key>
<string>Biometric Test</string>
</dict>
</plist>
@@ -1,5 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
<dict>
<key>com.apple.developer.nfc.readersession.formats</key>
<array>
<string>TAG</string>
<string>NDEF</string>
</array>
</dict>
</plist>
+1 -5
View File
@@ -1,7 +1,3 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: api
options:
bundleIdPrefix: com.tauri
@@ -84,7 +80,7 @@ targets:
- sdk: UIKit.framework
- sdk: WebKit.framework
preBuildScripts:
- script: node /Users/lucas/projects/tauri/plugins-workspace/examples/api/./node_modules/.bin/../../../../node_modules/.pnpm/@tauri-apps+cli@2.0.0-alpha.14/node_modules/@tauri-apps/cli/tauri.js ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths "${FRAMEWORK_SEARCH_PATHS:?}" --header-search-paths "${HEADER_SEARCH_PATHS:?}" --gcc-preprocessor-definitions "${GCC_PREPROCESSOR_DEFINITIONS:-}" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}
- script: node ../../../node_modules/.bin/../@tauri-apps/cli/tauri.js ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths "${FRAMEWORK_SEARCH_PATHS:?}" --header-search-paths "${HEADER_SEARCH_PATHS:?}" --gcc-preprocessor-definitions "${GCC_PREPROCESSOR_DEFINITIONS:-}" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}
name: Build Rust Code
basedOnDependencyAnalysis: false
outputFiles:
+3 -8
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 {
@@ -31,7 +26,6 @@ pub fn run() {
.level(log::LevelFilter::Info)
.build(),
)
.plugin(tauri_plugin_app::init())
.plugin(tauri_plugin_fs::init())
.plugin(tauri_plugin_clipboard_manager::init())
.plugin(tauri_plugin_dialog::init())
@@ -40,7 +34,6 @@ pub fn run() {
.plugin(tauri_plugin_os::init())
.plugin(tauri_plugin_process::init())
.plugin(tauri_plugin_shell::init())
.plugin(tauri_plugin_window::init())
.setup(move |app| {
#[cfg(desktop)]
{
@@ -54,6 +47,8 @@ pub fn run() {
#[cfg(mobile)]
{
app.handle().plugin(tauri_plugin_barcode_scanner::init())?;
app.handle().plugin(tauri_plugin_nfc::init())?;
app.handle().plugin(tauri_plugin_biometric::init())?;
}
let mut window_builder = WindowBuilder::new(app, "main", WindowUrl::default());
+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();
}
+1 -1
View File
@@ -101,7 +101,7 @@ pub fn create_tray<R: Runtime>(app: &tauri::AppHandle<R>) -> tauri::Result<()> {
_ => {}
})
.on_tray_event(|tray, event| {
.on_tray_icon_event(|tray, event| {
if event.click_type == ClickType::Left {
let app = tray.app_handle();
if let Some(window) = app.get_window("main") {
+27 -22
View File
@@ -1,7 +1,7 @@
<script>
import { writable } from "svelte/store";
import { open } from "@tauri-apps/plugin-shell";
import { getCurrent } from "@tauri-apps/plugin-window";
import { getCurrent } from "@tauri-apps/api/window";
import * as os from "@tauri-apps/plugin-os";
import Welcome from "./views/Welcome.svelte";
@@ -11,17 +11,17 @@
import FileSystem from "./views/FileSystem.svelte";
import Http from "./views/Http.svelte";
import Notifications from "./views/Notifications.svelte";
import Window from "./views/Window.svelte";
import Shortcuts from "./views/Shortcuts.svelte";
import Shell from "./views/Shell.svelte";
import Updater from "./views/Updater.svelte";
import Clipboard from "./views/Clipboard.svelte";
import WebRTC from "./views/WebRTC.svelte";
import Scanner from "./views/Scanner.svelte";
import App from "./views/App.svelte";
import Biometric from "./views/Biometric.svelte";
import { onMount } from "svelte";
import { onMount, tick } from "svelte";
import { ask } from "@tauri-apps/plugin-dialog";
import Nfc from "./views/Nfc.svelte";
const appWindow = getCurrent();
@@ -74,21 +74,11 @@
component: Http,
icon: "i-ph-globe-hemisphere-west",
},
!isMobile && {
{
label: "Notifications",
component: Notifications,
icon: "i-codicon-bell-dot",
},
!isMobile && {
label: "App",
component: App,
icon: "i-codicon-hubot",
},
!isMobile && {
label: "Window",
component: Window,
icon: "i-codicon-window",
},
!isMobile && {
label: "Shortcuts",
component: Shortcuts,
@@ -104,7 +94,7 @@
component: Updater,
icon: "i-codicon-cloud-download",
},
!isMobile && {
{
label: "Clipboard",
component: Clipboard,
icon: "i-codicon-clippy",
@@ -119,6 +109,16 @@
component: Scanner,
icon: "i-ph-scan",
},
isMobile && {
label: "NFC",
component: Nfc,
icon: "i-ph-nfc",
},
isMobile && {
label: "Biometric",
component: Biometric,
icon: "i-ph-scan",
},
];
let selected = views[0];
@@ -178,30 +178,35 @@
// Console
let messages = writable([]);
function onMessage(value) {
let consoleTextEl;
async function onMessage(value) {
messages.update((r) => [
...r,
{
html:
`<pre><strong class="text-accent dark:text-darkAccent">[${new Date().toLocaleTimeString()}]:</strong> ` +
(typeof value === "string" ? value : JSON.stringify(value, null, 1)) +
"</pre>",
},
...r,
]);
await tick();
if (consoleTextEl) consoleTextEl.scrollTop = consoleTextEl.scrollHeight;
}
// this function is renders HTML without sanitizing it so it's insecure
// we only use it with our own input data
function insecureRenderHtml(html) {
async function insecureRenderHtml(html) {
messages.update((r) => [
...r,
{
html:
`<pre><strong class="text-accent dark:text-darkAccent">[${new Date().toLocaleTimeString()}]:</strong> ` +
html +
"</pre>",
},
...r,
]);
await tick();
if (consoleTextEl) consoleTextEl.scrollTop = consoleTextEl.scrollHeight;
}
function clear() {
@@ -233,7 +238,7 @@
let isWindows;
onMount(async () => {
isWindows = (await os.platform()) === "win32";
isWindows = (await os.platform()) === "windows";
});
// mobile
@@ -486,7 +491,7 @@
<div class="i-codicon-clear-all" />
</div>
</div>
<div class="px-2 overflow-y-auto all:font-mono code-block all:text-xs">
<div bind:this={consoleTextEl} class="px-2 overflow-y-auto all:font-mono code-block all:text-xs select-text mr-2">
{#each $messages as r}
{@html r.html}
{/each}
-33
View File
@@ -1,33 +0,0 @@
<script>
import { show, hide } from "@tauri-apps/plugin-app";
export let onMessage;
function showApp() {
hideApp()
.then(() => {
setTimeout(() => {
show()
.then(() => onMessage("Shown app"))
.catch(onMessage);
}, 2000);
})
.catch(onMessage);
}
function hideApp() {
return hide()
.then(() => onMessage("Hide app"))
.catch(onMessage);
}
</script>
<div>
<button
class="btn"
id="show"
title="Hides and shows the app after 2 seconds"
on:click={showApp}>Show</button
>
<button class="btn" id="hide" on:click={hideApp}>Hide</button>
</div>
+30
View File
@@ -0,0 +1,30 @@
<script>
import { authenticate } from "@tauri-apps/plugin-biometric";
export let onMessage;
let allowDeviceCredential = true;
function auth() {
authenticate("Tauri API wants to show it is awesome :)", {
allowDeviceCredential,
cancelTitle: "Cancel request",
fallbackTitle: "Trying the fallback option",
title: "Tauri API Auth",
subtitle: "Please authenticate :)",
confirmationRequired: false,
maxAttemps: 1,
})
.then(onMessage)
.catch(onMessage);
}
</script>
<div>
<input
type="checkbox"
id="dllowDeviceCredential"
bind:checked={allowDeviceCredential}
/>
<label for="allowDeviceCredentiale">Allow device credential</label>
</div>
<button class="btn" id="cli-matches" on:click={auth}> Authenticate </button>
+2 -2
View File
@@ -1,6 +1,6 @@
<script>
import { getCurrent } from "@tauri-apps/plugin-window";
import { invoke } from "@tauri-apps/api/tauri";
import { getCurrent } from "@tauri-apps/api/window";
import { invoke } from "@tauri-apps/api/core";
import { onMount, onDestroy } from "svelte";
const appWindow = getCurrent();
+2 -2
View File
@@ -1,6 +1,6 @@
<script>
import { open, save, confirm } from "@tauri-apps/plugin-dialog";
import { readBinaryFile } from "@tauri-apps/plugin-fs";
import { readFile } from "@tauri-apps/plugin-fs";
export let onMessage;
export let insecureRenderHtml;
@@ -55,7 +55,7 @@
} else {
var pathToRead = typeof res === "string" ? res : res.path;
var isFile = pathToRead.match(/\S+\.\S+$/g);
readBinaryFile(pathToRead)
readFile(pathToRead)
.then(function (response) {
if (isFile) {
if (
+124 -48
View File
@@ -1,17 +1,14 @@
<script>
import {
readBinaryFile,
writeTextFile,
readDir,
Dir,
} from "@tauri-apps/plugin-fs";
import { convertFileSrc } from "@tauri-apps/api/tauri";
import * as fs from "@tauri-apps/plugin-fs";
import { convertFileSrc } from "@tauri-apps/api/core";
export let onMessage;
export let insecureRenderHtml;
let pathToRead = "";
let path = "";
let img;
let file;
let renameTo;
function getDir() {
const dirSelect = document.getElementById("dir");
@@ -30,56 +27,123 @@
reader.readAsDataURL(blob);
}
const DirOptions = Object.keys(Dir)
const DirOptions = Object.keys(fs.BaseDirectory)
.filter((key) => isNaN(parseInt(key)))
.map((dir) => [dir, Dir[dir]]);
.map((dir) => [dir, fs.BaseDirectory[dir]]);
function open() {
fs.open(path, {
baseDir: getDir(),
read: true,
write: true,
create: true,
})
.then((f) => {
file = f;
onMessage(`Opened ${path}`);
})
.catch(onMessage);
}
function mkdir() {
fs.mkdir(path, { baseDir: getDir() })
.then(() => {
onMessage(`Created dir ${path}`);
})
.catch(onMessage);
}
function remove() {
fs.remove(path, { baseDir: getDir() })
.then(() => {
onMessage(`Removed ${path}`);
})
.catch(onMessage);
}
function rename() {
fs.rename(path, renameTo, {
oldPathBaseDir: getDir(),
newPathBaseDir: getDir(),
})
.then(() => {
onMessage(`Renamed ${path} to ${renameTo}`);
})
.catch(onMessage);
}
function truncate() {
file
.truncate(0)
.then(() => {
onMessage(`Truncated file`);
})
.catch(onMessage);
}
function stat() {
file
.stat()
.then((stat) => {
onMessage(`File stat ${JSON.stringify(stat)}`);
})
.catch(onMessage);
}
function read() {
const isFile = pathToRead.match(/\S+\.\S+$/g);
const opts = {
dir: getDir(),
baseDir: getDir(),
};
const promise = isFile
? readBinaryFile(pathToRead, opts)
: readDir(pathToRead, opts);
promise
.then(function (response) {
if (isFile) {
if (pathToRead.includes(".png") || pathToRead.includes(".jpg")) {
arrayBufferToBase64(new Uint8Array(response), function (base64) {
const src = "data:image/png;base64," + base64;
insecureRenderHtml('<img src="' + src + '"></img>');
});
} else {
const value = String.fromCharCode.apply(null, response);
insecureRenderHtml(
'<textarea id="file-response"></textarea><button id="file-save">Save</button>'
);
setTimeout(() => {
const fileInput = document.getElementById("file-response");
fileInput.value = value;
document
.getElementById("file-save")
.addEventListener("click", function () {
writeTextFile(pathToRead, fileInput.value, {
dir: getDir(),
}).catch(onMessage);
fs.stat(path, opts)
.then((stat) => {
const isFile = stat.isFile;
const promise = isFile
? fs.readFile(path, opts)
: fs.readDir(path, opts);
promise
.then(function (response) {
if (isFile) {
if (path.includes(".png") || path.includes(".jpg")) {
arrayBufferToBase64(
new Uint8Array(response),
function (base64) {
const src = "data:image/png;base64," + base64;
insecureRenderHtml('<img src="' + src + '"></img>');
}
);
} else {
const value = String.fromCharCode.apply(null, response);
insecureRenderHtml(
'<textarea id="file-response"></textarea><button id="file-save">Save</button>'
);
setTimeout(() => {
const fileInput = document.getElementById("file-response");
fileInput.value = value;
document
.getElementById("file-save")
.addEventListener("click", function () {
fs.writeTextFile(path, fileInput.value, {
dir: getDir(),
}).catch(onMessage);
});
});
});
}
} else {
onMessage(response);
}
}
} else {
onMessage(response);
}
})
.catch(onMessage);
})
.catch(onMessage);
}
function setSrc() {
img.src = convertFileSrc(pathToRead);
img.src = convertFileSrc(path);
}
</script>
<form class="flex flex-col" on:submit|preventDefault={read}>
<div class="flex flex-col">
<div class="flex gap-1">
<select class="input" id="dir">
<option value="">None</option>
@@ -89,17 +153,29 @@
</select>
<input
class="input grow"
id="path-to-read"
placeholder="Type the path to read..."
bind:value={pathToRead}
bind:value={path}
/>
</div>
<br />
<div>
<button class="btn" id="read">Read</button>
<button class="btn" on:click={open}>Open</button>
<button class="btn" on:click={read}>Read</button>
<button class="btn" on:click={mkdir}>Mkdir</button>
<button class="btn" on:click={remove}>Remove</button>
<div class="flex flex-row">
<button class="btn" on:click={rename}>Rename</button>
<input class="input" bind:value={renameTo} placeholder="To" />
</div>
<button class="btn" type="button" on:click={setSrc}>Use as img src</button>
</div>
</form>
{#if file}
<div>
<button class="btn" on:click={truncate}>Truncate</button>
<button class="btn" on:click={stat}>Stat</button>
</div>
{/if}
</div>
<br />
+126
View File
@@ -0,0 +1,126 @@
<script>
import { onMount } from "svelte";
import { write, scan, textRecord, uriRecord } from "@tauri-apps/plugin-nfc";
import * as os from "@tauri-apps/plugin-os";
export let onMessage;
const decoder = new TextDecoder();
let kind = "tag";
let writeToNfc = false;
let text = "";
let uri = "";
let scheme = "";
let host = "";
let pathPrefix = "";
let mimeType = "";
let isAndroid;
onMount(async () => {
isAndroid = (await os.platform()) === "android";
});
async function _readNfc() {
onMessage(`NFC scanning ${kind}`);
const tagResponse = await scan(
{
type: kind,
uri: {
scheme: scheme || null,
host: host || null,
pathPrefix: pathPrefix || null,
},
mimeType: mimeType || null,
},
{
keepSessionAlive: writeToNfc,
message: "Hold your iPhone near an NFC tag",
successMessage: "Tag successfully read",
}
);
onMessage({
id: decoder.decode(new Uint8Array(tagResponse.id)),
kind: tagResponse.kind,
records: tagResponse.records.map((record) => ({
id: decoder.decode(new Uint8Array(record.id)),
kind: decoder.decode(new Uint8Array(record.kind)),
payload: decoder.decode(new Uint8Array(record.payload)),
tnf: record.tnf,
})),
});
if (writeToNfc) {
const records = [];
if (text) {
records.push(textRecord(text, "tauriTextId"));
}
if (uri) {
records.push(uriRecord(uri, "tauriUriId"));
}
await write(records, {
successMessage: "Data written to tag",
});
onMessage("Wrote to tag");
}
}
function readNfc() {
_readNfc().catch(onMessage);
}
</script>
<div>
<div class="flex gap-2 children:grow items-center">
<div>
<input type="checkbox" id="nfc-write" bind:checked={writeToNfc} />
<label for="nfc-write">Write data</label>
</div>
<select class="input" id="request-method" bind:value={kind}>
<option value="tag">TAG</option>
<option value="ndef">NDEF</option>
</select>
</div>
{#if isAndroid}
<div class="flex flex-col gap-2 children:grow">
<p>Filters</p>
<div class="flex gap-2">
<input
class="input"
placeholder="Scheme"
style="width: 33%"
bind:value={scheme}
/>
<input
class="input"
placeholder="Host"
style="width: 33%"
bind:value={host}
/>
<input
class="input"
placeholder="Path prefix"
style="width: 33%"
bind:value={pathPrefix}
/>
</div>
<div class="flex gap-2">
<input class="input" placeholder="Mime type" bind:value={mimeType} />
</div>
</div>
{/if}
<div class="flex flex-col gap-2 children:grow">
<p>Write Records</p>
<div class="flex">
<input class="input" placeholder="Text record" bind:value={text} />
<input class="input" placeholder="URI record" bind:value={uri} />
</div>
</div>
<button class="btn" on:click={readNfc}>Scan</button>
</div>
+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>
+1 -1
View File
@@ -1,5 +1,5 @@
<script>
import { getName, getVersion, getTauriVersion } from "@tauri-apps/plugin-app";
import { getName, getVersion, getTauriVersion } from "@tauri-apps/api/app";
import { relaunch, exit } from "@tauri-apps/plugin-process";
let version = "1.0.0";
-615
View File
@@ -1,615 +0,0 @@
<script>
import {
getCurrent,
LogicalSize,
UserAttentionType,
PhysicalSize,
PhysicalPosition,
Effect,
EffectState,
Window
} from "@tauri-apps/plugin-window";
import { open as openDialog } from "@tauri-apps/plugin-dialog";
import { open } from "@tauri-apps/plugin-shell";
const appWindow = getCurrent();
let selectedWindow = appWindow.label;
const windowMap = {
[appWindow.label]: appWindow,
};
const cursorIconOptions = [
"default",
"crosshair",
"hand",
"arrow",
"move",
"text",
"wait",
"help",
"progress",
// something cannot be done
"notAllowed",
"contextMenu",
"cell",
"verticalText",
"alias",
"copy",
"noDrop",
// something can be grabbed
"grab",
/// something is grabbed
"grabbing",
"allScroll",
"zoomIn",
"zoomOut",
// edge is to be moved
"eResize",
"nResize",
"neResize",
"nwResize",
"sResize",
"seResize",
"swResize",
"wResize",
"ewResize",
"nsResize",
"neswResize",
"nwseResize",
"colResize",
"rowResize",
];
const windowsEffects = ["mica", "blur", "acrylic"];
const isWindows = navigator.appVersion.includes("windows");
const isMacOS = navigator.appVersion.includes("macos");
let effectOptions = isWindows
? windowsEffects
: Object.keys(Effect)
.map((effect) => Effect[effect])
.filter((e) => !windowsEffects.includes(e));
const effectStateOptions = Object.keys(EffectState).map(
(state) => EffectState[state]
);
export let onMessage;
const mainEl = document.querySelector("main");
let newWindowLabel;
let urlValue = "https://tauri.app";
let resizable = true;
let maximizable = true;
let minimizable = true;
let closable = true;
let maximized = false;
let decorations = true;
let alwaysOnTop = false;
let contentProtected = true;
let fullscreen = false;
let width = null;
let height = null;
let minWidth = null;
let minHeight = null;
let maxWidth = null;
let maxHeight = null;
let x = null;
let y = null;
let scaleFactor = 1;
let innerPosition = new PhysicalPosition(x, y);
let outerPosition = new PhysicalPosition(x, y);
let innerSize = new PhysicalSize(width, height);
let outerSize = new PhysicalSize(width, height);
let resizeEventUnlisten;
let moveEventUnlisten;
let cursorGrab = false;
let cursorVisible = true;
let cursorX = null;
let cursorY = null;
let cursorIcon = "default";
let cursorIgnoreEvents = false;
let windowTitle = "Awesome Tauri Example!";
let effects = [];
let selectedEffect;
let effectState;
let effectRadius;
let effectR, effectG, effectB, effectA;
function openUrl() {
open(urlValue);
}
function setTitle_() {
windowMap[selectedWindow].setTitle(windowTitle);
}
function hide_() {
windowMap[selectedWindow].hide();
setTimeout(windowMap[selectedWindow].show, 2000);
}
function minimize_() {
windowMap[selectedWindow].minimize();
setTimeout(windowMap[selectedWindow].unminimize, 2000);
}
function getIcon() {
openDialog({
multiple: false,
}).then((path) => {
if (typeof path === "string") {
windowMap[selectedWindow].setIcon(path);
}
});
}
function createWindow() {
if (!newWindowLabel) return;
const webview = new Window(newWindowLabel);
windowMap[newWindowLabel] = webview;
webview.once("tauri://error", function () {
onMessage("Error creating new webview");
});
}
function loadWindowSize() {
windowMap[selectedWindow].innerSize().then((response) => {
innerSize = response;
width = innerSize.width;
height = innerSize.height;
});
windowMap[selectedWindow].outerSize().then((response) => {
outerSize = response;
});
}
function loadWindowPosition() {
windowMap[selectedWindow].innerPosition().then((response) => {
innerPosition = response;
});
windowMap[selectedWindow].outerPosition().then((response) => {
outerPosition = response;
x = outerPosition.x;
y = outerPosition.y;
});
}
async function addWindowEventListeners(window) {
if (!window) return;
if (resizeEventUnlisten) {
resizeEventUnlisten();
}
if (moveEventUnlisten) {
moveEventUnlisten();
}
moveEventUnlisten = await window.listen("tauri://move", loadWindowPosition);
resizeEventUnlisten = await window.listen("tauri://resize", loadWindowSize);
}
async function requestUserAttention_() {
await windowMap[selectedWindow].minimize();
await windowMap[selectedWindow].requestUserAttention(
UserAttentionType.Critical
);
await new Promise((resolve) => setTimeout(resolve, 3000));
await windowMap[selectedWindow].requestUserAttention(null);
}
async function addEffect() {
if (!effects.includes(selectedEffect)) {
effects = [...effects, selectedEffect];
}
const payload = {
effects,
state: effectState,
radius: effectRadius,
};
if (
Number.isInteger(effectR) &&
Number.isInteger(effectG) &&
Number.isInteger(effectB) &&
Number.isInteger(effectA)
) {
payload.color = [effectR, effectG, effectB, effectA];
}
mainEl.classList.remove("bg-primary");
mainEl.classList.remove("dark:bg-darkPrimary");
await windowMap[selectedWindow].clearEffects();
await windowMap[selectedWindow].setEffects(payload);
}
async function clearEffects() {
effects = [];
await windowMap[selectedWindow].clearEffects();
mainEl.classList.add("bg-primary");
mainEl.classList.add("dark:bg-darkPrimary");
}
$: {
windowMap[selectedWindow];
loadWindowPosition();
loadWindowSize();
}
$: windowMap[selectedWindow]?.setResizable(resizable);
$: windowMap[selectedWindow]?.setMaximizable(maximizable);
$: windowMap[selectedWindow]?.setMinimizable(minimizable);
$: windowMap[selectedWindow]?.setClosable(closable);
$: maximized
? windowMap[selectedWindow]?.maximize()
: windowMap[selectedWindow]?.unmaximize();
$: windowMap[selectedWindow]?.setDecorations(decorations);
$: windowMap[selectedWindow]?.setAlwaysOnTop(alwaysOnTop);
$: windowMap[selectedWindow]?.setContentProtected(contentProtected);
$: windowMap[selectedWindow]?.setFullscreen(fullscreen);
$: width &&
height &&
windowMap[selectedWindow]?.setSize(new PhysicalSize(width, height));
$: minWidth && minHeight
? windowMap[selectedWindow]?.setMinSize(
new LogicalSize(minWidth, minHeight)
)
: windowMap[selectedWindow]?.setMinSize(null);
$: maxWidth > 800 && maxHeight > 400
? windowMap[selectedWindow]?.setMaxSize(
new LogicalSize(maxWidth, maxHeight)
)
: windowMap[selectedWindow]?.setMaxSize(null);
$: x !== null &&
y !== null &&
windowMap[selectedWindow]?.setPosition(new PhysicalPosition(x, y));
$: windowMap[selectedWindow]
?.scaleFactor()
.then((factor) => (scaleFactor = factor));
$: addWindowEventListeners(windowMap[selectedWindow]);
$: windowMap[selectedWindow]?.setCursorGrab(cursorGrab);
$: windowMap[selectedWindow]?.setCursorVisible(cursorVisible);
$: windowMap[selectedWindow]?.setCursorIcon(cursorIcon);
$: cursorX !== null &&
cursorY !== null &&
windowMap[selectedWindow]?.setCursorPosition(
new PhysicalPosition(cursorX, cursorY)
);
$: windowMap[selectedWindow]?.setIgnoreCursorEvents(cursorIgnoreEvents);
</script>
<div class="flex flex-col children:grow gap-2">
<div class="flex gap-1">
<input
class="input grow"
type="text"
placeholder="New Window label.."
bind:value={newWindowLabel}
/>
<button class="btn" on:click={createWindow}>New window</button>
</div>
<br />
{#if Object.keys(windowMap).length >= 1}
<span class="font-700 text-sm">Selected window:</span>
<select class="input" bind:value={selectedWindow}>
<option value="" disabled selected>Choose a window...</option>
{#each Object.keys(windowMap) as label}
<option value={label}>{label}</option>
{/each}
</select>
{/if}
{#if windowMap[selectedWindow]}
<br />
<div class="flex flex-wrap gap-2">
<button
class="btn"
title="Unminimizes after 2 seconds"
on:click={() => windowMap[selectedWindow].center()}
>
Center
</button>
<button
class="btn"
title="Unminimizes after 2 seconds"
on:click={minimize_}
>
Minimize
</button>
<button
class="btn"
title="Visible again after 2 seconds"
on:click={hide_}
>
Hide
</button>
<button class="btn" on:click={getIcon}> Change icon </button>
<button
class="btn"
on:click={requestUserAttention_}
title="Minimizes the window, requests attention for 3s and then resets it"
>Request attention</button
>
</div>
<br />
<div class="flex flex-wrap gap-2">
<label>
Maximized
<input type="checkbox" bind:checked={maximized} />
</label>
<label>
Resizable
<input type="checkbox" bind:checked={resizable} />
</label>
<label>
Maximizable
<input type="checkbox" bind:checked={maximizable} />
</label>
<label>
Minimizable
<input type="checkbox" bind:checked={minimizable} />
</label>
<label>
Closable
<input type="checkbox" bind:checked={closable} />
</label>
<label>
Has decorations
<input type="checkbox" bind:checked={decorations} />
</label>
<label>
Always on top
<input type="checkbox" bind:checked={alwaysOnTop} />
</label>
<label>
Content protected
<input type="checkbox" bind:checked={contentProtected} />
</label>
<label>
Fullscreen
<input type="checkbox" bind:checked={fullscreen} />
</label>
</div>
<br />
<div class="flex flex-row gap-2 flex-wrap">
<div class="flex children:grow flex-col">
<div>
X
<input class="input" type="number" bind:value={x} min="0" />
</div>
<div>
Y
<input class="input" type="number" bind:value={y} min="0" />
</div>
</div>
<div class="flex children:grow flex-col">
<div>
Width
<input class="input" type="number" bind:value={width} min="400" />
</div>
<div>
Height
<input class="input" type="number" bind:value={height} min="400" />
</div>
</div>
<div class="flex children:grow flex-col">
<div>
Min width
<input class="input" type="number" bind:value={minWidth} />
</div>
<div>
Min height
<input class="input" type="number" bind:value={minHeight} />
</div>
</div>
<div class="flex children:grow flex-col">
<div>
Max width
<input class="input" type="number" bind:value={maxWidth} min="800" />
</div>
<div>
Max height
<input class="input" type="number" bind:value={maxHeight} min="400" />
</div>
</div>
</div>
<br />
<div>
<div class="flex">
<div class="grow">
<div class="text-accent dark:text-darkAccent font-700">
Inner Size
</div>
<span>Width: {innerSize.width}</span>
<span>Height: {innerSize.height}</span>
</div>
<div class="grow">
<div class="text-accent dark:text-darkAccent font-700">
Outer Size
</div>
<span>Width: {outerSize.width}</span>
<span>Height: {outerSize.height}</span>
</div>
</div>
<div class="flex">
<div class="grow">
<div class="text-accent dark:text-darkAccent font-700">
Inner Logical Size
</div>
<span>Width: {innerSize.toLogical(scaleFactor).width}</span>
<span>Height: {innerSize.toLogical(scaleFactor).height}</span>
</div>
<div class="grow">
<div class="text-accent dark:text-darkAccent font-700">
Outer Logical Size
</div>
<span>Width: {outerSize.toLogical(scaleFactor).width}</span>
<span>Height: {outerSize.toLogical(scaleFactor).height}</span>
</div>
</div>
<div class="flex">
<div class="grow">
<div class="text-accent dark:text-darkAccent font-700">
Inner Position
</div>
<span>x: {innerPosition.x}</span>
<span>y: {innerPosition.y}</span>
</div>
<div class="grow">
<div class="text-accent dark:text-darkAccent font-700">
Outer Position
</div>
<span>x: {outerPosition.x}</span>
<span>y: {outerPosition.y}</span>
</div>
</div>
<div class="flex">
<div class="grow">
<div class="text-accent dark:text-darkAccent font-700">
Inner Logical Position
</div>
<span>x: {innerPosition.toLogical(scaleFactor).x}</span>
<span>y: {innerPosition.toLogical(scaleFactor).y}</span>
</div>
<div class="grow">
<div class="text-accent dark:text-darkAccent font-700">
Outer Logical Position
</div>
<span>x: {outerPosition.toLogical(scaleFactor).x}</span>
<span>y: {outerPosition.toLogical(scaleFactor).y}</span>
</div>
</div>
</div>
<br />
<h4 class="mb-2">Cursor</h4>
<div class="flex gap-2">
<label>
<input type="checkbox" bind:checked={cursorGrab} />
Grab
</label>
<label>
<input type="checkbox" bind:checked={cursorVisible} />
Visible
</label>
<label>
<input type="checkbox" bind:checked={cursorIgnoreEvents} />
Ignore events
</label>
</div>
<div class="flex gap-2">
<label>
Icon
<select class="input" bind:value={cursorIcon}>
{#each cursorIconOptions as kind}
<option value={kind}>{kind}</option>
{/each}
</select>
</label>
<label>
X position
<input class="input" type="number" bind:value={cursorX} />
</label>
<label>
Y position
<input class="input" type="number" bind:value={cursorY} />
</label>
</div>
<br />
<div class="flex flex-col gap-1">
<form class="flex gap-1" on:submit|preventDefault={setTitle_}>
<input class="input grow" id="title" bind:value={windowTitle} />
<button class="btn" type="submit">Set title</button>
</form>
<form class="flex gap-1" on:submit|preventDefault={openUrl}>
<input class="input grow" id="url" bind:value={urlValue} />
<button class="btn" id="open-url"> Open URL </button>
</form>
</div>
<br />
{#if isWindows || isMacOS}
<div class="flex flex-col gap-1">
<div class="flex">
<label>
Effect
<select class="input" bind:value={selectedEffect}>
{#each effectOptions as effect}
<option value={effect}>{effect}</option>
{/each}
</select>
</label>
<label>
State
<select class="input" bind:value={effectState}>
{#each effectStateOptions as state}
<option value={state}>{state}</option>
{/each}
</select>
</label>
<label>
Radius
<input class="input" type="number" bind:value={effectRadius} />
</label>
</div>
<div class="flex">
<label>
Color
<div class="flex">
<input
style="max-width: 120px;"
class="input"
type="number"
placeholder="R"
bind:value={effectR}
/>
<input
style="max-width: 120px;"
class="input"
type="number"
placeholder="G"
bind:value={effectG}
/>
<input
style="max-width: 120px;"
class="input"
type="number"
placeholder="B"
bind:value={effectB}
/>
<input
style="max-width: 120px;"
class="input"
type="number"
placeholder="A"
bind:value={effectA}
/>
</div>
</label>
</div>
<div class="flex">
<button class="btn" style="width: 80px;" on:click={addEffect}
>Add</button
>
</div>
<div class="flex">
<div>
Applied effects: {effects.length ? effects.join(",") : "None"}
</div>
<button class="btn" style="width: 80px;" on:click={clearEffects}
>Clear</button
>
</div>
</div>
{/if}
{/if}
</div>
+23 -16
View File
@@ -6,26 +6,26 @@
"scripts": {
"build": "pnpm run -r --parallel --filter !plugins-workspace --filter !\"./plugins/*/examples/**\" --filter !\"./examples/*\" build",
"lint": "eslint .",
"format": "prettier --write \"./**/*.{cjs,mjs,js,jsx,mts,ts,tsx,html,css,json}\" --ignore-path .prettierignore",
"format-check": "prettier --check \"./**/*.{cjs,mjs,js,jsx,mts,ts,tsx,html,css,json}\" --ignore-path .prettierignore"
"format": "prettier --write \"./**/*.{cjs,mjs,js,jsx,mts,ts,tsx,html,css,json}\" --ignore-path .prettierignore",
"format-check": "prettier --check \"./**/*.{cjs,mjs,js,jsx,mts,ts,tsx,html,css,json}\" --ignore-path .prettierignore"
},
"devDependencies": {
"@rollup/plugin-node-resolve": "15.1.0",
"@rollup/plugin-terser": "0.4.3",
"@rollup/plugin-typescript": "11.1.2",
"@typescript-eslint/eslint-plugin": "6.1.0",
"@typescript-eslint/parser": "6.1.0",
"covector": "^0.10.0",
"eslint": "8.45.0",
"eslint-config-prettier": "8.8.0",
"eslint-config-standard-with-typescript": "36.1.0",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-n": "16.0.1",
"@rollup/plugin-node-resolve": "15.2.3",
"@rollup/plugin-terser": "0.4.4",
"@rollup/plugin-typescript": "11.1.5",
"@typescript-eslint/eslint-plugin": "6.13.2",
"@typescript-eslint/parser": "6.13.2",
"covector": "^0.10.2",
"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.0",
"rollup": "3.26.3",
"typescript": "5.1.6"
"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"
]
}
}
}
-18
View File
@@ -1,18 +0,0 @@
# Changelog
## \[2.0.0-alpha.2]
- [`4e2cef9`](https://github.com/tauri-apps/plugins-workspace/commit/4e2cef9b702bbbb9cf4ee17de50791cb21f1b2a4)([#593](https://github.com/tauri-apps/plugins-workspace/pull/593)) Update to alpha.12.
## \[2.0.0-alpha.1]
- [`d74fc0a`](https://github.com/tauri-apps/plugins-workspace/commit/d74fc0a097996e90a37be8f57d50b7d1f6ca616f)([#555](https://github.com/tauri-apps/plugins-workspace/pull/555)) Update to alpha.11.
## \[2.0.0-alpha.0]
- [`717ae67`](https://github.com/tauri-apps/plugins-workspace/commit/717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
te to alpha.11.
## \[2.0.0-alpha.0]
- [`717ae67`](https://github.com/tauri-apps/plugins-workspace/commit/717ae670978feb4492fac1f295998b93f2b9347f)([#371](https://github.com/tauri-apps/plugins-workspace/pull/371)) First v2 alpha release!
-13
View File
@@ -1,13 +0,0 @@
[package]
name = "tauri-plugin-app"
version = "2.0.0-alpha.2"
description = "APIs to read application metadata and change app visibility on macOS."
edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
[package.metadata.docs.rs]
features = [ "tauri/dox" ]
[dependencies]
tauri = { workspace = true }
-76
View File
@@ -1,76 +0,0 @@
![plugin-app](https://github.com/tauri-apps/plugins-workspace/raw/v2/plugins/app/banner.png)
This plugin provides APIs to read application metadata and macOS app visibility functions.
## Install
_This plugin requires a Rust version of at least **1.65**_
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)
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)
Install the Core plugin by adding the following to your `Cargo.toml` file:
`src-tauri/Cargo.toml`
```toml
[dependencies]
tauri-plugin-app = "2.0.0-alpha"
# alternatively with Git:
tauri-plugin-app = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
```
You can install the JavaScript Guest bindings using your preferred JavaScript package manager:
> Note: Since most JavaScript package managers are unable to install packages from git monorepos we provide read-only mirrors of each plugin. This makes installation option 2 more ergonomic to use.
```sh
pnpm add @tauri-apps/plugin-app
# or
npm add @tauri-apps/plugin-app
# or
yarn add @tauri-apps/plugin-app
# alternatively with Git:
pnpm add https://github.com/tauri-apps/tauri-plugin-app#v2
# or
npm add https://github.com/tauri-apps/tauri-plugin-app#v2
# or
yarn add https://github.com/tauri-apps/tauri-plugin-app#v2
```
## Usage
First you need to register the core plugin with Tauri:
`src-tauri/src/main.rs`
```rust
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_app::init())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
```
Afterwards all the plugin's APIs are available through the JavaScript guest bindings:
```javascript
import { getVersion, hide } from "@tauri-apps/plugin-app";
const appVersion = await getVersion();
await hide();
```
## Contributing
PRs accepted. Please make sure to read the Contributing Guide before making a pull request.
## License
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
MIT or MIT/Apache 2.0 where applicable.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

-90
View File
@@ -1,90 +0,0 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
/**
* Get application metadata.
*
* @module
*/
declare global {
interface Window {
__TAURI_INVOKE__: <T>(cmd: string, args?: unknown) => Promise<T>;
}
}
/**
* Gets the application version.
* @example
* ```typescript
* import { getVersion } from '@tauri-apps/plugin-app';
* const appVersion = await getVersion();
* ```
*
* @since 2.0.0
*/
async function getVersion(): Promise<string> {
return window.__TAURI_INVOKE__("plugin:app|version");
}
/**
* Gets the application name.
* @example
* ```typescript
* import { getName } from '@tauri-apps/plugin-app';
* const appName = await getName();
* ```
*
* @since 2.0.0
*/
async function getName(): Promise<string> {
return window.__TAURI_INVOKE__("plugin:app|name");
}
/**
* Gets the Tauri version.
*
* @example
* ```typescript
* import { getTauriVersion } from '@tauri-apps/plugin-app';
* const tauriVersion = await getTauriVersion();
* ```
*
* @since 2.0.0
*/
async function getTauriVersion(): Promise<string> {
return window.__TAURI_INVOKE__("plugin:app|tauri_version");
}
/**
* Shows the application on macOS. This function does not automatically focus any specific app window.
*
* @example
* ```typescript
* import { show } from '@tauri-apps/plugin-app';
* await show();
* ```
*
* @since 2.0.0
*/
async function show(): Promise<void> {
return window.__TAURI_INVOKE__("plugin:app|show");
}
/**
* Hides the application on macOS.
*
* @example
* ```typescript
* import { hide } from '@tauri-apps/plugin-app';
* await hide();
* ```
*
* @since 2.0.0
*/
async function hide(): Promise<void> {
return window.__TAURI_INVOKE__("plugin:app|hide");
}
export { getName, getVersion, getTauriVersion, show, hide };
-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/],
});

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