Compare commits

...

144 Commits

Author SHA1 Message Date
github-actions[bot] 903361100c Publish New Versions (v2) (#589)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-09-07 00:23:17 -03:00
Lucas Fernandes Nogueira 4e2cef9b70 chore(deps): update to tauri alpha.12 (#593) 2023-09-07 00:11:07 -03:00
Jason Tsai 70e535abd5 fix(window): use button property for data-tauri-drag-region left mouse button detection (#590) 2023-09-04 20:09:23 +03:00
i-c-b 2cb0fa719b fix(http): remove cmd property from http|fetch invoke, closes #587 (#588)
* Remove `cmd` property from `http|fetch` invoke

* Build generated JS file

* Create http-remove-cmd-property.md

* Fix incompatible declaration for reading body

Co-authored-by: Louis Bailleau <Bricklou@users.noreply.github.com>

* Build generated JS file

Co-authored-by: Louis Bailleau <Bricklou@users.noreply.github.com>

---------

Co-authored-by: Louis Bailleau <Bricklou@users.noreply.github.com>
2023-09-04 15:45:41 +03:00
github-actions[bot] 319de692bf Publish New Versions (v2) (#560)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-08-15 10:58:32 -03:00
Lucas Fernandes Nogueira 1a94e73db7 fix(ci): run pnpm install with --no-frozen-lockfile (#562) 2023-08-15 10:54:40 -03:00
Gökçe Merdun e510f2fe4c fix(os): correct typo in OsType (#561)
* fix(window): correct typo in OsType

* change file

* fix fmt check
2023-08-15 03:39:32 +03:00
Lucas Fernandes Nogueira d0c0084859 fix(example): build on macOS (#557) 2023-08-14 15:54:29 -07:00
Lucas Fernandes Nogueira 265dbc02e3 chore(shell): remove outdated todo (#559) 2023-08-14 15:54:17 -07:00
Lucas Fernandes Nogueira aec17a90fc feat(http): improve performance (#558) 2023-08-14 15:53:55 -07:00
Lucas Fernandes Nogueira 12adc1dbec fix(ci): update pnpm lockfile on version bump, fix covector config (#556) 2023-08-14 13:26:28 -07:00
github-actions[bot] 553c87bde0 Publish New Versions (v2) (#423)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-08-14 15:11:44 -03:00
Lucas Fernandes Nogueira d74fc0a097 feat: update to alpha.11 (#555) 2023-08-14 14:51:20 -03:00
Lucas Fernandes Nogueira d5a7c77a8d fix(docs): enable tauri/dox feature on docs.rs build (#545) 2023-08-10 10:23:27 -03:00
Amr Bashir 4ab90f048e feat(updater): refactor and improvements (#431)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-08-07 16:01:21 -03:00
Amr Bashir 84133b57b8 feat(window): refactor and improvements (#426)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-08-07 13:20:17 -03:00
Lucas Fernandes Nogueira 5b3210c224 feat(shell): expand Command APIs (#526)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-08-07 09:38:12 -03:00
Jason Tsai be591d2feb fix(dialog): using AsyncMessageDialog for non linux, closes tauri#7182 (#445) 2023-08-07 09:34:16 -03:00
Amr Bashir 7d9df7297a feat(http): refactor and improvements (#428)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-08-07 08:33:00 -03:00
Lucas Fernandes Nogueira 7f2e2dd5b8 fix(docs): plugin usage examples using wrong package name (#527) 2023-08-02 07:41:14 -03:00
Lorenzo Lewis 6f01bc11ab chore: change readme banners urls (#523)
* set readme banners to absolute url

Signed-off-by: Lorenzo Lewis <lorenzo_lewis@icloud.com>

* Revert "set readme banners to absolute url"

This reverts commit c46b464c69.

* update banners to absolute paths

Signed-off-by: Lorenzo Lewis <lorenzo_lewis@icloud.com>

* Revert "update banners to absolute paths"

This reverts commit c8b8f9309e.

* fix banner paths

Signed-off-by: Lorenzo Lewis <lorenzo_lewis@icloud.com>

* Revert "fix banner paths"

This reverts commit 27edc59b41.

* fix banners...again

Signed-off-by: Lorenzo Lewis <lorenzo_lewis@icloud.com>

---------

Signed-off-by: Lorenzo Lewis <lorenzo_lewis@icloud.com>
2023-07-28 21:29:50 +02:00
Fabian-Lars aba07c27b8 Merge v1 into v2 (#468)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
Co-authored-by: Alexandre Dang <124160233+vdang-crabnebula@users.noreply.github.com>
Co-authored-by: Ludea <ludovicw35@hotmail.com>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Duke Jones <104690+dukejones@users.noreply.github.com>
Co-authored-by: NaokiM03 <37442712+NaokiM03@users.noreply.github.com>
Co-authored-by: Thibault <thibault_poisson@orange.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: David Blythe <49919035+writeDavid@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
fix(stronghold): change wrong argument name for `remove` (#422)
fix(window-state): correctly set decoration state if no saved state exists, fixes #421 (#424)
fix(stronghold): return null if there is no record (#129)
fix(window-state): propagate promise (#435)
closes #432
fix(window-state): manual default implentation (#425)
fix(window-state): manual default implentation, closes #421
fix(deps): update rust crate iota-crypto to 0.21 (#438)
fix readme example (#447)
fix: handle recursive directory correctly (#455)
fix(deps): update rust crate sqlx to 0.7. plugin-sql msrv is now 1.65 (#464)
fix(persisted-scope): separately save asset protocol patterns (#459)
fix(deps): update rust crate iota-crypto to 0.22 (#475)
fix(deps): update tauri monorepo to v1.4.0 (#482)
resolve to v15.1.0 (#489)
fix(deps): update rust crate iota-crypto to 0.23 (#495)
2023-07-19 14:50:43 -03:00
Pretzel Vector 0bba6932c0 fix(fs-js): fix writeBinaryFile invalid command usage (#454)
* write_binary_file -> write_file

* Missing artifact

* Create fs-wiret-binary-file.md

---------
2023-07-10 16:18:37 +03:00
Amr Bashir 52ef0addd8 feat(shell): ensure launched processes are detached (#463)
* feat(shell): ensure launched processes are detached

ref: https://github.com/tauri-apps/tauri/issues/6849

* change file
2023-07-04 14:30:22 +03:00
Simon Hyll 5fd597ddaf docs: added banners and icons (#443)
* added banners and icons

* fix: formatting
2023-06-20 14:55:14 +03:00
Amr Bashir 56d455d343 fix(updater): fix nsis updater unable to launch installers requiring elevation (#444)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-06-19 20:58:14 -03:00
Lucas Fernandes Nogueira a79d6d94bd feat(window): add option to disable controls (#406)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-06-19 11:14:38 -03:00
Lucas Fernandes Nogueira 83abea3cae feat(window): add is_focused API (#407) 2023-06-19 09:46:22 -03:00
Lucas Fernandes Nogueira 0417b7ad60 chore: add missing banners (#442) 2023-06-19 04:30:18 -07:00
Lucas Fernandes Nogueira 1cb831183c feat(updater): backport changes from tauri v1 (#405) 2023-06-18 07:36:39 -03:00
Amr Bashir db7f4f9a41 refactor(os): refactor EOL const (#427)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-06-18 07:35:07 -03:00
Lucas Fernandes Nogueira c8c3191565 feat(window): add setEffects API (#392) 2023-06-18 07:21:27 -03:00
Amr Bashir 2fc420ba37 feat(window): add incognito option (#418)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-06-18 07:19:04 -03:00
Amr Bashir c81dff292a fix(notification): remove default notification sound on Windows (#440) 2023-06-18 07:18:20 -03:00
Lucas Fernandes Nogueira 32c2a441c3 feat: update to 2.0.0-alpha.10 (#441) 2023-06-17 18:54:35 -03:00
Lucas Fernandes Nogueira 9359b5b138 fix(examples): adjust layout for iOS (#439) 2023-06-16 08:05:55 -07:00
Amr Bashir 84b3612393 fix(window-state): port fixes from v1 (#436)
* fix(window-state): correctly set decoration state if no saved state exists, fixes #421 (#424)

* fix(window-state): propagate promise (#435)

closes #432

* fix(window-state): manual default implentation (#425)

* fix(window-state): manual default implentation, closes #421

* Update lib.rs

* change file

* generated files

* fix symlinks?

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-06-13 23:30:39 +03:00
Amr Bashir c73049d3ed fix: remove tsconfig symlink (#429)
* fix: remove tsconfig symlink

* one more tsconfig
2023-06-09 03:17:53 +03:00
Amr Bashir 1091d6d6ac feat(os): refactor and improvemnts (#419) 2023-06-07 08:13:31 -03:00
github-actions[bot] 91ffc01a91 Publish New Versions (v2) (#402)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-06-06 09:31:55 -03:00
Lucas Nogueira 0413ed3ce6 Merge remote-tracking branch 'origin/v1' into v2 2023-06-06 09:24:49 -03:00
Fabian-Lars d8b4aca69f fix(notification): Fix init.js script for use without global tauri object. (#414) 2023-06-04 13:36:49 +02:00
Lucas Fernandes Nogueira cf5864266e chore(window): fix package name on documentation (#408) 2023-05-27 09:20:09 -03:00
Lucas Fernandes Nogueira 0f480d0985 fix(tests): backport updater test fix from tauri (#404) 2023-05-27 04:39:54 -07:00
Ngo Iok Ui (Wu Yu Wei) a7cba0dac7 Merge pull request #401 from tauri-apps/feat/notification-sound
feat(notification): play default sound on Windows
2023-05-25 11:01:16 +08:00
Lucas Nogueira 7906397c64 fix(ci): enable sqlite feature when publishing the sql plugin 2023-05-24 18:14:54 -03:00
Lucas Nogueira 7d71ad4e58 feat(notification): play default sound on WIndows
Ref https://github.com/tauri-apps/tauri/pull/6680
2023-05-24 16:03:50 -03:00
Lucas Nogueira 94b3747a9c fix(covector): move fs up in the packages tree 2023-05-24 12:14:24 -03:00
Lucas Fernandes Nogueira b259baa17e refactor: rename clipboard plugin to clipboard-manager (#400) 2023-05-24 12:06:07 -03:00
Lucas Fernandes Nogueira 26d993cfea chore(plugins): update description field (#399) 2023-05-24 11:11:26 -03:00
Lucas Nogueira 396f493fdb fix(ci): install deps on v2 covector workflow 2023-05-24 10:55:06 -03:00
Lucas Fernandes Nogueira b5aaf5d9dd fix(ci): adjust package-latest-version script (#398) 2023-05-24 10:51:04 -03:00
Lucas Nogueira 43be6c7585 Merge remote-tracking branch 'origin/v1' into v2 2023-05-24 10:42:03 -03:00
github-actions[bot] a2d68e04a1 Publish New Versions (v2) (#374)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-05-24 10:33:37 -03:00
Fabian-Lars 37d65620f1 chore: Add mirror for notification plugin (#397) 2023-05-24 12:36:41 +02:00
Lucas Fernandes Nogueira 9bf98f68e7 chore(api): update @since tag to 2.0.0 (#395) 2023-05-23 23:44:05 -03:00
Lucas Fernandes Nogueira 7e3034904c feat(os): add locale API (#391) 2023-05-23 22:29:57 -03:00
Lucas Fernandes Nogueira 5676e77209 feat: update covector (#393) 2023-05-23 17:36:39 -07:00
Lucas Fernandes Nogueira b131bc8f7c feat(plugins): inject API on window.__TAURI__ (#383) 2023-05-23 14:20:14 -03:00
Lucas Fernandes Nogueira 3c8577bc9a refactor(log): extend target with filter fn and file name, closes #123 (#386) 2023-05-22 15:04:34 -07:00
Simon Hyll a0133cb5b3 fix: exclude debug only function in release mode (#387) 2023-05-22 15:02:06 -03:00
Lucas Fernandes Nogueira f3f92a6ff6 fix(window): change commands to async (#385) 2023-05-21 17:08:39 -03:00
Lucas Fernandes Nogueira 5914fb9f36 chore: add license headers (#384)
* feat: check for license headers

* add headers

* format
2023-05-21 16:56:10 -03:00
Lucas Fernandes Nogueira 95329dded1 chore: add remaining mirrors (#382)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-05-21 11:07:50 -03:00
Lucas Fernandes Nogueira f4069f5588 docs: update README.md and remove allowlist information (#381) 2023-05-20 20:28:27 -03:00
Lucas Fernandes Nogueira d677f73495 feat(ci): test mobile targets (#378) 2023-05-19 09:46:06 -07:00
Lucas Fernandes Nogueira 8bd80eb651 fix(audit): update deps, ignore advisories (#379) 2023-05-19 13:22:30 -03:00
Lucas Fernandes Nogueira fdec66c69f fix: adjust Cargo features to fix android build (#375) 2023-05-19 10:59:26 -03:00
Lucas Fernandes Nogueira ba4ef9a037 feat(ci): add workflow to run covector on v2 (#373) 2023-05-18 11:39:53 -03:00
Lucas Fernandes Nogueira 3c9771e287 feat: update to tauri 2.0.0-alpha.9 (#372) 2023-05-18 11:39:46 -03:00
Lucas Fernandes Nogueira 717ae67097 feat: prepare v2 alpha release (#371) 2023-05-18 10:08:37 -03:00
Amr Bashir b08a45352d ci: smarter tests (#370) 2023-05-18 08:35:37 -03:00
Lucas Fernandes Nogueira ac76abcebd refactor: move fs-watch to fs (#369) 2023-05-17 22:50:45 -03:00
Lucas Fernandes Nogueira b064718f32 feat(ci): also test on Windows and macOS (#366) 2023-05-17 20:53:03 -03:00
Lucas Fernandes Nogueira 22991af9f4 feat(plugins): use @tauri-apps namespace on NPM (#368)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-05-17 20:52:53 -03:00
Lucas Fernandes Nogueira caf8456864 fix: adjust feature flags, wrong zip usage (#367) 2023-05-17 18:47:12 -03:00
Lucas Fernandes Nogueira 7ae7167fbe feat: add init scripts (#361) 2023-05-17 18:25:56 -03:00
Lucas Fernandes Nogueira d87b569643 chore(deps): update tauri and Android project (#360) 2023-05-16 20:39:00 -03:00
Lucas Fernandes Nogueira 702b7b36bd refactor: move deleted tauri APIs, prepare for next release (#355) 2023-05-13 12:32:30 -03:00
Lucas Fernandes Nogueira 937e6a5be6 feat: use tauri next branch, fix tests, MSRV 1.65 (#354) 2023-05-12 17:16:50 -03:00
Lucas Fernandes Nogueira e0e7b4fc71 fix(global-shortcut): update to 0.2.1 to fix macos build (#353) 2023-05-12 09:30:55 -03:00
Lucas Fernandes Nogueira bb26f7d710 feat(window): add plugin (#352) 2023-05-12 07:58:20 -03:00
Lucas Fernandes Nogueira a95fb473a2 feat(updater): add plugin (#350)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-05-11 13:33:24 -03:00
Lucas Fernandes Nogueira 012d32e8ed feat(process): add plugin (#348) 2023-05-09 12:00:44 -03:00
Lucas Fernandes Nogueira 61e7d6ede5 feat(os): add plugin (#346)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-05-08 13:39:54 -03:00
Lucas Fernandes Nogueira bcb42b7343 feat(app): add plugin (#345) 2023-05-08 12:55:50 -03:00
Lucas Fernandes Nogueira 02754f527c refactor(examples): remove dedicated dialog example (#343) 2023-05-06 12:27:53 -03:00
Lucas Fernandes Nogueira 5015132ece feat: add API example (#317) 2023-05-05 09:41:17 -03:00
Lucas Fernandes Nogueira be1c775b8d feat(notification): implement Android and iOS APIs (#340) 2023-05-05 09:22:19 -03:00
FabianLars 1397172e95 chore: Fix shell tests 2023-05-03 09:58:25 +02:00
FabianLars 33d6352550 chore: Fix lint issues 2023-05-03 09:37:48 +02:00
FabianLars 48cb5e349c Merge branch 'v1' into v2 2023-05-03 09:33:41 +02:00
FabianLars b730c34923 Run formatter on new plugins 2023-05-03 09:13:24 +02:00
FabianLars d0be006776 Merge branch 'v1' into v2 2023-05-03 09:12:30 +02:00
FabianLars 4a10f218f0 Merge branch 'dev' into next. Rename next to v2 2023-05-03 09:02:40 +02:00
Lucas Nogueira 4470468d7b Merge branch 'dev' into next 2023-05-02 13:47:10 -03:00
Lucas Nogueira 9244d4ee8f fix(store): adjust load and save implementation 2023-05-02 13:46:56 -03:00
Lucas Nogueira dabacbe644 fix(http): adjust client id argument name on request command usage 2023-05-02 13:40:57 -03:00
Lucas Fernandes Nogueira e9bbe94181 feat(notification): add plugin (#326) 2023-05-02 13:09:50 -03:00
Lucas Fernandes Nogueira 864b9d790f chore(ci): update covector configuration (#335) 2023-05-02 13:01:51 -03:00
FabianLars 04278f1ba6 ci: Add cli and clipboard mirrors 2023-04-26 18:02:08 +02:00
FabianLars 59cb08e902 chore: Adapt readmes to next branch 2023-04-26 18:01:46 +02:00
FabianLars b1b6c34b9c ci: Update mirrors.txt to include new packages 2023-04-26 17:29:45 +02:00
FabianLars e7e925ee32 fix(http): Enable "DOM.Iterable" in typescript 2023-04-26 17:18:13 +02:00
FabianLars 5c9b4ea234 Merge remote-tracking branch 'origin/dev' into next 2023-04-26 17:13:13 +02:00
FabianLars 0b234d5f43 Merge remote-tracking branch 'origin/dev' into next 2023-04-26 16:56:57 +02:00
FabianLars fad6edab71 Merge remote-tracking branch 'origin/dev' into next 2023-04-26 16:56:03 +02:00
Lucas Fernandes Nogueira 8ed00adaa0 feat(shell): add plugin (#327) 2023-04-23 15:39:48 -03:00
Lucas Fernandes Nogueira 89fb40caac feat(http): add plugin (#325) 2023-04-23 15:34:31 -03:00
Lucas Fernandes Nogueira 7a8633f429 feat(dialog): add plugin (#306) 2023-04-18 22:41:12 -03:00
Lucas Nogueira 4d32919f0f fix(clipboard): adjust clip data and response kind types 2023-04-18 22:32:34 -03:00
Amr Bashir 00757a2918 chore(global-shortcut/deps): update to global-hotkey v0.2 2023-04-19 03:21:50 +02:00
Lucas Fernandes Nogueira 4b66ba03a5 feat(global-shortcut): add plugin (#324)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-04-18 22:18:14 -03:00
Lucas Fernandes Nogueira 8cd7d3501b feat(clipboard): add plugin (#323) 2023-04-18 10:19:45 -03:00
Lucas Fernandes Nogueira 4539c03f95 feat(fs): add plugin (#308) 2023-04-16 08:53:19 -03:00
Lucas Fernandes Nogueira 775581d824 feat(template): add mobile projects, build script, fill initial src code (#305) 2023-04-14 15:47:37 -03:00
Lucas Fernandes Nogueira 0fed10fdce feat(cli): add plugin (#304) 2023-04-14 15:31:28 -03:00
Lucas Nogueira 4b229031b7 chore(deps): update Tauri CLI 2023-04-14 08:15:46 -03:00
Lucas Fernandes Nogueira bbdccefa2d chore(deps): update to tauri alpha.8 (#303) 2023-04-14 08:02:48 -03:00
Lucas Fernandes Nogueira 14e4705d55 refactor(log): use NSString instead of SRString on iOS (#302) 2023-04-13 18:27:56 -03:00
Lucas Nogueira 39b144df42 chore(deps): update tauri to 2.0.0-alpha.4, tauri-build to 2.0.0-alpha.2 2023-03-20 09:02:13 -03:00
Lucas Nogueira e53788240c chore(deps): update tauri 2023-03-19 08:51:44 -03:00
Lucas Nogueira 9330e05398 chore(deps): update tauri, adjust iOS plugin 2023-03-18 11:31:55 -03:00
Lucas Fernandes Nogueira 539c38a692 feat: update swift-rs (#285)
* feat: update swift-rs

* swift-rs v1

* pin deps
2023-03-16 09:36:31 -03:00
Lucas Fernandes Nogueira 961602bd1b fix(log): use Swift OSLog instead of oslog Rust binding (#262) 2023-02-23 14:17:15 -03:00
Lucas Fernandes Nogueira 22f987bf24 feat: update setup hook to new syntax (#257) 2023-02-16 13:42:26 -03:00
FabianLars 738636472c Merge branch 'dev' into next 2023-02-15 15:57:37 +01:00
FabianLars 082e05e045 Merge branch 'dev' into next 2023-02-15 15:49:39 +01:00
Jonas Kruckenberg e151ffcf61 Update Cargo.toml 2023-02-01 09:51:57 +01:00
Jonas Kruckenberg 37e0511020 Merge pull request #96 from tauri-apps/feat/mobile-log
feat(log): implement mobile logging
2023-01-19 17:35:17 +01:00
Lucas Nogueira 1675a4de80 fix unused var [skip ci] 2023-01-17 19:22:18 -03:00
Lucas Nogueira 5f13148aad simplify default formatter for mobile 2023-01-17 18:30:06 -03:00
Lucas Nogueira df21598a48 update deps 2023-01-17 18:26:19 -03:00
Lucas Nogueira 510845c1a0 update android_logger 2023-01-17 18:25:10 -03:00
Lucas Nogueira 9424204a19 fix ios [skip ci] 2023-01-17 16:00:09 -03:00
Lucas Nogueira bbdabbd64d refactor: keep fern [skip ci] 2023-01-17 15:51:16 -03:00
Lucas Nogueira fa44de7440 remove warnings 2023-01-17 13:22:48 -03:00
Lucas Nogueira cc03bde0ea revert tauri dep 2023-01-17 13:15:02 -03:00
Lucas Nogueira 976cd70eef fix default log level 2023-01-17 12:58:10 -03:00
Lucas Nogueira ff2ce60a9c fix ios subsystem 2023-01-17 12:44:53 -03:00
Lucas Nogueira 13fcc06087 fix iOS build 2023-01-16 18:08:36 -03:00
Lucas Nogueira 42037a7a99 feat(log): implement mobile logging 2023-01-16 17:47:43 -03:00
Jonas Kruckenberg 58dd417f1b Update Cargo.toml 2023-01-13 20:46:57 +01:00
Jonas Kruckenberg 0b42d3f554 update Tauri to alpha version 2023-01-13 12:43:19 +01:00
634 changed files with 36361 additions and 10793 deletions
+11
View File
@@ -0,0 +1,11 @@
[advisories]
ignore = [
# time 0.1
"RUSTSEC-2020-0071",
# needs sqlx 0.7 (still in alpha)
"RUSTSEC-2022-0090",
# wry needs kuchiki on Android
"RUSTSEC-2023-0019",
# atty is only used when the `colored` feature is enabled on tauri-plugin-log
"RUSTSEC-2021-0145"
]
+200 -33
View File
@@ -33,40 +33,131 @@
}
},
"packages": {
"api-example": {
"path": "./examples/api/src-tauri",
"manager": "rust",
"publish": false,
"dependencies": [
"app",
"log-plugin",
"cli",
"clipboard-manager",
"dialog",
"fs",
"global-shortcut",
"http",
"notification",
"os",
"process",
"shell",
"updater",
"window"
],
"postversion": "pnpm install --no-frozen-lockfile"
},
"api-example-js": {
"path": "./examples/api",
"manager": "javascript",
"publish": false,
"dependencies": [
"app-js",
"log-js",
"cli-js",
"clipboard-manager-js",
"dialog-js",
"fs-js",
"global-shortcut-js",
"http-js",
"notification-js",
"os-js",
"process-js",
"shell-js",
"updater-js",
"window-js"
]
},
"app": {
"path": "./plugins/app",
"manager": "rust"
},
"app-js": {
"path": "./plugins/app",
"manager": "javascript"
},
"authenticator": {
"path": "./plugins/authenticator",
"manager": "rust-disabled"
"manager": "rust"
},
"authenticator-js": {
"path": "./plugins/authenticator",
"manager": "javascript-disabled"
"manager": "javascript"
},
"autostart": {
"path": "./plugins/autostart",
"manager": "rust-disabled"
"manager": "rust"
},
"autostart-js": {
"path": "./plugins/autostart",
"manager": "javascript-disabled"
"manager": "javascript"
},
"fs-extra": {
"path": "./plugins/fs-extra",
"manager": "rust-disabled"
"cli": {
"path": "./plugins/cli",
"manager": "rust"
},
"fs-extra-js": {
"path": "./plugins/fs-extra",
"manager": "javascript-disabled"
"cli-js": {
"path": "./plugins/cli",
"manager": "javascript"
},
"fs-watch": {
"path": "./plugins/fs-watch",
"manager": "rust-disabled"
"clipboard-manager": {
"path": "./plugins/clipboard-manager",
"manager": "rust"
},
"fs-watch-js": {
"path": "./plugins/fs-watch",
"manager": "javascript-disabled"
"clipboard-manager-js": {
"path": "./plugins/clipboard-manager",
"manager": "javascript"
},
"fs": {
"path": "./plugins/fs",
"manager": "rust"
},
"fs-js": {
"path": "./plugins/fs",
"manager": "javascript"
},
"dialog": {
"path": "./plugins/dialog",
"manager": "rust",
"dependencies": ["fs"]
},
"dialog-js": {
"path": "./plugins/dialog",
"manager": "javascript"
},
"global-shortcut": {
"path": "./plugins/global-shortcut",
"manager": "rust"
},
"global-shortcut-js": {
"path": "./plugins/global-shortcut",
"manager": "javascript"
},
"http": {
"path": "./plugins/http",
"manager": "rust",
"dependencies": ["fs"]
},
"http-js": {
"path": "./plugins/http",
"manager": "javascript"
},
"localhost": {
@@ -74,18 +165,37 @@
"manager": "rust"
},
"log": {
"log-plugin": {
"path": "./plugins/log",
"manager": "rust-disabled"
"manager": "rust"
},
"log-js": {
"path": "./plugins/log",
"manager": "javascript-disabled"
"manager": "javascript"
},
"notification": {
"path": "./plugins/notification",
"manager": "rust"
},
"notification-js": {
"path": "./plugins/notification",
"manager": "javascript"
},
"os": {
"path": "./plugins/os",
"manager": "rust"
},
"os-js": {
"path": "./plugins/os",
"manager": "javascript"
},
"persisted-scope": {
"path": "./plugins/persisted-scope",
"manager": "rust"
"manager": "rust",
"dependencies": ["fs"]
},
"positioner": {
@@ -94,57 +204,114 @@
},
"positioner-js": {
"path": "./plugins/positioner",
"manager": "javascript-disabled"
"manager": "javascript"
},
"process": {
"path": "./plugins/process",
"manager": "rust"
},
"process-js": {
"path": "./plugins/process",
"manager": "javascript"
},
"shell": {
"path": "./plugins/shell",
"manager": "rust"
},
"shell-js": {
"path": "./plugins/shell",
"manager": "javascript"
},
"single-instance": {
"path": "./plugins/single-instance",
"manager": "rust-disabled"
"manager": "rust"
},
"sql": {
"path": "./plugins/sql",
"manager": "rust-disabled"
"manager": "rust",
"publish": [
{
"command": "cargo package --no-verify",
"dryRunCommand": true
},
{
"command": "echo '<details>\n<summary><em><h4>Cargo Publish</h4></em></summary>\n\n```'",
"dryRunCommand": true,
"pipe": true
},
{
"command": "cargo publish --features sqlite",
"dryRunCommand": "cargo publish --features sqlite --dry-run",
"pipe": true
},
{
"command": "echo '```\n\n</details>\n'",
"dryRunCommand": true,
"pipe": true
}
]
},
"sql-js": {
"path": "./plugins/sql",
"manager": "javascript-disabled"
"manager": "javascript"
},
"store": {
"path": "./plugins/store",
"manager": "rust-disabled"
"manager": "rust"
},
"store-js": {
"path": "./plugins/store",
"manager": "javascript-disabled"
"manager": "javascript"
},
"stronghold": {
"path": "./plugins/stronghold",
"manager": "rust-disabled"
"manager": "rust"
},
"stronghold-js": {
"path": "./plugins/stronghold",
"manager": "javascript-disabled"
"manager": "javascript"
},
"updater": {
"path": "./plugins/updater",
"manager": "rust"
},
"updater-js": {
"path": "./plugins/updater",
"manager": "javascript"
},
"upload": {
"path": "./plugins/upload",
"manager": "rust-disabled"
"manager": "rust"
},
"upload-js": {
"path": "./plugins/upload",
"manager": "javascript-disabled"
"manager": "javascript"
},
"websocket": {
"path": "./plugins/websocket",
"manager": "rust-disabled"
"manager": "rust"
},
"websocket-js": {
"path": "./plugins/websocket",
"manager": "javascript-disabled"
"manager": "javascript"
},
"window": {
"path": "./plugins/window",
"manager": "rust"
},
"window-js": {
"path": "./plugins/window",
"manager": "javascript"
},
"window-state": {
@@ -153,7 +320,7 @@
},
"window-state-js": {
"path": "./plugins/window-state",
"manager": "javascript-disabled"
"manager": "javascript"
}
}
}
+5
View File
@@ -0,0 +1,5 @@
---
"dialog": "patch"
---
On non-Linux system, use `AsyncMessageDialog` instead of `MessageDialog`. [(tauri#7182)](https://github.com/tauri-apps/tauri/issues/7182)
@@ -0,0 +1,5 @@
---
"window-js": "minor:feat"
---
Added the `maximizable`, `minimizable` and `closable` fields on `WindowOptions`.
+6
View File
@@ -0,0 +1,6 @@
---
"window": "minor:feat"
"window-js": "minor:feat"
---
Added the `setMaximizable`, `setMinimizable`, `setClosable`, `isMaximizable`, `isMinimizable` and `isClosable` methods.
+30
View File
@@ -0,0 +1,30 @@
---
"app": patch
"authenticator": patch
"autostart": patch
"cli": patch
"clipboard-manager": 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": patch
"window-state": patch
---
Fixes docs.rs build by enabling the `tauri/dox` feature flag.
+5
View File
@@ -0,0 +1,5 @@
---
"fs-js": patch
---
Fix `writeBinaryFile` crashing with `command 'write_binary_file' not found`
+5
View File
@@ -0,0 +1,5 @@
---
"http-js": minor
---
Multipart requests are now handled in JavaScript by the `Request` JavaScript class so you just need to use a `FormData` body and not set the content-type header to `multipart/form-data`. `application/x-www-form-urlencoded` requests must be done manually.
+6
View File
@@ -0,0 +1,6 @@
---
"http": minor
"http-js": minor
---
The http plugin has been rewritten from scratch and now only exposes a `fetch` function in Javascript and Re-exports `reqwest` crate in Rust. The new `fetch` method tries to be as close and compliant to the `fetch` Web API as possible.
+5
View File
@@ -0,0 +1,5 @@
---
"http": patch
---
Remove `cmd` property which breaks invoke call.
+5
View File
@@ -0,0 +1,5 @@
---
"http": patch
---
Improve response performance by using the new IPC streaming data.
+5
View File
@@ -0,0 +1,5 @@
---
"notification": patch
---
Use `window.__TAURI_INVOKE__` instead of `window.__TAURI__` in init.js, fixes usage in apps without `withGlobalTauri` enabled.
+5
View File
@@ -0,0 +1,5 @@
---
"notification": patch
---
Revert [7d71ad4e5](https://github.com/tauri-apps/plugins-workspace/commit/7d71ad4e587bcf47ea34645f5b226945e487b765) which added a default sound for notifications on Windows. This introduced inconsistency with other platforms that has silent notifications by default. In the upcoming releases, we will add support for modifying the notification sound across all platforms.
+5
View File
@@ -0,0 +1,5 @@
---
"notification": patch
---
Play a default sound when showing a notification on Windows.
+5
View File
@@ -0,0 +1,5 @@
---
"os-js": "patch"
---
Fix `macss -> macos` typo in `OsType` type.
+12
View File
@@ -0,0 +1,12 @@
---
"os": minor
"os-js": minor
---
The os plugin is recieving a few changes to improve consistency and add new features:
- Renamed `Kind` enum to `OsType` and `kind()` function to `os_type()`.
- Added `family()`,`exe_extension()`, and `hostname()` functions and their equivalents for JS.
- Removed `tempdir()` function and its equivalent on JS, use `std::env::temp_dir` instead of `temp_dir` from `tauri::path::PathResolver::temp_dir` and `path.tempDir` on JS.
- Modified `platform()` implementation to return `windows` instead of `win32` and `macos` instead of `darwin` to align with Rust's `std::env::consts::OS`
- `EOL` const in JS has been modified into a function `eol()` fix import issues in frameworks like `next.js`
+5
View File
@@ -0,0 +1,5 @@
---
"persisted-scope": patch
---
Split up fs and asset scopes. **This will reset the asset protocol scope once!**
+5
View File
@@ -0,0 +1,5 @@
---
"persisted-scope": patch
---
Fix usage of directory patterns by removing glob asterisks at the end before allowing/forbidding them. This was causing them to be escaped, and so undesirable paths were allowed/forbidden while polluting the `.persisted-scope` file.
+5
View File
@@ -0,0 +1,5 @@
---
"positioner": patch
---
Change `system-tray` feature flag to `tray-icon`.
+39
View File
@@ -0,0 +1,39 @@
{
"tag": "alpha",
"changes": [
".changes/dialog-async-message-dialog.md",
".changes/disable-window-controls-api-options.md",
".changes/disable-window-controls-api.md",
".changes/fix-docs-build.md",
".changes/fs-wiret-binary-file.md",
".changes/http-multipart-refactor.md",
".changes/http-plugin-refactor.md",
".changes/http-remove-cmd-property.md",
".changes/http-response.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/persisted-scope-asset.md",
".changes/persisted-scope-glob.md",
".changes/positioner-tray-flag.md",
".changes/shell-command-apis.md",
".changes/shell-detached.md",
".changes/stronghold-arg-name.md",
".changes/stronghold-constructor.md",
".changes/tauri-alpha.11.md",
".changes/tauri-alpha.12.md",
".changes/updater-nsis-admin.md",
".changes/updater-nsis.md",
".changes/updater-plugin-refactor.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/window-state-decorated.md",
".changes/window-state-promise.md",
".changes/window-tap-drag-region-detection.md"
]
}
+5
View File
@@ -0,0 +1,5 @@
---
"shell": "patch"
---
Added `Command::arg`, `Command::env` and changed `Command::new` input type.
+5
View File
@@ -0,0 +1,5 @@
---
"shell": patch
---
Ensure the launched process is detached so it can out-live your tauri app and does not shutdown with it.
+5
View File
@@ -0,0 +1,5 @@
---
"stronghold-js": patch
---
Change the argument name of the `Stronghold.remove` from `location` to `recordPath` to match the Stronghold command argument
+53
View File
@@ -0,0 +1,53 @@
---
"app": patch
"app-js": patch
"authenticator": patch
"authenticator-js": patch
"autostart": patch
"autostart-js": patch
"cli": patch
"cli-js": patch
"clipboard-manager": patch
"clipboard-manager-js": patch
"dialog": patch
"dialog-js": patch
"fs": patch
"fs-js": patch
"global-shortcut": patch
"global-shortcut-js": patch
"http": patch
"http-js": patch
"localhost": patch
"log-plugin": patch
"log-js": patch
"notification": patch
"notification-js": patch
"os": patch
"os-js": patch
"persisted-scope": patch
"positioner": patch
"positioner-js": patch
"process": patch
"process-js": patch
"shell": patch
"shell-js": patch
"single-instance": patch
"sql": patch
"sql-js": patch
"store": patch
"store-js": patch
"stronghold": patch
"stronghold-js": patch
"updater": patch
"updater-js": patch
"upload": patch
"upload-js": patch
"websocket": patch
"websocket-js": patch
"window": patch
"window-js": patch
"window-state": patch
"window-state-js": patch
---
Update to alpha.11.
+30
View File
@@ -0,0 +1,30 @@
---
"app": patch
"authenticator": patch
"autostart": patch
"cli": patch
"clipboard-manager": 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": patch
"window-state": patch
---
Update to alpha.12.
+5
View File
@@ -0,0 +1,5 @@
---
"updater": "patch"
---
On Windows, fix NSIS installers requiring administrator rights failing to be launched by updater.
+5
View File
@@ -0,0 +1,5 @@
---
"updater": patch
---
Implement passive mode on NSIS and automatically restart after NSIS update.
+6
View File
@@ -0,0 +1,6 @@
---
"updater": minor
"updater-js": minor
---
The updater plugin is recieving a few changes to improve consistency and ergonomics of the Rust and JS APIs
+53
View File
@@ -0,0 +1,53 @@
---
"app": major
"app-js": major
"authenticator": major
"authenticator-js": major
"autostart": major
"autostart-js": major
"cli": major
"cli-js": major
"clipboard-manager": major
"clipboard-manager-js": major
"dialog": major
"dialog-js": major
"fs": major
"fs-js": major
"global-shortcut": major
"global-shortcut-js": major
"http": major
"http-js": major
"localhost": major
"log-plugin": major
"log-js": major
"notification": major
"notification-js": major
"os": major
"os-js": major
"persisted-scope": major
"positioner": major
"positioner-js": major
"process": major
"process-js": major
"shell": major
"shell-js": major
"single-instance": major
"sql": major
"sql-js": major
"store": major
"store-js": major
"stronghold": major
"stronghold-js": major
"updater": major
"updater-js": major
"upload": major
"upload-js": major
"websocket": major
"websocket-js": major
"window": major
"window-js": major
"window-state": major
"window-state-js": major
---
First v2 alpha release!
+5
View File
@@ -0,0 +1,5 @@
---
"window-js": "minor"
---
Add `incognito` window configuration option
+6
View File
@@ -0,0 +1,6 @@
---
"window": "minor:feat"
"window-js": "minor:feat"
---
Add `WebviewWindow.is_focused` and `WebviewWindow.getFocusedWindow` getters.
+10
View File
@@ -0,0 +1,10 @@
---
"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
@@ -0,0 +1,6 @@
---
"window": "patch"
"window-js": "patch"
---
Added the `setEffects` and `clearEffects` API.
+5
View File
@@ -0,0 +1,5 @@
---
"window-state": "patch"
---
Correctly set decoration state if no saved state xists
+5
View File
@@ -0,0 +1,5 @@
---
"window-state-js": "patch"
---
Correctly propagate the promise inside `saveWindowState`, `restoreState` and `restoreStateCurrent` so callers can choose to `await` them.
@@ -0,0 +1,5 @@
---
"window": "patch"
---
On macOS, fixed tapping on custom title bar doesn't maximize the window.
+2
View File
@@ -2,3 +2,5 @@ target
node_modules
dist
dist-js
api-iife.js
init.js
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
## Environment used by this script:
#
+4
View File
@@ -1,3 +1,7 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: Audit JavaScript
on:
+4
View File
@@ -1,3 +1,7 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: Audit Rust
on:
+155
View File
@@ -0,0 +1,155 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: check generated files
on:
pull_request:
paths:
- ".github/workflows/check-generated-files.yml"
- "**/guest-js/**"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest
outputs:
packages: ${{ steps.filter.outputs.changes }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
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/**
- plugins/authenticator/src/api-iife.js
autostart:
- .github/workflows/check-generated-files.yml
- plugins/autostart/guest-js/**
- plugins/autostart/src/api-iife.js
cli:
- .github/workflows/check-generated-files.yml
- plugins/cli/guest-js/**
- plugins/cli/src/api-iife.js
clipboard-manager:
- .github/workflows/check-generated-files.yml
- plugins/clipboard-manager/guest-js/**
- plugins/clipboard-manager/src/api-iife.js
dialog:
- .github/workflows/check-generated-files.yml
- plugins/dialog/guest-js/**
- plugins/dialog/src/api-iife.js
fs:
- .github/workflows/check-generated-files.yml
- plugins/fs/guest-js/**
- plugins/fs/src/api-iife.js
global-shortcut:
- .github/workflows/check-generated-files.yml
- plugins/global-shortcut/guest-js/**
- plugins/global-shortcut/src/api-iife.js
http:
- .github/workflows/check-generated-files.yml
- plugins/http/guest-js/**
- plugins/http/src/api-iife.js
log:
- .github/workflows/check-generated-files.yml
- plugins/log/guest-js/**
- plugins/log/src/api-iife.js
notification:
- .github/workflows/check-generated-files.yml
- plugins/notification/guest-js/**
- plugins/notification/src/api-iife.js
os:
- .github/workflows/check-generated-files.yml
- plugins/os/guest-js/**
- plugins/os/src/api-iife.js
positioner:
- .github/workflows/check-generated-files.yml
- plugins/positioner/guest-js/**
- plugins/positioner/src/api-iife.js
process:
- .github/workflows/check-generated-files.yml
- plugins/process/guest-js/**
- plugins/process/src/api-iife.js
shell:
- .github/workflows/check-generated-files.yml
- plugins/shell/guest-js/**
- plugins/shell/src/api-iife.js
sql:
- .github/workflows/check-generated-files.yml
- plugins/sql/guest-js/**
- plugins/sql/src/api-iife.js
store:
- .github/workflows/check-generated-files.yml
- plugins/store/guest-js/**
- plugins/store/src/api-iife.js
stronghold:
- .github/workflows/check-generated-files.yml
- plugins/stronghold/guest-js/**
- plugins/stronghold/src/api-iife.js
updater:
- .github/workflows/check-generated-files.yml
- plugins/updater/guest-js/**
- plugins/updater/src/api-iife.js
upload:
- .github/workflows/check-generated-files.yml
- plugins/upload/guest-js/**
- plugins/upload/src/api-iife.js
websocket:
- .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/**
- plugins/window-state/src/api-iife.js
test:
needs: changes
if: ${{ needs.changes.outputs.packages != '[]' && needs.changes.outputs.packages != '' }}
strategy:
fail-fast: false
matrix:
package: ${{ fromJSON(needs.changes.outputs.packages) }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Cache pnpm modules
uses: actions/cache@v3
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-
- uses: actions/setup-node@v3
with:
node-version: 18
- uses: pnpm/action-setup@v2
with:
version: 7.x.x
run_install: true
- name: build api
working-directory: plugins/${{ matrix.package }}
run: pnpm install && pnpm build
- name: check diff
run: |
./.scripts/ci/has-diff.sh
@@ -0,0 +1,28 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: check license header
on:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
id: filter
with:
list-files: shell
filters: |
added:
- added: '**'
- name: check header license on new files
if: ${{ steps.filter.outputs.added == 'true' }}
run: node .scripts/ci/check-license-header.js ${{ steps.filter.outputs.added_files }}
+5 -1
View File
@@ -1,3 +1,7 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: covector status
on: [pull_request]
@@ -10,7 +14,7 @@ jobs:
with:
fetch-depth: 0 # required for use of git history
- name: covector status
uses: jbolda/covector/packages/action@covector-v0.8
uses: jbolda/covector/packages/action@covector-v0
id: covector
with:
command: "status"
@@ -0,0 +1,68 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: version or publish
on:
push:
branches:
- v2
jobs:
version-or-publish:
runs-on: ubuntu-latest
timeout-minutes: 65
outputs:
change: ${{ steps.covector.outputs.change }}
commandRan: ${{ steps.covector.outputs.commandRan }}
successfulPublish: ${{ steps.covector.outputs.successfulPublish }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # required for use of git history
- uses: actions/setup-node@v3
with:
node-version: "lts/*"
registry-url: "https://registry.npmjs.org"
- uses: pnpm/action-setup@v2
with:
version: 7.x.x
run_install: true
- name: install webkit2gtk and libudev for [authenticator]
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libudev-dev
- name: cargo login
run: cargo login ${{ secrets.ORG_CRATES_IO_TOKEN }}
- name: git config
run: |
git config --global user.name "${{ github.event.pusher.name }}"
git config --global user.email "${{ github.event.pusher.email }}"
- name: covector version or publish (publish when no change files present)
uses: jbolda/covector/packages/action@covector-v0
id: covector
env:
NODE_AUTH_TOKEN: ${{ secrets.ORG_NPM_TOKEN }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
command: "version-or-publish"
createRelease: true
- name: Create Pull Request With Versions Bumped
id: cpr
uses: tauri-apps/create-pull-request@v3
if: steps.covector.outputs.commandRan == 'version'
with:
title: "Publish New Versions (v2)"
commit-message: "publish new versions"
labels: "version updates"
branch: "release-v2"
body: ${{ steps.covector.outputs.change }}
@@ -1,3 +1,7 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: version or publish
on:
@@ -43,7 +47,7 @@ jobs:
git config --global user.email "${{ github.event.pusher.email }}"
- name: covector version or publish (publish when no change files present)
uses: jbolda/covector/packages/action@covector-v0.8
uses: jbolda/covector/packages/action@covector-v0
id: covector
env:
NODE_AUTH_TOKEN: ${{ secrets.ORG_NPM_TOKEN }}
+54
View File
@@ -0,0 +1,54 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: integration tests
on:
push:
branches:
- v1
- v2
paths:
- ".github/workflows/integration-tests.yml"
- "plugins/updater/src/**"
pull_request:
branches:
- v1
- v2
paths:
- ".github/workflows/integration-tests.yml"
- "plugins/updater/src/**"
jobs:
run-integration-tests:
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: install stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: install Linux dependencies
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.1 libayatana-appindicator3-dev libfuse2
- uses: Swatinem/rust-cache@v2
- name: install Tauri CLI
run: cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch dev
- name: run integration tests
run: cargo test --test '*' -- --ignored
+4
View File
@@ -1,3 +1,7 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: Lint JavaScript
on:
+120 -8
View File
@@ -1,3 +1,7 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: Lint Rust
on:
@@ -8,6 +12,7 @@ on:
paths:
- ".github/workflows/lint-rust.yml"
- "plugins/*/src/**"
- "!plugins/*/src/api-iife.js"
- "**/Cargo.toml"
pull_request:
branches:
@@ -16,6 +21,7 @@ on:
paths:
- ".github/workflows/lint-rust.yml"
- "plugins/*/src/**"
- "!plugins/*/src/api-iife.js"
- "**/Cargo.toml"
concurrency:
@@ -23,10 +29,108 @@ concurrency:
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
packages: ${{ steps.filter.outputs.changes }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
tauri-plugin-app:
- .github/workflows/lint-rust.yml
- plugins/app/**
tauri-plugin-authenticator:
- .github/workflows/lint-rust.yml
- plugins/authenticator/**
tauri-plugin-autostart:
- .github/workflows/lint-rust.yml
- plugins/autostart/**
tauri-plugin-cli:
- .github/workflows/lint-rust.yml
- plugins/cli/**
tauri-plugin-clipboard-manager:
- .github/workflows/lint-rust.yml
- plugins/clipboard-manager/**
tauri-plugin-dialog:
- .github/workflows/lint-rust.yml
- plugins/dialog/**
- plugins/fs/**
tauri-plugin-fs:
- .github/workflows/lint-rust.yml
- plugins/fs/**
tauri-plugin-global-shortcut:
- .github/workflows/lint-rust.yml
- plugins/global-shortcut/**
tauri-plugin-http:
- .github/workflows/lint-rust.yml
- plugins/http/**
- plugins/fs/**
tauri-plugin-localhost:
- .github/workflows/lint-rust.yml
- plugins/localhost/**
tauri-plugin-log:
- .github/workflows/lint-rust.yml
- plugins/log/**
tauri-plugin-notification:
- .github/workflows/lint-rust.yml
- plugins/notification/**
tauri-plugin-os:
- .github/workflows/lint-rust.yml
- plugins/os/**
tauri-plugin-persisted-scope:
- .github/workflows/lint-rust.yml
- plugins/persisted-scope/**
- plugins/fs/**
tauri-plugin-positioner:
- .github/workflows/lint-rust.yml
- plugins/positioner/**
tauri-plugin-process:
- .github/workflows/lint-rust.yml
- plugins/process/**
tauri-plugin-shell:
- .github/workflows/lint-rust.yml
- plugins/shell/**
tauri-plugin-single-instance:
- .github/workflows/lint-rust.yml
- plugins/single-instance/**
tauri-plugin-sql:
- .github/workflows/lint-rust.yml
- plugins/sql/**
tauri-plugin-store:
- .github/workflows/lint-rust.yml
- plugins/store/**
tauri-plugin-stronghold:
- .github/workflows/lint-rust.yml
- plugins/stronghold/**
tauri-plugin-updater:
- .github/workflows/lint-rust.yml
- plugins/updater/**
tauri-plugin-upload:
- .github/workflows/lint-rust.yml
- plugins/upload/**
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/**
clippy:
needs: changes
if: ${{ needs.changes.outputs.packages != '[]' && needs.changes.outputs.packages != '' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
package: ${{ fromJSON(needs.changes.outputs.packages) }}
steps:
- uses: actions/checkout@v3
@@ -43,17 +147,25 @@ jobs:
- uses: Swatinem/rust-cache@v2
- name: clippy
run: cargo clippy --workspace --exclude 'tauri-plugin-sql' --all-targets --all-features -- -D warnings
- name: create dummy dist
working-directory: examples/api
run: mkdir dist
- name: clippy sql:sqlite
run: cargo clippy --package 'tauri-plugin-sql' --all-targets --features sqlite -- -D warnings
- name: clippy ${{ matrix.package }}
if: matrix.package != 'tauri-plugin-sql'
run: cargo clippy --package ${{ matrix.package }} --all-targets -- -D warnings
- name: clippy sql:mysql
run: cargo clippy --package 'tauri-plugin-sql' --all-targets --features mysql -- -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 sql:postgres
run: cargo clippy --package 'tauri-plugin-sql' --all-targets --features postgres -- -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
- name: clippy ${{ matrix.package }} postgres
if: matrix.package == 'tauri-plugin-sql'
run: cargo clippy --package ${{ matrix.package }} --all-targets --no-default-features --features postgres -- -D warnings
fmt:
runs-on: ubuntu-latest
-55
View File
@@ -1,55 +0,0 @@
name: Check MSRV
on:
push:
branches:
- v1
- v2
paths:
- ".github/workflows/msrv-check.yml"
- "plugins/*/src/**"
- "**/Cargo.toml"
- "**/Cargo.lock"
pull_request:
branches:
- v1
- v2
paths:
- ".github/workflows/msrv-check.yml"
- "plugins/*/src/**"
- "**/Cargo.toml"
- "**/Cargo.lock"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
msrv:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
- name: install webkit2gtk and libudev for [authenticator]
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libudev-dev
- uses: dtolnay/rust-toolchain@1.64.0
- uses: Swatinem/rust-cache@v2
- name: build
run: cargo build --workspace --exclude 'tauri-plugin-sql' --all-targets --all-features
- name: build sql:sqlite
run: cargo build --package 'tauri-plugin-sql' --all-targets --features sqlite
- name: build sql:mysql
run: cargo build --package 'tauri-plugin-sql' --all-targets --features mysql
- name: build sql:postgres
run: cargo build --package 'tauri-plugin-sql' --all-targets --features postgres
+4
View File
@@ -1,3 +1,7 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: Sync
on:
+231
View File
@@ -0,0 +1,231 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: Test Rust
on:
push:
branches:
- v1
- v2
paths:
- ".github/workflows/test-rust.yml"
- "plugins/*/src/**"
- "!plugins/*/src/api-iife.js"
- "**/Cargo.toml"
- "**/Cargo.lock"
pull_request:
branches:
- v1
- v2
paths:
- ".github/workflows/test-rust.yml"
- "plugins/*/src/**"
- "!plugins/*/src/api-iife.js"
- "**/Cargo.toml"
- "**/Cargo.lock"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
packages: ${{ steps.filter.outputs.changes }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
tauri-plugin-app:
- .github/workflows/test-rust.yml
- plugins/app/**
tauri-plugin-authenticator:
- .github/workflows/test-rust.yml
- plugins/authenticator/**
tauri-plugin-autostart:
- .github/workflows/test-rust.yml
- plugins/autostart/**
tauri-plugin-cli:
- .github/workflows/test-rust.yml
- plugins/cli/**
tauri-plugin-clipboard-manager:
- .github/workflows/test-rust.yml
- plugins/clipboard-manager/**
tauri-plugin-dialog:
- .github/workflows/test-rust.yml
- plugins/dialog/**
- plugins/fs/**
tauri-plugin-fs:
- .github/workflows/test-rust.yml
- plugins/fs/**
tauri-plugin-global-shortcut:
- .github/workflows/test-rust.yml
- plugins/global-shortcut/**
tauri-plugin-http:
- .github/workflows/test-rust.yml
- plugins/http/**
- plugins/fs/**
tauri-plugin-localhost:
- .github/workflows/test-rust.yml
- plugins/localhost/**
tauri-plugin-log:
- .github/workflows/test-rust.yml
- plugins/log/**
tauri-plugin-notification:
- .github/workflows/test-rust.yml
- plugins/notification/**
tauri-plugin-os:
- .github/workflows/test-rust.yml
- plugins/os/**
tauri-plugin-persisted-scope:
- .github/workflows/test-rust.yml
- plugins/persisted-scope/**
- plugins/fs/**
tauri-plugin-positioner:
- .github/workflows/test-rust.yml
- plugins/positioner/**
tauri-plugin-process:
- .github/workflows/test-rust.yml
- plugins/process/**
tauri-plugin-shell:
- .github/workflows/test-rust.yml
- plugins/shell/**
tauri-plugin-single-instance:
- .github/workflows/test-rust.yml
- plugins/single-instance/**
tauri-plugin-sql:
- .github/workflows/test-rust.yml
- plugins/sql/**
tauri-plugin-store:
- .github/workflows/test-rust.yml
- plugins/store/**
tauri-plugin-stronghold:
- .github/workflows/test-rust.yml
- plugins/stronghold/**
tauri-plugin-updater:
- .github/workflows/test-rust.yml
- plugins/updater/**
tauri-plugin-upload:
- .github/workflows/test-rust.yml
- plugins/upload/**
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/**
test:
needs: changes
if: ${{ needs.changes.outputs.packages != '[]' && needs.changes.outputs.packages != '' }}
strategy:
fail-fast: false
matrix:
package: ${{ fromJSON(needs.changes.outputs.packages) }}
platform:
- {
target: x86_64-pc-windows-msvc,
os: windows-latest,
cross: false,
command: "test",
}
- {
target: x86_64-unknown-linux-gnu,
os: ubuntu-latest,
cross: false,
command: "test",
}
- {
target: x86_64-apple-darwin,
os: macos-latest,
cross: false,
command: "test",
}
- {
target: aarch64-apple-ios,
os: macos-latest,
cross: false,
command: "build",
}
- {
target: aarch64-linux-android,
os: ubuntu-latest,
cross: true,
command: "build",
}
runs-on: ${{ matrix.platform.os }}
steps:
- uses: actions/checkout@v3
- name: install webkit2gtk and libudev for [authenticator]
if: contains(matrix.platform.target, 'unknown-linux')
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libudev-dev
- name: install openssl
if: ${{ matrix.platform.os == 'windows-latest' && matrix.package == 'tauri-plugin-authenticator' }}
run: |
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
with:
targets: ${{ matrix.platform.target }}
- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.package }}
- 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: 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
- 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 }} 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
- 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
+4 -1
View File
@@ -1,5 +1,8 @@
target
node_modules
dist
dist-js
pnpm-lock.yaml
Cargo.lock
Cargo.lock
.build
api-iife.js
+121
View File
@@ -0,0 +1,121 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import fs from "fs";
import path from "path";
import readline from "readline";
const header = `Copyright 2019-2023 Tauri Programme within The Commons Conservancy
SPDX-License-Identifier: Apache-2.0
SPDX-License-Identifier: MIT`;
const ignoredLicense = "// Copyright 2021 Jonas Kruckenberg";
const extensions = [".rs", ".js", ".ts", ".yml", ".swift", ".kt"];
const ignore = [
"target",
"templates",
"node_modules",
"gen",
"dist",
"dist-js",
".svelte-kit",
"api-iife.js",
];
async function checkFile(file) {
if (
extensions.some((e) => file.endsWith(e)) &&
!ignore.some((i) => file.endsWith(i))
) {
const fileStream = fs.createReadStream(file);
const rl = readline.createInterface({
input: fileStream,
crlfDelay: Infinity,
});
let contents = ``;
let i = 0;
for await (let line of rl) {
// ignore empty lines, allow shebang, swift-tools-version and bundler license
if (
line.length === 0 ||
line.startsWith("#!") ||
line.startsWith("// swift-tools-version:") ||
line === ignoredLicense
) {
continue;
}
// strip comment marker
if (line.startsWith("// ")) {
line = line.substring(3);
} else if (line.startsWith("# ")) {
line = line.substring(2);
}
contents += line;
if (++i === 3) {
break;
}
contents += "\n";
}
if (contents !== header) {
return true;
}
}
return false;
}
async function check(src) {
const missingHeader = [];
for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
const p = path.join(src, entry.name);
if (entry.isSymbolicLink() || ignore.includes(entry.name)) {
continue;
}
if (entry.isDirectory()) {
const missing = await check(p);
missingHeader.push(...missing);
} else {
const isMissing = await checkFile(p);
if (isMissing) {
missingHeader.push(p);
}
}
}
return missingHeader;
}
const [_bin, _script, ...files] = process.argv;
if (files.length > 0) {
async function run() {
const missing = [];
for (const f of files) {
const isMissing = await checkFile(f);
if (isMissing) {
missing.push(f);
}
}
if (missing.length > 0) {
console.log(missing.join("\n"));
process.exit(1);
}
}
run();
} else {
check(path.resolve(new URL(import.meta.url).pathname, "../../..")).then(
(missing) => {
if (missing.length > 0) {
console.log(missing.join("\n"));
process.exit(1);
}
},
);
}
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
if git diff --quiet --ignore-submodules HEAD
then
echo "working directory is clean"
else
echo "found diff"
exit 1
fi
+8 -4
View File
@@ -44,11 +44,15 @@ https.get(url, options, (response) => {
response.on("end", function () {
const data = JSON.parse(chunks.join(""));
if (kind === "cargo") {
const versions = data.versions.filter((v) => v.num.startsWith(target));
console.log(versions.length ? versions[0].num : "0.0.0");
if (data.versions) {
const versions = data.versions.filter((v) => v.num.startsWith(target));
console.log(versions.length ? versions[0].num : "0.0.0");
} else {
console.log("0.0.0");
}
} else if (kind === "npm") {
const versions = Object.keys(data.versions).filter((v) =>
v.startsWith(target)
const versions = Object.keys(data.versions || {}).filter((v) =>
v.startsWith(target),
);
console.log(versions[versions.length - 1] || "0.0.0");
}
Generated
+2983 -1154
View File
File diff suppressed because it is too large Load Diff
+12 -4
View File
@@ -1,12 +1,12 @@
[workspace]
members = ["plugins/*"]
members = ["plugins/*", "plugins/*/tests/*", "examples/*/src-tauri"]
resolver = "2"
[workspace.dependencies]
serde = { version = "1", features = ["derive"] }
log = "0.4"
tauri = "1"
tauri-build = "1"
tauri = "2.0.0-alpha.12"
tauri-build = "2.0.0-alpha.8"
serde_json = "1"
thiserror = "1"
@@ -14,4 +14,12 @@ thiserror = "1"
edition = "2021"
authors = [ "Tauri Programme within The Commons Conservancy" ]
license = "Apache-2.0 OR MIT"
rust-version = "1.64"
rust-version = "1.65"
# default to small, optimized release binaries
[profile.release]
panic = "abort"
codegen-units = 1
lto = true
incremental = false
opt-level = "s"
+16 -18
View File
@@ -1,21 +1,19 @@
## Plugins Found Here
| | | Win | Mac | Lin | iOS | And |
| ------------------------------------------ | --------------------------------------------------------- | --- | --- | --- | --- | --- |
| [authenticator](plugins/authenticator) | Interface with hardware security keys. | ✅ | ✅ | ✅ | ? | ? |
| [autostart](plugins/autostart) | Automatically launch your app at system startup. | ✅ | ✅ | ✅ | ? | ? |
| [fs-extra](plugins/fs-extra) | File system methods that aren't included in the core API. | ✅ | ✅ | ✅ | ? | ? |
| [fs-watch](plugins/fs-watch) | Watch the filesystem for changes. | ✅ | ✅ | ✅ | ? | ? |
| [localhost](plugins/localhost) | Use a localhost server in production apps. | ✅ | ✅ | ✅ | ? | ? |
| [log](plugins/log) | Configurable logging. | ✅ | ✅ | ✅ | ✅ | |
| [persisted-scope](plugins/persisted-scope) | Persist runtime scope changes on the filesystem. | ✅ | | ✅ | ? | ? |
| [positioner](plugins/positioner) | Move windows to common locations. | ✅ | ✅ | ✅ | ? | ? |
| [single-instance](plugins/single-instance) | Ensure a single instance of your tauri app is running. | ✅ | ? | ✅ | ? | ? |
| [sql](plugins/sql) | Interface with SQL databases. | ✅ | ✅ | ✅ | ? | ? |
| [store](plugins/store) | Persistent key value storage. | ✅ | ✅ | ✅ | ? | ? |
| [stronghold](plugins/stronghold) | Encrypted, secure database. | ✅ | ✅ | ✅ | ? | ? |
| [upload](plugins/upload) | Tauri plugin for file uploads through HTTP. | ✅ | ✅ | ✅ | ? | ? |
| [websocket](plugins/websocket) | Open a WebSocket connection using a Rust client in JS. | ✅ | ✅ | ✅ | ? | ? |
| [window-state](plugins/window-state) | Persist window sizes and positions. | ✅ | ✅ | ✅ | ? | ? |
| | | Win | Mac | Lin | iOS | And |
| ------------------------------------------ | ------------------------------------------------------ | --- | --- | --- | --- | --- |
| [authenticator](plugins/authenticator) | Interface with hardware security keys. | ✅ | ✅ | ✅ | ? | ? |
| [autostart](plugins/autostart) | Automatically launch your app at system startup. | ✅ | ✅ | ✅ | ? | ? |
| [localhost](plugins/localhost) | Use a localhost server in production apps. | ✅ | ✅ | ✅ | ? | ? |
| [log](plugins/log) | Configurable logging. | ✅ | ✅ | ✅ | | |
| [persisted-scope](plugins/persisted-scope) | Persist runtime scope changes on the filesystem. | ✅ | ✅ | ✅ | ? | ? |
| [positioner](plugins/positioner) | Move windows to common locations. | ✅ | ✅ | ✅ | ? | ? |
| [single-instance](plugins/single-instance) | Ensure a single instance of your tauri app is running. | ✅ | ? | ✅ | ? | ? |
| [sql](plugins/sql) | Interface with SQL databases. | ✅ | ✅ | ✅ | ? | ? |
| [store](plugins/store) | Persistent key value storage. | ✅ | | ✅ | ? | ? |
| [stronghold](plugins/stronghold) | Encrypted, secure database. | ✅ | ✅ | ✅ | ? | ? |
| [upload](plugins/upload) | Tauri plugin for file uploads through HTTP. | ✅ | ✅ | ✅ | ? | ? |
| [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.64**_
_This repo and all plugins require a Rust version of at least **1.65**_
+4
View File
@@ -0,0 +1,4 @@
/node_modules/
/.vscode/
.DS_Store
.cargo
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
export ICONS_VOLUME="$(realpath icons)"
export DIST_VOLUME="$(realpath dist)"
export ISOLATION_VOLUME="$(realpath isolation-dist)"
+3
View File
@@ -0,0 +1,3 @@
src-tauri/locales/
src-tauri/Cross.toml
src-tauri/.gitignore
+31
View File
@@ -0,0 +1,31 @@
# Changelog
## \[2.0.0-alpha.2]
### Dependencies
- Upgraded to `os-js@2.0.0-alpha.2`
## \[2.0.0-alpha.1]
### Dependencies
- Upgraded to `window-js@2.0.0-alpha.1`
- Upgraded to `fs-js@2.0.0-alpha.1`
- Upgraded to `http-js@2.0.0-alpha.1`
- Upgraded to `os-js@2.0.0-alpha.1`
- Upgraded to `app-js@2.0.0-alpha.1`
- Upgraded to `cli-js@2.0.0-alpha.1`
- Upgraded to `dialog-js@2.0.0-alpha.1`
- Upgraded to `global-shortcut-js@2.0.0-alpha.1`
- Upgraded to `log-js@2.0.0-alpha.1`
- Upgraded to `notification-js@2.0.0-alpha.1`
- Upgraded to `process-js@2.0.0-alpha.1`
- Upgraded to `shell-js@2.0.0-alpha.1`
- Upgraded to `updater-js@2.0.0-alpha.1`
## \[2.0.0-alpha.0]
### Dependencies
- Plugins v2 alpha.
+28
View File
@@ -0,0 +1,28 @@
# API example
This example demonstrates Tauri's API capabilities using the plugins from this repository. It's used as the main validation app, serving as the testbed of our development process.
In the future, this app will be used on Tauri's integration tests.
![App screenshot](./screenshot.png?raw=true)
## Running the example
- Install dependencies and build packages (Run inside of the repository root)
```bash
$ pnpm install
$ pnpm build
```
- Run the app in development mode (Run inside of this folder `examples/api/`)
```bash
$ pnpm tauri dev
```
- Build an run the release app (Run inside of this folder `examples/api/`)
```bash
$ pnpm tauri build
$ ./src-tauri/target/release/app
```
+16
View File
@@ -0,0 +1,16 @@
<!doctype html>
<html lang="en" theme="dark">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<title>Svelte + Vite App</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>
+10
View File
@@ -0,0 +1,10 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Isolation Secure Script</title>
</head>
<body>
<script src="index.js"></script>
</body>
</html>
+7
View File
@@ -0,0 +1,7 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
window.__TAURI_ISOLATION_HOOK__ = (payload) => {
return payload;
};
+34
View File
@@ -0,0 +1,34 @@
{
"compilerOptions": {
"moduleResolution": "node",
"target": "esnext",
"module": "esnext",
/**
* svelte-preprocess cannot figure out whether you have
* a value or a type, so tell TypeScript to enforce using
* `import type` instead of `import` for Types.
*/
"importsNotUsedAsValues": "error",
"isolatedModules": true,
"resolveJsonModule": true,
/**
* To have warnings / errors of the Svelte compiler at the
* correct position, enable source maps by default.
*/
"sourceMap": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"baseUrl": ".",
/**
* Typecheck JS in `.svelte` and `.js` files by default.
* Disable this if you'd like to use dynamic types.
*/
"checkJs": true
},
/**
* Use global.d.ts instead of compilerOptions.types
* to avoid limiting type declarations.
*/
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"]
}
+39
View File
@@ -0,0 +1,39 @@
{
"name": "svelte-app",
"private": true,
"version": "2.0.0-alpha.2",
"type": "module",
"scripts": {
"dev": "vite --clearScreen false",
"build": "vite build",
"serve": "vite preview"
},
"dependencies": {
"@tauri-apps/api": "2.0.0-alpha.6",
"@tauri-apps/plugin-app": "2.0.0-alpha.1",
"@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"
},
"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.12",
"@unocss/extractor-svelte": "^0.53.1",
"internal-ip": "^8.0.0",
"svelte": "^3.59.1",
"unocss": "^0.53.1",
"vite": "^4.3.9"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

+6
View File
@@ -0,0 +1,6 @@
# Generated by Cargo
# will have compiled files and executables
/target/
# cargo-mobile
.cargo/
+1
View File
@@ -0,0 +1 @@
tauri-plugin-sample/
+56
View File
@@ -0,0 +1,56 @@
# Changelog
## \[2.0.0-alpha.4]
### Dependencies
- Upgraded to `http@2.0.0-alpha.3`
- Upgraded to `app@2.0.0-alpha.2`
- Upgraded to `cli@2.0.0-alpha.2`
- Upgraded to `clipboard-manager@2.0.0-alpha.2`
- Upgraded to `dialog@2.0.0-alpha.2`
- Upgraded to `fs@2.0.0-alpha.2`
- Upgraded to `global-shortcut@2.0.0-alpha.2`
- Upgraded to `log-plugin@2.0.0-alpha.2`
- Upgraded to `notification@2.0.0-alpha.3`
- Upgraded to `os@2.0.0-alpha.2`
- Upgraded to `process@2.0.0-alpha.2`
- Upgraded to `shell@2.0.0-alpha.2`
- Upgraded to `updater@2.0.0-alpha.2`
- Upgraded to `window@2.0.0-alpha.2`
## \[2.0.0-alpha.3]
### Dependencies
- Upgraded to `http@2.0.0-alpha.2`
## \[2.0.0-alpha.2]
### Dependencies
- Upgraded to `dialog@2.0.0-alpha.1`
- Upgraded to `window@2.0.0-alpha.1`
- Upgraded to `app@2.0.0-alpha.1`
- Upgraded to `cli@2.0.0-alpha.1`
- Upgraded to `fs@2.0.0-alpha.1`
- Upgraded to `global-shortcut@2.0.0-alpha.1`
- Upgraded to `http@2.0.0-alpha.1`
- Upgraded to `log-plugin@2.0.0-alpha.1`
- Upgraded to `notification@2.0.0-alpha.2`
- Upgraded to `os@2.0.0-alpha.1`
- Upgraded to `process@2.0.0-alpha.1`
- Upgraded to `shell@2.0.0-alpha.1`
- Upgraded to `updater@2.0.0-alpha.1`
## \[2.0.0-alpha.1]
### Dependencies
- Updated to latest `notification`
## \[2.0.0-alpha.0]
### Dependencies
- Plugins v2 alpha.
+53
View File
@@ -0,0 +1,53 @@
[package]
name = "api"
publish = false
version = "2.0.0-alpha.4"
description = "An example Tauri Application showcasing the api"
edition = "2021"
rust-version = { workspace = true }
license = "Apache-2.0 OR MIT"
[lib]
crate-type = [ "staticlib", "cdylib", "rlib" ]
[build-dependencies]
tauri-build = { workspace = true, features = [ "codegen", "isolation" ] }
[dependencies]
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" ] }
[dependencies.tauri]
workspace = true
features = [
"icon-ico",
"icon-png",
"isolation",
"macos-private-api",
"tray-icon",
"protocol-asset"
]
[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" }
[target."cfg(target_os = \"windows\")".dependencies]
window-shadows = "0.2"
[features]
custom-protocol = [ "tauri/custom-protocol" ]
+11
View File
@@ -0,0 +1,11 @@
[build.env]
# must set ICONS_VOLUME, DIST_VOLUME and ISOLATION_VOLUME environment variables
# ICONS_VOLUME: absolute path to the icons folder
# DIST_VOLUME: absolute path to the dist folder
# ISOLATION_VOLUME: absolute path to the isolation dist folder
# this can be done running `$ . .setup-cross.sh` in the examples/api folder
volumes = ["ICONS_VOLUME", "DIST_VOLUME", "ISOLATION_VOLUME"]
[target.aarch64-unknown-linux-gnu]
image = "aarch64-unknown-linux-gnu:latest"
#image = "ghcr.io/tauri-apps/tauri/aarch64-unknown-linux-gnu:latest"
+10
View File
@@ -0,0 +1,10 @@
<?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>
<key>NSCameraUsageDescription</key>
<string>Request camera access for WebRTC</string>
<key>NSMicrophoneUsageDescription</key>
<string>Request microphone access for WebRTC</string>
</dict>
</plist>
+12
View File
@@ -0,0 +1,12 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
fn main() {
let mut codegen = tauri_build::CodegenContext::new();
if !cfg!(feature = "custom-protocol") {
codegen = codegen.dev();
}
codegen.build();
tauri_build::build();
}
@@ -0,0 +1,12 @@
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false
@@ -0,0 +1,19 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
build
/captures
.externalNativeBuild
.cxx
local.properties
key.properties
/.tauri
/tauri.settings.gradle
@@ -0,0 +1,5 @@
/src/main/java/com/tauri/api/generated
/src/main/jniLibs/**/*.so
/src/main/assets/tauri.conf.json
/tauri.build.gradle.kts
/proguard-tauri.pro
@@ -0,0 +1,57 @@
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("rust")
}
android {
compileSdk = 33
namespace = "com.tauri.api"
defaultConfig {
manifestPlaceholders["usesCleartextTraffic"] = "false"
applicationId = "com.tauri.api"
minSdk = 24
targetSdk = 33
versionCode = 1
versionName = "1.0"
}
buildTypes {
getByName("debug") {
manifestPlaceholders["usesCleartextTraffic"] = "true"
isDebuggable = true
isJniDebuggable = true
isMinifyEnabled = false
packaging { jniLibs.keepDebugSymbols.add("*/arm64-v8a/*.so")
jniLibs.keepDebugSymbols.add("*/armeabi-v7a/*.so")
jniLibs.keepDebugSymbols.add("*/x86/*.so")
jniLibs.keepDebugSymbols.add("*/x86_64/*.so")
}
}
getByName("release") {
isMinifyEnabled = true
proguardFiles(
*fileTree(".") { include("**/*.pro") }
.plus(getDefaultProguardFile("proguard-android-optimize.txt"))
.toList().toTypedArray()
)
}
}
kotlinOptions {
jvmTarget = "1.8"
}
}
rust {
rootDirRel = "../../../"
}
dependencies {
implementation("androidx.webkit:webkit:1.6.1")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.8.0")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.4")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0")
}
apply(from = "tauri.build.gradle.kts")
@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.api"
android:usesCleartextTraffic="${usesCleartextTraffic}">
<activity
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode"
android:launchMode="singleTask"
android:label="@string/main_activity_title"
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
</application>
</manifest>
@@ -0,0 +1,3 @@
package com.tauri.api
class MainActivity : TauriActivity()
@@ -0,0 +1,30 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>
@@ -0,0 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

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