Compare commits

...

1601 Commits

Author SHA1 Message Date
github-actions[bot]
cd841d8e33 Apply Version Updates From Current Changes (#11659)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
2025-01-02 19:29:17 +01:00
renovate[bot]
3d8a39aa4a chore(deps): update rust crate resvg to 0.44.0 (dev) (#12126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 16:55:09 +01:00
renovate[bot]
50e92d097b chore(deps): update rust crate worker to 0.5 (dev) (#12127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2025-01-02 16:44:07 +01:00
renovate[bot]
bc4dfcd798 chore(deps): update rust crate pico-args to 0.5 (dev) (#12125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 16:12:18 +01:00
renovate[bot]
832ad10e3a chore(deps): update rust crate cargo_metadata to 0.19 (dev) (#12113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2025-01-02 15:54:39 +01:00
renovate[bot]
0198354961 chore(deps): update rust crate oxc crates to 0.38 (dev) (#12122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2025-01-02 14:56:23 +01:00
renovate[bot]
c0a5a10cff chore(deps): update rust crate notify-debouncer-mini to 0.5 (dev) (#12118)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2025-01-02 14:08:50 +01:00
Dmitry Dygalo
d7f48cb324 chore(deps): Update jsonschema to 0.28 (#12089) 2025-01-02 13:22:08 +01:00
Tony
a16796a555 fix(api): use array for channel queueing (#12069) 2025-01-02 12:19:50 +01:00
renovate[bot]
231e9a5ee1 chore(deps): update rust crate image to 0.25.5 (dev) (#12105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fabian-Lars <github@fabianlars.de>
2025-01-02 01:11:42 +01:00
renovate[bot]
b0ddee8992 chore(deps): update rust crate wry to 0.48 (dev) (#12101)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2025-01-02 01:01:31 +01:00
renovate[bot]
5319325886 chore(deps): update dependency @napi-rs/cli to v2.18.4 (dev) (#12097)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-01 23:41:07 +01:00
renovate[bot]
ccce63f8c8 chore(config): migrate renovate config (#12099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fabian-Lars <github@fabianlars.de>
2025-01-01 23:35:57 +01:00
renovate[bot]
da958395ff chore(config): migrate renovate config (#12096)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Fabian-Lars <github@fabianlars.de>
2025-01-01 23:28:38 +01:00
renovate[bot]
1737df3e33 chore(deps) Update Tauri Bundler (dev) (#11669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2025-01-01 23:12:29 +01:00
renovate[bot]
2df426ed1d chore(deps) Update Rust crate syn to v2.0.94 (dev) (#12094)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-01 22:27:28 +01:00
renovate[bot]
361fdb3585 chore(deps) Update Rust crate syn to v2.0.94 (dev) (#12088)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-01 22:16:42 +01:00
renovate[bot]
838b2b8b3b chore(deps) Update Tauri Build (#12087)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-01 22:24:34 +08:00
renovate[bot]
f87e0485ca chore(deps) Update Tauri API Definitions (#12084)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-01 22:21:46 +08:00
renovate[bot]
b794ca4a27 chore(deps) Update Rust crate syn to v2.0.93 (#12083)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-01 22:21:08 +08:00
Dimitris Apostolou
8f282c6305 deps: fix crate vulnerabilities (#12080) 2025-01-01 00:20:15 +02:00
Lieke
ed118da266 fix: fix typo in AndroidConfig docstring (#12003) 2024-12-30 01:25:29 +02:00
Shaun Hamilton
c8700656be fix(tauri-cli): prevent accidental object permission rm (#11985) 2024-12-30 01:18:50 +02:00
renovate[bot]
cdd1ebf81f chore(deps) Update Tauri Codegen (#12049)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-27 11:55:57 +08:00
renovate[bot]
253b1872f1 chore(deps) Update Tauri API Definitions (#12050)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-27 11:40:36 +08:00
renovate[bot]
3ac76bec77 chore(deps) Update Tauri Build to v1.0.95 (#12047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-27 11:37:27 +08:00
renovate[bot]
faeec8e965 chore(deps) Update Rust crate syn to v2.0.91 (#12046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-27 11:36:28 +08:00
stringhandler
e349dfe572 fix: fix panic caused by removed_resource.is_none (fix #11955) (#12000) 2024-12-23 16:11:31 +02:00
Andrew Ferreira
fdaf48fc4a chore: fix crates.io link (#12018)
* chore: fix crates.io link

* chore: format file
2024-12-21 02:46:37 +02:00
renovate[bot]
7d38ee987e chore(deps) Update Tauri Codegen (dev) (#11999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-19 16:22:59 +01:00
renovate[bot]
f1167143cd chore(deps) Update dependency @types/node to v22.10.2 (dev) (#11943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-19 13:28:50 +01:00
renovate[bot]
2601811cef chore(deps) Update Tauri Build to v1.0.24 (dev) (#11998)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-19 13:22:40 +01:00
Amr Bashir
ca7f025fd8 fix(core): return an error when accessing unmanaged state in command (#11958)
closes #11949
2024-12-12 23:05:32 +02:00
Tony
17bcec8abe chore(deps): update all js dev dependencies (#11941)
- Update vite to v6
- Update svelte to v5
- Bump nanoid to fix audit
- Align api and cli to both use the same node types version
2024-12-11 12:55:38 +02:00
renovate[bot]
f5eacf3283 chore(deps) Update Tauri API Definitions (#11936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 13:45:49 +08:00
renovate[bot]
6bbf3649f9 chore(deps) Update Tauri Codegen (#11939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 13:45:08 +08:00
renovate[bot]
22b26a2e36 chore(deps) Update Tauri Build to v1.0.94 (#11938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 13:43:10 +08:00
renovate[bot]
2a120bdcc0 chore(deps) Update Rust crate syn to v2.0.90 (#11935)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 12:58:54 +08:00
简静凡
0ae06c5ca8 fix: the exclude path in file Cargo.toml of plugin template generated by cli (#11914) 2024-12-09 15:36:27 +01:00
Amr Bashir
afad8067d1 chore(deps): update tao to 0.31 (#11906) 2024-12-09 12:16:33 +02:00
John Carmack
b37741da6a fix(feature/specta): Resolve error when using latest version of specta with tauri specta feature (#11871)
* Update specta feature to use latest specta version; add specta-util dependency (required in specta v2 rc.20)

* Add .changes file

* Update crates/tauri/Cargo.toml

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-12-05 08:56:16 -03:00
Fabian-Lars
2b8a981050 refactor(cli): use cargo run for tauri dev (#11694)
* x

* todo

* lint

* lint

* rename fn

* lint

* lint

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-12-05 07:38:06 -03:00
Fabian-Lars
1f65fd2bb7 fix(cli): Statically compile msvc runtime (#11769)
* fix(cli): Statically compile msvc runtime

fixes https://github.com/tauri-apps/tauri/issues/11642
ref https://github.com/swc-project/swc/pull/7965

i only added it for x64 for now but we should monitor x32 (swc removed it for this one again) and aarch64 (swc never added it).
x32 is fairly rare as a dev system and aarch64 didn't seem much testing in general (as a dev system) so i'd prefer to wait and see if it's needed.

note that i don't know if any other tooling (rust etc) need the dyn runtime so that's also something to monitor

* 32bit and arm64
2024-12-04 15:32:09 -03:00
renovate[bot]
9f51bbf1de chore(deps) Update Tauri Codegen (#11866)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-04 14:51:30 +08:00
renovate[bot]
475597f97c chore(deps) Update Rust crate syn to v2.0.90 (#11865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-04 14:49:44 +08:00
renovate[bot]
e61225bcc4 chore(deps) Update Rust crate anyhow to v1.0.94 (#11864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-04 14:49:21 +08:00
renovate[bot]
01c74f4424 chore(deps) Update Tauri API Definitions (#11867)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-04 14:48:45 +08:00
Fabian-Lars
882b0aded1 chore: apply clippy suggestions. (#11849)
* chore: apply clippy suggestions.

* .

* .
2024-12-02 20:36:06 -03:00
Fabian-Lars
89e30ef20d fix(core): Remove os check on data_store_identifier (#11817)
* fix(core): Remove os check on `data_store_identifier`

* typo
2024-12-02 20:32:02 -03:00
Fabian-Lars
a692c8937f fix(bundler): create tauri tools dir first. make tools executable. (#11852)
* not sure what's going on yet

* .

* fix(bundler): try to create tauri tools dir

* Discard changes to .github/workflows/test-cli-js.yml

* fix
2024-12-02 20:29:42 -03:00
Fabian-Lars
8ba5e16384 ci: msrv compliant lockfile. test cli with 1.77.2 instead of stable. (#11851) 2024-12-02 20:28:45 -03:00
Fabian-Lars
b50a1ac0ef fix(core): Add background color permissions (#11850)
fixes #11848
2024-12-02 20:27:25 -03:00
Shi Yan
0e2f0b29cd docs: Add missing info regarding the drop position offset. (#11406)
* Add missing document regarding the drop position offset.

* Update webview.ts

---------

Co-authored-by: Fabian-Lars <github@fabianlars.de>
2024-12-02 20:40:56 +01:00
renovate[bot]
983634a41f chore(deps) Update dependency @types/node to v22.9.1 (#11750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 19:48:33 +01:00
renovate[bot]
2c3e000f73 chore(deps) Update Rust crate url to v2.5.4 (#11745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 15:38:10 +01:00
Elias Sjödin
a6e84f7d2c fix(api.js): wrong command for isAbsolute (#11835) 2024-11-30 22:04:48 +01:00
Fabian-Lars
d6bed20a0e refactor(bundler): Move appimage bundler script logic into rust (#11758) 2024-11-28 04:52:24 +02:00
lars-berger
18bd639f6e feat(macos): Add with_data_store_identifier to WebviewBuilder (#11798) 2024-11-28 04:43:34 +02:00
Fabian-Lars
53f808674b feat(bundler): add option to disable CI for just the dmg bundler (#11799) 2024-11-28 04:41:19 +02:00
renovate[bot]
9f0d902f6b chore(deps) Update Tauri Build to v1.0.215 (#11744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-27 13:18:33 +08:00
renovate[bot]
df27b4d94c chore(deps) Update Tauri Macros (#11803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-27 13:10:41 +08:00
Fabian-Lars
5188c0fae2 feat(core): Add Scope::is_forbidden (#11767) 2024-11-26 14:31:48 +02:00
lars-berger
ba6f370147 fix(core): Initialize command cache when a capability is added (#11785) 2024-11-26 14:18:55 +02:00
Amr Bashir
f884bae75b feat: add tauri::Builder::on_tray_icon_event (#11742) 2024-11-21 15:06:57 +02:00
Amr Bashir
fc30b20bea feat(api/tray): add TrayIcon.setShowMenuOnLeftClick method (#11726) 2024-11-21 14:50:41 +02:00
Liigo Zhuang
7a9b920c3e docs: Remove header images from inline docs (#11749) 2024-11-21 14:48:49 +02:00
Amr Bashir
12a48d1e26 fix(api): transform icon when creating icon menu item and predefined about menu item with icon (#11741) 2024-11-21 14:22:51 +02:00
AHQ
020ea05561 feat: Implement Badging API (#11661) 2024-11-20 02:59:28 +02:00
Amr Bashir
a09e48e396 fix(core): manually simplify patterns for fs scope (#11730)
closes #11614

Remove UNC manually, instead of `dunce::simplified` because `path` could have `*` in it and that's not allowed on Windows and `dunce::simplified` will check that and return `path` as is without simplification resulting in a missing pattern in scope

for the scope pattern `\\?\C:\path\to\dir\**`, we expect the scope to have:
- `\\?\C:\path\to\dir\**`
- `C:\path\to\dir\**`

but if we use `dunce::simplified`, it will see `**` as invalid path component on Windows and will not simplify the path resulting in a scope that only has `\\?\C:\path\to\dir\**`
2024-11-20 00:50:10 +02:00
renovate[bot]
b37c208d61 chore(deps) Update Tauri API Definitions (#11668)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 13:13:44 +08:00
Fabian-Lars
72feaf99fc refactor(bundler): remove unused fs utils, add http utils (#11716) 2024-11-19 01:23:20 +02:00
Sander Cox
d86aaccb0b enhance: allow show_menu_on_left_click on Windows (#11729) 2024-11-19 00:25:20 +02:00
Kévin TURMEL
93a3a043d3 fix(windows): add Portuguese language in nsis bundle (fix #11725) (#11727) 2024-11-19 00:11:16 +02:00
Fabian-Lars
2bc46b061c docs(examples): fix file-assoc readme cargo build command (#11711)
closes #11703
2024-11-18 19:50:41 +02:00
Fabian-Lars
b63262cd4d fix(api.js): Change cb type in mockIPC to return unknown (#11724) 2024-11-18 17:50:39 +02:00
Amr Bashir
f2814ed538 fix(cli/info): use XDG_SESSION_DESKTOP instead of DESKTOP_SESSION (#11663) 2024-11-14 18:02:22 +02:00
renovate[bot]
ff39ad93b7 chore(deps) Update Tauri Codegen (#11667)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 13:36:14 +08:00
renovate[bot]
9cb6cad284 chore(deps) Update Rust crate serde to v1.0.215 (#11666)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 13:21:07 +08:00
jLynx
cccb308c7b feat(bundler): create signature for .deb bundle (#11562) 2024-11-13 03:12:06 +02:00
SpikeHD
dc4d794776 feat(windows, linux): add WebviewWindowBuilder/WebviewBuilder::extensions_path (#11628) 2024-11-13 01:20:06 +02:00
Tony
46935212b6 fix: parse json5 capability files when config-json5 is enabled (#11658) 2024-11-12 16:44:37 +02:00
Amr Bashir
74212d40d8 feat(cli): include linux DE and session type in tauri info (#11653) 2024-11-12 15:59:47 +02:00
Del
c3b1fced38 docs: correct payload property for DragDropEvent.over example (#11648) 2024-11-11 17:14:36 +01:00
github-actions[bot]
ef2592b5a8 Apply Version Updates From Current Changes (#11646)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-11-11 16:25:14 +02:00
amrbashir
7f81f05236 chore: rename change file 2024-11-11 15:45:22 +02:00
Amr Bashir
e8a50f6d76 fix(core): hard code BaseDirectory integer values to avoid regressions when reordering the variants (#11645)
closes #11633
2024-11-11 14:58:16 +02:00
Daniel Gerhardt
5e94354875 fix(api/dpi): fix toLogical and toPhysical for positions (#11639) 2024-11-11 14:21:25 +02:00
Kornel
0fcef3f941 docs: document vanilla JS import alternative (#11632) 2024-11-11 14:21:08 +02:00
github-actions[bot]
86f22f0ec9 apply version updates (#11440)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-11-09 15:47:39 +02:00
Amr Bashir
3f6f07a1b8 chore(deps): update wry to 0.47 and tao to 0.30.6 (#11627) 2024-11-09 04:14:22 +02:00
Lucas Fernandes Nogueira
60e86d5f6e fix(cli): android dev not working on Windows without --host (#11624)
ref https://discord.com/channels/616186924390023171/1291159454397628477
2024-11-09 02:57:36 +02:00
renovate[bot]
b28435860c chore(deps) Update Rust crate thiserror to v2 (dev) (#11604)
* chore(deps) Update Rust crate thiserror to v2

* thiserror v2 on all crates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-11-08 08:21:38 -03:00
Amr Bashir
229d7f8e22 fix(core): fix child webviews on macOS and Windows treated as full webview window (#11616)
* fix(core): fix child webviews on macOS and Windows treated as full webview window

closes #11452

* Update .changes/child-windows-macos.md
2024-11-08 08:04:14 -03:00
Ville Säävuori
c561786844 docs: fix typos in drag&drop event.payload (#11620)
* fix: typo in drag&drop event.payload

'hover' -> 'over'

* fix: another typo

'hover' -> 'over'
2024-11-08 09:50:10 +08:00
Shaun Hamilton
6bf917941f feat(cli): add tauri remove command (#11322) 2024-11-07 19:58:25 +02:00
Tony
8e8312bb82 ci: unpin ravif (#11608) 2024-11-07 09:09:05 +01:00
renovate[bot]
f550a3f471 chore(deps) Update Tauri Bundler (dev) (#11601)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 13:25:49 -03:00
Amr Bashir
4d545ab3ca feat: background color APIs (#11486)
* feat: background color APIs

closes #10519
closes #1564

* clippy

* git branch

* bundle

* fix hex color schema pattern

* add missing `^`

* fix iOS

* revert test

* revert apple-codesign bump

* fmt

* add change files

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-11-06 13:21:47 -03:00
39zde
fabc2f283e feat: add HeaderConfig to SecurityConfig (#11485) 2024-11-06 16:16:46 +02:00
renovate[bot]
6b3c82aa90 chore(deps) Update Tauri macOSSign (dev) (#11541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 10:41:34 -03:00
griffi-gh
3781429147 enhance: always check parent directory (fix #8679) (#11429)
* enhance: always check parent directory (fix #8679)

* Update crates/tauri-utils/src/platform.rs

* add change file

* fix crate

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-11-06 10:41:13 -03:00
renovate[bot]
15d6515eb1 chore(deps) Update dependency @types/node to v22 (dev) (#11545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 09:54:52 -03:00
renovate[bot]
b63353bd61 chore(deps) Update Tauri API Definitions (dev) (#11597)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 07:49:59 -03:00
renovate[bot]
e8c0c57909 chore(deps) Update Tauri Codegen (dev) (#11596)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 07:49:38 -03:00
renovate[bot]
58392a5221 chore(deps) Update Rust crate handlebars to v6.2.0 (dev) (#11544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 07:49:18 -03:00
renovate[bot]
8061fb2da8 chore(deps) Update Rust crate anyhow to v1.0.93 (#11598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 16:04:51 +08:00
renovate[bot]
e835751d4f chore(deps) Update Rust crate syn to v2.0.87 (#11595)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 11:40:30 +08:00
renovate[bot]
0a170d0716 chore(deps) Update Rust crate anyhow to v1.0.92 (#11594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 11:39:56 +08:00
renovate[bot]
03828587b5 chore(deps) Update Tauri API Definitions (#11543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 11:31:40 +08:00
Amr Bashir
5c4b830843 feat(api): add SERIALIZE_TO_IPC_FN const and implement it for dpi types, add more constructors (#11191) 2024-11-05 23:30:17 +02:00
Amr Bashir
cbc095ec5f feat: add WebviewWindow/Webview::devtools (#11451)
* feat: add `WebviewWindow/Webview::devtools`

closes #10849

* clippy

* fix ToTokens

* document default behavior

* move builder usage

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-11-05 16:00:48 -03:00
Amr Bashir
2a75c64b54 feat(core): add window_class name API on Windows (#11469)
* On Windows, set name of Window Class, closes #7498
allow to customize it instead of current value hard coded "Window Class"

* feat(windows): add window_classname, closes #7498
allow to customize the window class name instead of current value hard coded "Window Class"

    * feat: add window_classname, closes #7498

    * add changes file

    * Update core/tauri-config-schema/schema.json

    * Update tooling/cli/schema.json

* missing pieces after merge

* clippy

---------

Co-authored-by: Géraud-Loup <47665233+geraudloup@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-11-05 15:18:47 -03:00
Amr Bashir
1b6b2cfaa1 feat(cli): process bundle > windows > wix > fragmentPaths with Handlebars (#11521)
* feat(cli): process `bundle > windows > wix > fragmentPaths` with Handlebars

closes #11520

* remove unneeded register_template_string

* Update crates/tauri-bundler/src/bundle/windows/msi/mod.rs

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-11-05 14:46:54 -03:00
Amr Bashir
17c6952aec enhance(core): use diagnostic::on_unimplemented on rustc 1.78 and newer for async commands with references (#11522)
* enhance(core): use `diagnostic::on_unimplemented` on rustc 1.78 and newer for async commands with references

* change file

* clippy

* clippy

* add TODO
2024-11-05 14:20:30 -03:00
Amr Bashir
7af01ff2ce fix(cli): fix tauri migrate failing to install NPM deps when running from Deno (#11523)
* fix(cli): fix `tauri migrate` failing to install NPM deps when running from Deno

* clippy
2024-11-05 14:16:32 -03:00
Amr Bashir
100a4455aa fix(cli): fix yarn berry detection (#11529)
closes #11495
2024-11-05 14:15:48 -03:00
Amr Bashir
4191a7a53d fix(tray): build tray on main thread (#11583) 2024-11-05 17:42:08 +02:00
Amr Bashir
f37e97d410 feat: add use_https_scheme for Windows and Android (#11477)
* feat: add `use_https_scheme` for Windows and Android

closes #11252

* fix compilation

* Apply suggestions from code review

Co-authored-by: Fabian-Lars <github@fabianlars.de>

* change wording

* add migrations

* migrate `dangerousUseHttpScheme`

* fmt

* infer AssetResolver::get https scheme config

* fix tests

---------

Co-authored-by: Fabian-Lars <github@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-11-05 09:48:59 -03:00
Amr Bashir
058c0db72f feat(bundler): add option to configure RPM compression (#11584) 2024-11-05 14:08:08 +02:00
Mikkel Tønder
f8994b214e fix(event): handle AnyLabel listeners in emit_to (#11581)
closes #11561
2024-11-04 14:31:18 +02:00
Kornel
c33bbf4574 enhance: include the path in ACL I/O errors (#11575) 2024-11-04 14:30:43 +02:00
Amr Bashir
129414faa4 fix: fix webview not focused by default (#11569)
* fix: fix webview not focused by default

closes #10746

* fix compile

* typo

* fix compile again

* clippy
2024-11-04 13:58:47 +02:00
renovate[bot]
12ffc19ce0 chore(deps) Update Rust crate regex to v1.11.1 (#11542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 12:19:31 +08:00
renovate[bot]
9f472591cc chore(deps) Update Rust crate serde to v1.0.214 (#11540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 12:00:51 +08:00
Andrii Bodnar
d25dd9e31d docs: fix capability configuration examples (#11537) 2024-10-30 00:33:42 +03:00
Lucas Fernandes Nogueira
c43d5df158 feat(cli): associate newly created capability with the main window (#11512)
without this change the capability is not applied to any context and it might be hard for users to figure out why
2024-10-28 14:05:24 +03:00
Alex Adewole
1065f632f2 feat(cli): remove UNC path prefix in TAURI_APP_PATH and TAURI_FRONTEND_PATH (#11514) 2024-10-28 12:21:42 +03:00
Vincent Esche
ac22950f39 fix(cli): Fix mixup of TAURI_APP_PATH and TAURI_FRONTEND_PATH (#11492)
* Fix mixup of `env_tauri_app_path()` and `env_tauri_frontend_path()` in tauri's path resolutions

* Rename functions in `app_paths` to match their corresponding, publicly exposed env var keys

* Rename `app_dir`/`app_path` variables that deal with the frontend app's directory to `frontend_dir

* Rename `APP_DIR` to `FRONTEND_DIR`

* Improve comment on meaning of tauri path env vars
2024-10-27 17:55:23 -03:00
阿良仔
a8105eccb2 docs: fix wrongly rendered links on docs.rs (#11483) 2024-10-24 16:02:49 +03:00
renovate[bot]
888277ec40 chore(deps) Update Rust crate syn to v2.0.85 (#11472)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-24 13:23:24 +08:00
renovate[bot]
0014f9ae69 chore(deps) Update dependency @types/node to v20.17.0 (#11470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-24 13:15:04 +08:00
Amr Bashir
8036c78e08 feat(core/path): add PathResolver::home_dir on Android (#11455)
ref: https://github.com/tauri-apps/tauri/issues/10478#issuecomment-2383754176
2024-10-24 06:43:02 +03:00
renovate[bot]
516c7d9f63 chore(deps) Update Rust crate syn to v2.0.83 (#11473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-24 10:39:59 +08:00
Amr Bashir
54cbf59b5a fix(api/menu): fix submenus when created using an object in items field in the object passed to Menu/Submenu.new (#11441)
* fix(api/menu): fix submenus when created using an object in `items` field in the object passed to `Menu/Submenu.new`

closes #11435

also closes #11422 as I included the docs in this PR

* Update .changes/js-submenu-in-options.md

* Update packages/api/src/menu/base.ts

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-10-23 10:47:32 -03:00
renovate[bot]
ce864cebfd chore(deps) Update Rust crate image to v0.25.4 (dev) (#11457)
* chore(deps) Update Rust crate image to v0.25.4

* Also bump json-patch and resvg

* Just json-patch for now

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tony <legendmastertony@gmail.com>
2024-10-23 17:46:59 +08:00
renovate[bot]
ed78f52cd1 chore(deps) Update Rust crate json-patch to v3 (#11466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-23 17:25:16 +08:00
renovate[bot]
ccf20eb3ff chore(deps) Update Rust crate json-patch to v3 (#11467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-23 17:25:08 +08:00
renovate[bot]
d0c1189b91 chore(deps) Update Tauri API Definitions (#11464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-23 17:04:56 +08:00
renovate[bot]
0d31fe99c7 chore(deps) Update Rust crate thiserror to v1.0.65 (#11463)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-23 16:57:41 +08:00
renovate[bot]
d4b3659523 chore(deps) Update Rust crate proc-macro2 to v1.0.89 (#11459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-23 16:25:22 +08:00
renovate[bot]
8e083c99c8 chore(deps) Update Tauri Build to v1.0.91 (#11456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-23 12:25:08 +08:00
Amr Bashir
8c6d1e8e6c fix(runtime-wry): run cursor_position getter on main thread (#11401)
* fix(runtime-wry): run `cursor_position` getter on main thread

closes #10340

* clippy

* clippy

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-10-22 09:59:21 -03:00
Amr Bashir
6dea12a067 feat(bundler): add recommends for deb and rpm (#11402)
closes #10351
2024-10-21 15:38:14 -03:00
Amr Bashir
1f311832ab enhance(cli): add context to public/secret key decoding errors (#11405)
* enhance(cli): add context to public/secret key decoding errors

closes #10488

* Update .changes/cli-updater-errorr.md

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-10-21 15:37:28 -03:00
Czxck001
e0d1307d3f feat(cli) Make tauri migrate update $schema in tauri.conf.json (#11414)
* Make `tauri migrate` update $schema in tauri.conf.json

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-10-21 15:24:59 -03:00
Lucas Fernandes Nogueira
f0da0bde87 feat(core): add WebviewWindow::resolve_command_scope (#11439)
* feat(core): add WebviewWindow::resolve_command_scope

This new functionality exposes the `CommandScope` resolution as a function (currently only commands can resolve them as a dependency injection via CommandItem)

This function is useful to validate the configuration at runtime (do some asserts at setup phase to ensure capabilities are properly configured) and to resolve scopes in a separate thread or context

* adjust return type
2024-10-21 15:16:08 -03:00
Lucas Nogueira
a5bf48eab0 fix: CLI version on metadata file 2024-10-21 09:24:34 -03:00
Lucas Nogueira
7a1a3276c4 chore: bump tauri-utils dependency versions 2024-10-21 07:30:06 -03:00
Lucas Nogueira
8ca0e4dd2c chore(ci): bump tauri-utils with WiX version change 2024-10-20 11:13:40 -03:00
github-actions[bot]
1367ff5ec6 apply version updates (#11373)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-10-20 10:29:13 -03:00
Lucas Fernandes Nogueira
fbb45c674c fix(api): broken addPluginListener implementation, closes #8068 (#11423) 2024-10-20 09:07:51 -03:00
Lucas Fernandes Nogueira
eb61d44f9f feat(core): fallback to Window and AppHandle resource table on close (#11398)
this changes the resource plugin close() API to fallback to the parent window and AppHandle resource tables, letting the JS to delete global resources.
The need for this was brought up on https://github.com/tauri-apps/plugins-workspace/pull/1860#issuecomment-2419175001
the store plugin stores the resources in the AppHandle, and we want the existing close() API to work on global resources otherwise every consumer needs their own resource close commands
2024-10-17 12:37:35 -03:00
Amr Bashir
c8f55b615d feat(bundler): add wix > version option (#11388)
* feat(bundler): add `wix > version` option

closes #11253

* Update crates/tauri-bundler/src/bundle/settings.rs

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-10-17 12:37:15 -03:00
renovate[bot]
bd1b2a1e85 chore(deps) Update Tauri API Definitions (#10807)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-17 11:04:06 -03:00
renovate[bot]
37557ffa35 chore(deps) Update Tauri CLI (dev) (#10808)
* chore(deps) Update Tauri CLI

* html5ever 0.26

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-10-17 11:03:46 -03:00
Amr Bashir
6cd917c227 feat(core): add methods for predefined items with specific text on Menu/SubmenuBuilder (#11390)
closes #11326
2024-10-17 11:03:20 -03:00
renovate[bot]
8278a36318 chore(deps) Update Rust crate uuid to v1.11.0 (#11049)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-10-17 10:24:00 -03:00
renovate[bot]
f8b559dacd chore(deps) Update Rust crate windows-registry to 0.3.0 (#11193)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-17 10:23:30 -03:00
renovate[bot]
add09c8034 chore(deps) Update Rust crate brotli to v7 (#11195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-17 10:21:30 -03:00
renovate[bot]
ea50f65f89 chore(deps) Update Rust crate brotli to v7 (#11197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-10-17 10:07:20 -03:00
Huang Xin
e1bf6ef8cb fix(core): expose content-range header in asset protocol (#11374) 2024-10-17 08:41:27 -03:00
renovate[bot]
20c142f749 chore(deps) Update Rust crate json-patch to v3 (#11377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-17 08:38:19 -03:00
Vincent Esche
e4c9268b19 feat(cli): make tauri/cli fully support projects with non-standard structure (#11258)
* feat(cli): add support for providing custom app/src paths to tauri's CLI via optional env vars

* fix tests

* rename env vars (app vs src is confusing)

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-10-17 08:24:20 -03:00
Lucas Fernandes Nogueira
2e88633ba4 chore: remove references to unused __TAURI_INTERNALS__.metadata (#11369) 2024-10-15 13:26:43 -03:00
Lucas Nogueira
25cc5655c0 chore(ci): delete processed change file 2024-10-14 23:20:41 -03:00
github-actions[bot]
df83e5c7fc apply version updates (#11361)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-10-14 22:46:51 -03:00
Lucas Fernandes Nogueira
3cb73d08c6 fix(core): mark event commands as async (#11355)
* fix(core): mark event commands as async

this fixes a deadlock on certain situations

* add tag
2024-10-14 22:44:22 -03:00
Lucas Fernandes Nogueira
ef2482ddec fix(core): crash on macOS older than Sequoia (#11366)
ref https://github.com/tauri-apps/wry/pull/1389
2024-10-14 21:55:42 -03:00
Lucas Fernandes Nogueira
e3b09be7f0 feat(core): add channel interceptor API (#11362) 2024-10-14 19:48:22 -03:00
Amr Bashir
bcf279278d feat(core): add ContextMenu::hpopupmenu on Windows (#11354)
* feat(core): add `ContextMenu::hpopupmenu` on Windows

closes #11339

* Update crates/tauri/src/menu/mod.rs

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-10-14 13:46:21 -03:00
Kartonrad
68d4460361 docs(android): warn users that passing raw bytes over ipc is not possible on android (#11333)
* Warn that android is not supported

* Warn that Android is not supported.

* Update crates/tauri/src/ipc/mod.rs

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-10-14 13:19:46 -03:00
Amr Bashir
f3f521f038 fix(core): fallback to WRY_ANDROID_PACKAGE with backticks replaced (#11348)
ref: https://github.com/tauri-apps/tauri/issues/11332
2024-10-14 13:15:15 -03:00
renovate[bot]
e75f0d27ef chore(deps) Update Rust crate proc-macro2 to v1.0.87 (#11192)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-13 22:44:29 +08:00
Paul
e63432fbfc docs: fix "Capability" documentation example (#11337) 2024-10-13 13:23:58 +02:00
Lucas Fernandes Nogueira
627e90c304 fix(ci): install librsvg2-dev on the publish cli workflow (#11331) 2024-10-12 17:57:18 -03:00
github-actions[bot]
1bfe2485bb Apply Version Updates From Current Changes (#11255)
* apply version updates

* tauri 2.0.3 (patch bump)

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-10-12 12:28:16 -03:00
Lucas Fernandes Nogueira
4a2d51a73a fix(ci): add missing librsvg2-dev dependency for e2e tests (#11329) 2024-10-12 11:27:33 -03:00
Lucas Fernandes Nogueira
6a768cb679 fix(cli): verbose output on tests (#11328) 2024-10-12 10:58:42 -03:00
Lucas Fernandes Nogueira
e55bd4ba7a fix(api): docs for core module __TAURI__ usage (#11324) 2024-10-12 16:32:54 +03:00
Amr Bashir
61bffa4feb fix(bundler): match on Path::extension instead of using Path::ends_with (#11327) 2024-10-12 10:31:11 -03:00
Amr Bashir
2d087ee4b7 fix: fix incorrect label passed to ipc protocol (#11268)
* fix: fix incorrect label passed to `ipc` protocol

closes #11171

* update lock file

* Update .changes/incorrect-label-linux-command.md

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

* Update .changes/incorrect-label-linux-protocol.md

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

* clippy

* try wry from dev

* fix macos build

* fix ios build

* update wry

* Update .changes/incorrect-label-linux-command.md

* wry 0.46

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-10-12 07:46:51 -03:00
Amr Bashir
069c05e44f fix(cli): resolve bundle > icon glob when searching for .ico for MSI installer (#11315)
* fix(cli): resolve `bundle > icon` glob when searching for `.ico` for MSI installer

closes #11220

* Update crates/tauri-bundler/src/bundle/settings.rs

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

* Update crates/tauri-bundler/src/bundle/windows/msi/mod.rs

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

* Update crates/tauri-bundler/src/bundle/windows/msi/mod.rs

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

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-10-11 23:23:55 -03:00
Amr Bashir
b3563e3d6a feat(cli): add deno support (#11304)
* feat(cli): add deno support

ref: https://github.com/denoland/deno/issues/20738

* Update packages_nodejs.rs

* typo

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-10-11 16:48:22 -03:00
Amr Bashir
d609bef9fd fix(cli & core): use unescaped package id in proguard file (#11314)
* fix(cli & core): use unescaped package id in proguard file

closes #11310

* add monkey patch for wry proguard

* fix tests

* typo

* remove wry fix

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-10-11 16:17:29 -03:00
Lucas Fernandes Nogueira
4731f0cf31 fix(core): expose ipc::Invoke (#11290) 2024-10-11 08:52:50 -03:00
Lucas Fernandes Nogueira
504bb8ec8c fix(bundler): enhance DMG creation script (#11287) 2024-10-11 08:52:19 -03:00
Amr Bashir
1d3f51e100 feat: add back tauri::Builder::on_menu_event (#11228)
* feat: add back `tauri::Builder::on_menu_event`

* fix build

* fix build and fmt

* fix mobile
2024-10-09 11:09:42 -03:00
Huang Xin
04fd3a7db5 fix(core): return empty body for HEAD requests to asset protocol, closes #11263 (#11264) 2024-10-08 04:07:42 +03:00
Alex Sandri
eda5713eab feat(bundler/nsis): add Italian language (#11242) 2024-10-07 19:56:14 +03:00
Lucas Fernandes Nogueira
3e9fd0665c fix: npm audit (#11243)
the audit failed, so the 2.0.2 release is failing. I'm also adding the latest merged change to the 2.0.2 release in this change so we're in sync in the changelog.
2024-10-07 19:23:28 +03:00
Amr Bashir
a49a19ffa3 fix(bundler): wrap Exec in desktop with quotes, rename appimage main binary if has spaces (#11218)
* fix(bundler): wrap `Exec` in desktop with quotes, rename appimage main binary if has spaces

* Update .changes/main-binary-name-spaces-linux.md [skip ci[

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-10-06 14:08:38 -03:00
github-actions[bot]
9102faa4b3 apply version updates (#11209)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-10-06 08:41:18 -03:00
Lucas Fernandes Nogueira
03e7590429 feat(core): expose invoke key for custom IPC implementations (#11235)
custom IPC systems that manually call Webview::on_message must know the invoke key checked by Tauri. This exposes that key in the App/AppHandle instances.

This is safe because the key is never leaked to remote denied webview URLs
2024-10-06 07:36:00 -03:00
Hamir Mahal
e2a4da027c fix: usage of node12 which is deprecated (#11224) 2024-10-05 13:22:18 -03:00
Lucas Fernandes Nogueira
e968b3d252 fix(api): actually publish with the latest tag (#11219)
we missed one `--tag next` usage in #11199
2024-10-04 10:13:57 -03:00
Krishna Chaitanya
858b3516a0 fix(windows): fix command bug in update elevated task (fix #11216) (#11217) 2024-10-04 10:01:48 +03:00
Lucas Fernandes Nogueira
4475fbb502 chore(cli): update cargo-mobile2 to adjust lib name validation (#11208) 2024-10-03 13:46:49 -03:00
github-actions[bot]
6d98f2462b apply version updates (#11207)
Co-authored-by: tweidinger <tweidinger@users.noreply.github.com>
2024-10-03 09:01:02 -03:00
Lucas Fernandes Nogueira
6f3a2b38f0 chore(tauri): enhance Manager::add_capability documentation (#11206)
* chore(tauri): enhance Manager::add_capability documentation

* enhance example

* add note on config
2024-10-03 20:36:36 +09:00
Lucas Fernandes Nogueira
0ab2b33064 fix: downgrade MSRV to 1.77.2 to support Windows 7 (#11205)
* fix: downgrade MSRV to 1.77.2 to support Windows 7

* add chang file
2024-10-03 08:07:50 -03:00
github-actions[bot]
983e7800b6 apply version updates (#11201)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-10-02 10:54:04 -03:00
Lucas Fernandes Nogueira
be683e2ac3 fix: publish NPM packages with latest tag (#11199) 2024-10-02 10:37:42 -03:00
Lucas Fernandes Nogueira
c7b9a53525 chore: promote to v2 stable (#11198)
* chore: promote to v2 stable

- deletes all RC change files
- adds a new change file to promote all packages to v2 stable
- manually fix the tauri-driver, tauri-macos-sign, tauri-bundler versions so the next covector bump will move them to 2.0.0
- manually patch the metadata-v2.json file so the next covector update will mark all packages as 2.0.0

* ignore audit vuln without fixes

* bump msrv to 1.78

* run covector version

* fix sync lockfile covector

* #[allow(clippy::manual_inspect)]
2024-10-02 09:42:45 -03:00
github-actions[bot]
11b5e9c525 apply version updates (#11175)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-10-02 07:36:42 -03:00
Lucas Fernandes Nogueira
a08e6ffa6f feat(cli): enhance Android dev port forwarding, use host IP for android devices, closes #11137 (#11185)
* feat(cli): enhance Android dev port forwarding, closes #11137

this changes the `android dev` port forwarding (that is actually handled by the `android-studio-script` command - triggered by our Gradle plugin) with some enhancements:

- make the whole process more resilient by checking if the port was actually forwarded and rerunning the `adb reverse` command until it tells us the forward is ready
- if the `adb devices` list is empty, retry a few times (waiting a few seconds) to tolerate devices being booted - slows down "raw builds" (Build Project Android Studio menu for instance) that shouldn't happen often anyway - if you're running `android dev` you're usually running the app on a device instead of simply testing builds

* use host IP to run on android physical device
2024-10-02 07:01:29 -03:00
Lucas Fernandes Nogueira
6cfe7edf63 feat(cli): retain log verbosity when running a mobile IDE script (#11186) 2024-10-02 03:58:54 +03:00
Lucas Fernandes Nogueira
11e9f2eb83 feat(cli): add clap parse test (#11189)
lets us catch runtime errors early on the testing phase - for instance when we add two arguments with the same flag
2024-10-01 20:53:39 -03:00
Lucas Fernandes Nogueira
f5d61822bf fix(cli): iOS app signature not retaining entitlements, closes #11089 (#11184)
* fix(cli): iOS app signature not retaining entitlements, closes #11089

The IPA does not retain the entitlements as a regression from #10854 which removed the signing step from the build() and archive(), deferring to the export() call

To retain the entitlements we need to force sign one of the files in the app bundle. The most reliable way to do this is to use a self signed certificate as a dummy signature - it is replaced by the export() call so we do not rely on any user provided certificate

Additionally the export options are incorrectly configuring a manual signing, preventing Xcode from properly managing provisioning profiles, which is also part of the fix

* fix header
2024-10-01 10:15:42 -03:00
Lucas Fernandes Nogueira
60a5aea53d feat(cli): support Trunk for iOS dev out of the box (#11181) 2024-09-30 13:54:13 -03:00
Amr Bashir
e10fdb786c revert: revert #10969, consistent product_code (#11182)
closes #11178
2024-09-30 19:42:09 +03:00
renovate[bot]
0c87e05513 chore(deps) Update dependency @rollup/plugin-typescript to v12 (#11123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-29 07:42:43 -03:00
renovate[bot]
25e7833701 chore(deps) Update Tauri Bundler (#11122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-29 07:42:18 -03:00
Amr Bashir
354be36d4e refactor(core)!: pass webview label to uri scheme protocol handlers (#11163)
* refactor!(core): pass webview label to uri scheme protocol handlers

close #10691

* Add `UriSchemeContext`

* doctests
2024-09-29 07:41:26 -03:00
github-actions[bot]
12de4fa7c7 apply version updates (#11062)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-27 17:51:55 -03:00
Lucas Fernandes Nogueira
df24cb9442 fix(cli): pbxproj parser not expecting underlines in build config IDs (#11168) 2024-09-27 14:36:38 -03:00
Amr Bashir
de7414aab9 feat: add Window::set_enabled and Window::is_enabled (#11154)
* feat: add `Window::set_enabled` and `Window::is_enabled`

closes #6660

* license headers

* fix build

* fix mobile and macos

* fix macos

* again

* unsafe

* fix macos is_enabled

* update example

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-09-27 14:35:01 -03:00
Amr Bashir
a49fc999fc fix(core): store the hosting Window directly on Webview and WebviewWindow (#11161)
closes #11159
2024-09-27 14:15:38 -03:00
Amr Bashir
1d8b67b297 feat(core): support async functions in mobile_entry_point macro (#11162)
closes #11158
2024-09-27 14:06:23 -03:00
Amr Bashir
d9d2502b41 feat: add Webview::show and Webview::hide (#11140)
closes #11126
2024-09-27 08:30:29 +03:00
Olivier Lemasle
58bab8b35b docs: fix formatting of JS comments for API reference (#11148) 2024-09-26 15:05:56 +02:00
Fabian-Lars
9e46e07784 Revert "chore(cli/deps): temporarily add tower dependency to fix compile error without --locked (#11136)" (#11146) 2024-09-26 15:05:33 +02:00
Tony
95df53a2ed chore: add missing set theme change file in #10210 (#11143) 2024-09-26 07:26:04 +03:00
Amr Bashir
0b4495996d refactor!: simplify TrayIconEvent in JS by tagging it with type field (#11121)
Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
2024-09-26 06:12:02 +03:00
Amr Bashir
544328d5a3 fix(nsis): properly handle Webview2 download return value (#11139)
port of #11131 to 2.x
2024-09-26 04:53:05 +03:00
chip
5621174b05 feat: add ScopeObjectMatch trait for easy scope validation (#11132) 2024-09-26 02:22:37 +03:00
Fabian-Lars
2a654fdb8d chore(cli/deps): temporarily add tower dependency to fix compile error without --locked (#11136) 2024-09-26 02:08:07 +03:00
Amr Bashir
a944b9b05b feat(cli): add --github-workflows (#11118)
closes #11117
2024-09-25 03:11:38 +03:00
thep0y
06718b4569 feat(bundler): improve GitHub mirror URL generation with custom templates (#11096) 2024-09-24 19:04:41 +03:00
Lucas Fernandes Nogueira
9af08f93e4 fix(core): state tests (#11116) 2024-09-24 12:09:34 -03:00
Olivier Lemasle
dfba0ede68 fix(bundler): Detect ARM gnueabi as soft-float (fix: #10970) (#11084)
* Detect ARM gnueabi as soft-float (armel)

Detect ARM gnueabi as soft-float (armel) instead of hard-float (armhf).
Also change the signature of `tauri_bundler::bundle::Settings::binary_arch`
to return an enum instead of a `&str`.

* Update .changes/bundler-gnueabi-armel.md

* fix dmg

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-09-24 11:13:22 -03:00
Lucas Fernandes Nogueira
1efa5e7184 fix(core): rerun build script if platform config changes, closes #10963 (#11099) 2024-09-24 11:02:34 -03:00
Amr Bashir
8f3f010e6d refactor(core): return state in unmanage (#11105)
* refactor(core): return state in `unmanage`

* Update crates/tauri/src/lib.rs [skip ci]

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-09-24 10:53:15 -03:00
Fabian-Lars
4078923f6b fix(ios): Don't set macOS deployment target when building for iOS (#11115)
* fix(ios): Don't set macOS deployment target when building for iOS

fixes #11103

* make it look nice :)
2024-09-24 10:51:36 -03:00
Amr Bashir
8d381a71e8 test: add tests for StateManager (#11106)
* test: add tests for StateManager

* clippy

* update lockfile

* fix audit

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-09-24 08:51:54 -03:00
Lucas Fernandes Nogueira
948772a657 refactor(api): change button_state to camelCase (#11114) 2024-09-24 08:18:52 -03:00
Tillmann
e08c4e6888 Change V1 links to V2 site (#11111)
* Change V1 links to V2 site

* update lockfile

---------

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
2024-09-24 08:09:00 -03:00
Amr Bashir
cbe3bd80d8 fix(api): convert Position to PhsyicalPosition for TrayIconEvent (#11104)
* fix(api): convert `Position` to `PhsyicalPosition` for `TrayIconEvent`

ref: https://github.com/tauri-apps/plugins-workspace/pull/1822#issuecomment-2365442240

* fix lint

* Add missing `doubleClick` event type

* change file

* update lockfile

* Update .changes/api-tray-icon-event-value-mismatch-type.md [skip ci]

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-09-24 08:04:53 -03:00
dependabot[bot]
ae12f3cc90 build(deps-dev): bump rollup from 4.21.0 to 4.22.4 in /packages/api (#11109)
Bumps [rollup](https://github.com/rollup/rollup) from 4.21.0 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.21.0...v4.22.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-24 05:20:45 +03:00
Tony
11db7be6c2 feat(core): add a new function to set theme dynamically (#10210)
closes #5279
2024-09-24 05:18:53 +03:00
Lucas Fernandes Nogueira
8d22c0c814 fix(cli): only modify iOS code sign style when manually signing (#11101) 2024-09-23 18:35:15 -03:00
Lucas Fernandes Nogueira
56e087471a fix(cli): ios xcode-script arg parsing when using bun, closes #10742 (#11100) 2024-09-23 18:31:29 -03:00
Amr Bashir
d369e8db5f chore(deps): update muda to 0.15 and tray-icon to 0.18 (#11097) 2024-09-23 18:20:40 -03:00
Alex
28169ae097 fix(cli): Fix crate type (#11080)
* Fix crate type

Fixes https://github.com/tauri-apps/tauri/issues/9547

* Fix crate type

Fixes https://github.com/tauri-apps/tauri/issues/9547

* Fix crate type

Fixes https://github.com/tauri-apps/tauri/issues/9547

* Fix crate type

Fixes https://github.com/tauri-apps/tauri/issues/9547
2024-09-21 07:57:35 -03:00
Amr Bashir
62b3a5cd1c fix(core): share webcontext between webviews (#11043)
* fix(core): share webcontext between webviews

closes #10981

* update wry version

* Update crates/tauri-runtime-wry/src/lib.rs [skip ci]

* on linux, only register protocol once per context

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-09-21 07:42:07 -03:00
Amr Bashir
67b8a9a17a feat(cli): generate signatures for non-zipped targets with createUpdaterArtifacts: v1Compatible (#10940) 2024-09-20 08:47:36 -03:00
Amr Bashir
f57a729cd8 feat: add upgradeCode config option (#11039)
* feat: add `upgradeCode` config option

* fix build on other platforms

* Update crates/tauri-bundler/src/bundle/settings.rs [skip ci]

* move to subcommand, use same product name fallback as the bundler

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-09-20 08:44:41 -03:00
renovate[bot]
3f1a8a4e7e chore(deps) Update Tauri Bundler (#11048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-20 08:21:59 -03:00
Amr Bashir
8ab2e3cc3e refactor(core): simplify and document push_pattern (#11065) 2024-09-20 08:21:30 -03:00
Amr Bashir
9014a3f176 feat: add webview.clear_all_browsing_data (#11066)
* feat: add `webview.clear_all_browsing_data`

closes #6567

* fix build on iOS and android

* fix command name references

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-09-20 08:18:07 -03:00
Amr Bashir
0ddfc59d67 feat(core): add Manager::unmanage (#11071)
* feat(core): add `Manager::unmanage`

closes #10897

* remove state craet

* fix typo

* Update crates/tauri/src/lib.rs

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-09-20 07:53:58 -03:00
Fabian-Lars
b88e22a5fe fix(cli): set ios deployment target only when building for ios (#11063) 2024-09-20 07:31:51 -03:00
Alex Moon
40a45b564d fix(windows): Handle root paths that cannot be canonicalized (#10838) 2024-09-20 02:33:55 +03:00
Amr Bashir
62b52f60a2 fix(cli/add): use >= for npm and ~ for other package managers (#11064)
* fix(cli/add): use `>=` for npm and `~` for other package managers

closes #10906

* headers

* fix audit

* fix headers
2024-09-19 23:11:40 +03:00
SpikeHD
a247170e1f feat: Expose ability to enable browser extensions in WebView2 (#11056) 2024-09-19 18:46:23 +03:00
Amr Bashir
fbff6388ad refactor(bundler): group and organize template file structure (#11046)
This PR groups files in a predictable mannar, so instead of

```
windows/
  |_ templates
     |_ main.wxs
     |_ installer.nsi
  |_ nsis.rs
  |_ msi.rs
```
we group them next to each other
```
windows/
  |_ msi
     |_ main.wxs
     |_ mod.rs
  |_ nsis
    |_ installer.nsi
    |_ mod.rs
```
2024-09-18 17:00:27 +03:00
renovate[bot]
4f374a26a3 chore(deps) Update Tauri Build to v1.0.89 (#11045)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-18 21:26:58 +08:00
renovate[bot]
4d4e7bf318 chore(deps) Update Rust crate syn to v2.0.77 (#11044)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-18 21:25:59 +08:00
github-actions[bot]
cbdcee61dc Apply Version Updates From Current Changes (#11029)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-17 09:02:10 -03:00
Lucas Fernandes Nogueira
96c1ec3b89 fix(cli): test timeout (#11035) 2024-09-17 08:33:45 -03:00
Amr Bashir
5ff0bbc547 docs: add RELEASING.md handbook (#11026)
* docs: add RELEASING.md handbook

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .github/RELEASING.md

---------

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-09-17 07:38:15 -03:00
Amr Bashir
09de8c6593 refactor(cli/node): migrate jest to vitest for tests (#11034)
* refactor(cli/node): migrate `jest` to `vitest` for tests

* fix js audit
2024-09-17 07:36:03 -03:00
Amr Bashir
5f694c3d4c ci: use correct version for cloudflare/wrangler-action action (#11033) 2024-09-17 11:10:46 +02:00
Amr Bashir
a1cce04260 feat: add tauri-schema-worker (#10871) 2024-09-17 00:52:56 +03:00
Amr Bashir
ad294d274d feat(core): add app > windows > create option to disable window creation at startup (#11032)
* feat(core): add `app > windows > create` option to disable window creation at startup

closes #10950

* clippy

* clippy

* update docs

* Update .changes/window-config-create.md

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-09-16 17:03:25 -03:00
Amr Bashir
ddf69157b5 feat(api): add {LogicalPosition,LogicalSize}.toPhysical method (#11031)
closes #11008
2024-09-16 16:43:54 -03:00
Amr Bashir
9bb8fc6189 feat(cli/plugin): add --no-example flag (#11030)
closes #11009
2024-09-16 16:41:21 -03:00
Lucas Fernandes Nogueira
551e0624a9 refactor(core): remove responder from custom invoke systems (#11027)
* refactor(core): remove responder from custom invoke systems

the responder can be set directly in the WebviewWindow::on_message call

* fix tests
2024-09-16 12:20:50 -03:00
Lucas Fernandes Nogueira
e7fd676c27 feat(core): inject invoke key in custom invoke system script (#11025)
* feat(core): inject invoke key in custom invoke system script

* fix fmt
2024-09-16 12:10:01 -03:00
Felix Salazar
e266f2f35e docs: update CONTRIBUTING.md with .changes instructions (#11013) 2024-09-16 16:22:35 +03:00
github-actions[bot]
c530de4fd0 Apply Version Updates From Current Changes (#11019)
Co-authored-by: Legend-Master <Legend-Master@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-09-16 10:52:24 +02:00
Amr Bashir
e5f0372775 chore: add change file for #11016 (#11018) 2024-09-16 13:17:01 +08:00
Tony
58465d4f7d fix(core): missing NSImage feature on objc2-app-kit (#11016) 2024-09-16 07:40:26 +03:00
github-actions[bot]
b1dacd539a Apply Version Updates From Current Changes (#11014)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-15 18:36:42 -03:00
Lucas Nogueira
a12bf148d6 fix(covector): unexpected preminor bump 2024-09-15 17:53:44 -03:00
Mads Marquart
bc4804d484 feat: Migrate to objc2 (#10924)
* Migrate from objc/cocoa to objc2

* Update crates/tauri-runtime-wry/src/webview.rs

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-09-15 17:15:47 -03:00
github-actions[bot]
63264a2914 Apply Version Updates From Current Changes (#11010)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-15 16:56:23 -03:00
Amr Bashir
94e9d476ef fix: fix main_binary_name includes .exe regression on Windows (#11011)
* fix: fix `main_binary_name` includes `.exe` regression on Windows

* Update crates/tauri-bundler/src/bundle/settings.rs

* Update .changes/main_binary_name-exe.md

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-09-15 16:30:47 -03:00
Lucas Fernandes Nogueira
5a0e922d40 feat(cli): discover src/main.rs binary automatically (#11007) 2024-09-15 11:21:31 -03:00
github-actions[bot]
4f44ebf8a7 Apply Version Updates From Current Changes (#10953)
* apply version updates

* bundler back to 2.0.0-rc

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-09-15 09:54:50 -03:00
renovate[bot]
db64d088ba chore(deps) Update Rust crate syn to v2.0.77 (#10954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-15 08:37:32 -03:00
renovate[bot]
0b00428365 chore(deps) Update Tauri Build to v1.0.87 (#10955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-15 08:37:24 -03:00
renovate[bot]
71f4ca564b chore(deps) Update Tauri Bundler (#10957)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-15 08:37:10 -03:00
renovate[bot]
184f0ad22b chore(deps) Update Tauri Codegen (#10958)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-15 08:36:58 -03:00
renovate[bot]
54be2f72d7 chore(deps) Update Tauri macOSSign to v1.0.87 (#10960)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-15 08:36:47 -03:00
Guilherme Oenning
44d54a0710 fix(bundler): Use appimage files instead of debian files when building appimage (#11005)
* use appimage settings instead of deb

* add changeset
2024-09-15 08:36:04 -03:00
Lucas Fernandes Nogueira
6c5340f8b2 feat(cli): add log plugin to the app template (#11004)
* feat(cli): add log plugin to the app template

The log plugin is really important for mobile development - without it you don't have a clue about logs and stdout for iOS apps

* patch tauri dep for local testing

* clippy
2024-09-15 08:35:38 -03:00
Amr Bashir
35bd9dd3dc feat: add mainBinaryName option (#10977)
* feat: add `mainBinaryName` option

* remove unused imports [skip ci]

* enhance error message [skip ci]

* migrate `mainBinaryName`

* change file

* revert bin src_path

* add link

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-09-15 07:51:01 -03:00
Lucas Fernandes Nogueira
3ad2427dc0 feat(cli): enhance iOS logs (#10961)
enhance simulator and device run output by only displaying app logs by default, and printing full process logs when pedantic verbosity is requested

ref https://github.com/tauri-apps/cargo-mobile2/pull/388
2024-09-15 07:37:56 -03:00
Lucas Fernandes Nogueira
5eb036f339 feat(core): restart() handles binary name change for macOS (#11002) 2024-09-14 13:30:00 -03:00
Amr Bashir
4ba7b94b59 refactor(bundler/nsis): fix migration from MSI to NSIS (#10996)
* refactor(bundler/nsis): fix migration from MSI to NSIS

* read into $OldMainBinaryName
2024-09-14 16:45:58 +03:00
Tony
def875193a fix(nsis): check main binary name is not empty (#11000)
* Check main binary name is not empty

* Missing !=
2024-09-14 13:33:43 +03:00
Amr Bashir
b13cb208a3 fix(bundler): store and remove old main binary on updates if main binary name has change (#10962) 2024-09-13 16:09:17 +03:00
Lucas Fernandes Nogueira
00182ebf89 fix(core): requestPermissions not resolving on Android (#10988)
the checkPermissions command is also a PermissionCallback, and the annotation check is incorrectly ignoring that fact, so the requestPermissions is never resolved for the geolocation plugin
2024-09-13 09:08:31 -03:00
Amr Bashir
63649d82d2 fix(core/acl): fix core:default schema generation (#10971)
* remove dbg! in resources test

* use methods from `fs` and `env` qualified

* share `ACL_MANIFESTS_FILE_NAME` and `CAPABILITIES_FILE_NAME` consts across crates

* simplifiy `Manifest::new` code for better readability

* move reading global api scripts logic next to the function that defines it

* [tauri-build] move acl logic from lib.rs to acl.rs

* use const value for schema instead of enum value with a single variant

* remove unnecessary info from permissions hover

* move related functions next to each other & improve readability of others

* use methods from `fs` and `env` qualified

* fix warning, unused return in test

* document some functions

* improve generated schema for better scope schema completion, simplify, reorganize and document the logic

previously if you had `fs` and `http` plugins added in a project
and then try to write an extended permission for `fs:allow-app-meta`
```json
{
      "identifier": "fs:allow-app-meta",
      "allow": [ <here> ]
}
```
and even though identifier is from `fs` plugin,
the JSON schema suggests `path` and `url`.
Now it will only suggest  relevant field which is `path`

* resolve permissions from other plugins, generate `core:default` as a normal set instead of special logic

* move `PERMISSION_SCHEMAS_FOLDER_NAME` to acl module

* use gneric trait because of MSRV

* ensure `gen/schemas` dir is created

* clippy
2024-09-13 08:58:26 -03:00
Amr Bashir
a1e88d2b57 enhance(bundler/wix): generate consistent product code for MSI installer derived from identifier (#10969)
* enhance(bundler/wix): generate consistent product code for MSI installer derived from identifier

* Update .changes/wix-consistent-product-code.md [skip ci]

* Update .changes/wix-consistent-product-code.md [skip ci]

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-09-13 08:45:03 -03:00
Lucas Fernandes Nogueira
fe5ff1228c refactor(core)!: rename plugin::PermissionState::Unknown to plugin::PermissionState::Prompt (#10978)
* fix(core): plugin::PermissionState::Unknown wrong display impl

* prompt

* rename variant

* fix
2024-09-13 08:38:59 -03:00
Lucas Fernandes Nogueira
be18ed50d8 fix(core): prevent Proguard from optimizing away custom ser/de classes (#10982) 2024-09-12 23:04:25 -03:00
Lucas Fernandes Nogueira
c901d9fdf9 fix(tauri-utils): docs for config::DeepLinkProtocol (#10979) 2024-09-12 23:39:08 +03:00
Fabian-Lars
9d468774a9 fix(core): Use productName for FileDescription (#10975)
* fix(core): Use productName for FileDescription

fixes #10968
fixes #10890

* just unwrap since winres will panic anyway or use the cargo.toml description which we don't want

* regen

* nsis
2024-09-12 20:36:48 +03:00
Amr Bashir
7eb1171e3a fix(bundler/wix): use product name to generate UpgradeCode for MSI (#10967)
The upgrade code generation was changed due to an accidental regression in #9375. Previously `UpgradeCode` was calculated using the main binary name which was `<product_name>.exe`, but #9375 changed the default main binary name to `<cargo-crate-name>.exe` and thus a different UpgradeCode was generetad.

This PR reverts this change to use product name for `UpgradeCode` generation.
2024-09-12 09:22:27 -03:00
thep0y
6566182258 feat(bundler): add TAURI_BUNDLER_TOOLS_GITHUB_MIRRORto specify a GitHub mirror (#10866)
closes #7338
2024-09-11 05:36:12 +03:00
github-actions[bot]
d8ccf9d76a apply version updates (#10949)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-10 13:05:58 -03:00
Lucas Fernandes Nogueira
a5848af65b fix(cli): synchronize version with iOS Info.plist (#10944) 2024-09-10 12:31:15 -03:00
Lucas Fernandes Nogueira
fafceec309 fix(core): mobile dev server proxy URL (#10943) 2024-09-10 12:30:58 -03:00
Fabian-Lars
0a47bf0430 fix(core): Mark identifier as a required field. (#10946)
* fix(core): Mark `identifier` as a required field.

* change tag

* inject identifier in tests
2024-09-10 10:08:04 -03:00
github-actions[bot]
ffa33cd28a apply version updates (#10903)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-05 14:06:28 -03:00
Lucas Fernandes Nogueira
faa259bacf refactor(core)!: change Assets::iter item to use Cow (#10907)
* refactor(core): change `Assets::iter` item to use `Cow`

make the iterator more flexible to support Assets implementations that do not rely on static assets

* fix test?

* lint

* lint

* clippy again
2024-09-05 13:42:22 -03:00
Tony
d9c8d3cc8d chore(deps): update infer, tray icon, urlpattern, image (#10902) 2024-09-05 14:10:08 +02:00
Lucas Nogueira
e568956e48 fix(ci): pin artifact actions 2024-09-04 19:48:48 -03:00
github-actions[bot]
a655d9c6ce Apply Version Updates From Current Changes (#10865)
* apply version updates

* fix audit

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-09-04 17:29:03 -03:00
dependabot[bot]
bdfa9534ab build(deps): bump quinn-proto from 0.11.6 to 0.11.8 (#10882)
Bumps [quinn-proto](https://github.com/quinn-rs/quinn) from 0.11.6 to 0.11.8.
- [Release notes](https://github.com/quinn-rs/quinn/releases)
- [Commits](https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.6...quinn-proto-0.11.8)

---
updated-dependencies:
- dependency-name: quinn-proto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 17:09:04 -03:00
dependabot[bot]
e885c17ab6 build(deps): bump actions/download-artifact in /.github/workflows (#10883)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 17:08:39 -03:00
Lucas Fernandes Nogueira
77056b194a chore(tauri-runtime-wry): update tao to 0.30 and wry to 0.43 (#10895) 2024-09-04 09:51:42 -03:00
Amr Bashir
0c46e48860 chore: remove unneeded prettier config (#10885) 2024-09-04 09:59:41 +08:00
Amr Bashir
0899e50831 feat: derive serde::Serialize for SafePathBuf (#10884) 2024-09-04 09:55:19 +08:00
Amr Bashir
976cad97c1 fix(resources): enhance error messages for globs (#10879)
* fix(resources): enhance error messages for globs

ref: https://github.com/tauri-apps/tauri/pull/10293#issuecomment-2326435392

* fmt
2024-09-04 00:58:08 +03:00
Hamir Mahal
11b3ab1468 ci: update setup-python action to v5 to fix deprecated node version (#10881) 2024-09-04 00:57:16 +03:00
Tony
431ca2c776 enhance(core): add FromStr impl for SafePathBuf (#10870) 2024-09-03 05:20:31 +03:00
Lucas Fernandes Nogueira
27d0183431 fix(core): clippy warnings, simplify embed_plist usage (#10844)
* fix(core): clippy warnings

* fix test

* chore: simplify example
2024-09-03 01:09:27 +03:00
Lucas Fernandes Nogueira
9c9644d155 feat(cli): always validate iOS lib (#10845) 2024-09-02 13:13:34 -03:00
Lucas Fernandes Nogueira
b42683592d fix(cli): iOS build targetting the simulator (#10847) 2024-09-02 13:13:22 -03:00
Lucas Fernandes Nogueira
79de4332b6 fix(core): isolation pattern breaks raw postMessage payload (#10841) 2024-09-02 13:12:59 -03:00
Lucas Fernandes Nogueira
5048a7293b feat(core): always use the custom protocol IPC on Linux (#10840) 2024-09-02 13:12:29 -03:00
Lucas Fernandes Nogueira
f0acf504a2 feat(core): validate duplicated capability identifier (#10858)
having duplicate capability identifier lead to unexpected behavior because one of the capabilities gets ignored.
With this change the build script now fails when this happens.
2024-09-02 17:13:13 +03:00
Fabian-Lars
ecc5362c1c docs: Add scope handling in file association example (#10864) 2024-09-02 17:11:55 +03:00
Lucas Fernandes Nogueira
6696e48800 fix(core): Swift warning for null invoke.resolve() iOS plugin values (#10842)
`Any` does allow `nil`,  but must be explicitly set to avoid the Swift warning
2024-09-02 16:51:30 +03:00
github-actions[bot]
c55474f21d apply version updates (#10855)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-01 09:50:31 -03:00
Lucas Fernandes Nogueira
6faa032766 fix(cli): iOS code signing failing on CI (#10854)
Looks like Apple cannot handle development profile automatic provisioning well

With this change we now skip code signing for build() and archive(), and let the export() function handle signing

see https://github.com/fastlane/fastlane/discussions/19973#discussioncomment-2688720 for more information
2024-09-01 09:29:48 -03:00
github-actions[bot]
82b084e65c apply version updates (#10828) 2024-08-31 18:19:34 -03:00
Lucas Fernandes Nogueira
5af1f5dec1 fix(cli): automatic signing for iOS on CI (#10851)
ref https://github.com/tauri-apps/cargo-mobile2/pull/381
2024-08-31 17:58:58 -03:00
Lucas Fernandes Nogueira
5ec74456b9 feat(bundler): fallback to publisher for deb maintainer, closes #10777 (#10825) 2024-08-29 15:41:40 -03:00
github-actions[bot]
0d2efd9ff4 apply version updates (#10820)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-28 23:03:54 -03:00
Lucas Fernandes Nogueira
d7e5c00e94 feat(core): add plugin::PermissionState (#10817)
* feat(core): add `plugin::mobile::PermissionState`

* move to plugin module

* default, specta::Type
2024-08-28 22:34:03 -03:00
Lucas Fernandes Nogueira
cc799b2cc8 fix(ci): publish CLI workflow wrong target path (#10816) 2024-08-28 17:02:15 -03:00
github-actions[bot]
abfbef4b9d apply version updates (#10750)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-28 15:19:54 -03:00
Amr Bashir
d14a2a55f0 ci: fix a few relative paths (#10813)
* ci: fix a few relative paths

* Update .changes/config.json

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-28 13:27:33 -03:00
Amr Bashir
ebfe17e264 ci: fix sync-cli-metadata.js path (#10812) 2024-08-28 12:43:55 -03:00
Lucas Fernandes Nogueira
f67a9eb6de feat(cli): synchronize Tauri config and lib name with iOS Xcode project (#10802)
- the Xcode project now uses a fixed output library name, which means changes to the Cargo.toml lib name won't affect it (backwards compatible change, we're checking if this new format is being used or not by reading the project.pbxproj)
- sync config identifier with the pbxproj
- sync development team config with the pbxproj

the sync runs both on dev and on build

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-08-28 12:11:50 -03:00
Amr Bashir
431208207b ci: fix building cli in integration test (#10811) 2024-08-28 11:54:35 -03:00
Lucas Fernandes Nogueira
f81929e251 feat(api): permission types for mobile plugins (#10799)
* feat(api): permission types for mobile plugins

let's have a central place to keep the permission types
ref https://github.com/tauri-apps/plugins-workspace/issues/979

* build
2024-08-28 17:49:05 +03:00
Lucas Fernandes Nogueira
d1c97bce7b chore: add root taurignore (#10805)
* chore: add root taurignore

enhances the DX of running `tauri dev` in any of the examples folder - we don't need to watch the entire workspace for changes

* extend ignore list
2024-08-28 17:48:39 +03:00
Lucas Fernandes Nogueira
f4bfd0722e fix(ci): check change tags script (#10803) 2024-08-28 03:20:45 +03:00
Amr Bashir
36eee37220 Restructure the repository (#10796)
* Restructure the repository

* lock file

* fmt

* fix bench

* fix cli template test

* remove accidental file

* fix mv command

* clippy

* upgrade paths-filter github action

* fix cli migration tests

* lockfile

* license headers

* clippy

* scope test-core to tauri crate

* license header

* correct --manifest-path usage

* lockfile

* fix tauri-driver on macOS [skip ci]

* build target ios

* try downgrade env_logger

* downgrade 0.1.7

* try to fix bench

* bench overflow

* revert overflow fix, fix tauri_root_path

* revert env_logger downgrade

* fmt

* raise msrv to 1.71

* fmt

* delete .cargo/config.toml [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-27 18:42:30 -03:00
Lucas Fernandes Nogueira
22d2afa89b fix(core): add proguard rule to keep JSON deserializers (#10800) 2024-08-27 15:30:10 -03:00
Ishaan Goel
c85bb0fb61 fix(docs): typo in documentation of setSize() method in Webview API. (#10798)
The example for the `setSize()` method in the documentation wrongly imports `getCurrent` (I believe as was in tauri v1)
instead of `getCurrentWebview`.
2024-08-27 20:15:08 +03:00
Lucas Fernandes Nogueira
fbe76a955a fix: serialize Uint8Array and ArrayBuffer as number[], closes #10336 (#10797) 2024-08-27 12:49:18 -03:00
Lucas Fernandes Nogueira
83ed090bfa fix(cli): do not exit mobile dev if logger could not be attached (#10790)
I just faced this when I was connected to my iPhone but wireless. Xcode also lets this happen, you only miss the logs in this case.
2024-08-27 12:05:32 -03:00
Lucas Fernandes Nogueira
84070bae92 fix(cli): plugin ios init cmd not generating iOS folder, closes #10661 (#10792) 2024-08-27 12:05:19 -03:00
Lucas Fernandes Nogueira
edb2ca31f7 fix(cli): migrate v1 plugins NPM packages (#10794) 2024-08-27 12:01:15 -03:00
Lucas Fernandes Nogueira
02b2f964a7 fix(cli): add command version requirement for known plugin npm (#10795)
small regression from #10699 - NPM install is now prompting users to select the version
2024-08-27 17:02:14 +03:00
Lucas Fernandes Nogueira
9718dc9e8c fix(cli): readd targetSdk to Android app template, closes #10712 (#10791)
Regression from #10558
2024-08-27 16:04:43 +03:00
Amr Bashir
1e441811ee feat: add DoubleClick variant for TrayIconEvent (#10786)
* feat: add `DoubleClick` variant for `TrayIconEvent`

* revert api example change

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-27 16:03:55 +03:00
Lucas Fernandes Nogueira
3a4972b394 feat(cli): include arch in the tauri info output (#10793) 2024-08-27 16:02:40 +03:00
Amr Bashir
72597a77f9 chore(deps): update cargo-mobile2 to 0.15 (#10788)
* chore(deps): update cargo-mobile2 to 0.15

* fix ios build [skip ci]

* lock file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-27 08:42:42 -03:00
Masahiko Sakakibara
03f2a50981 fix(core): update swift-rs to fix iOS plugin builds (#10718)
* fix(cli): add comment suggest to use patch swift-rs

* Create change-pr-10718.md

* swift-rs 1.0.7 (still not published) [skip ci]

* update lockfile

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-27 08:22:13 -03:00
Lucas Fernandes Nogueira
fd68b7fdea fix(cli): do not generate .cargo/config file (#10785) 2024-08-26 22:15:08 -03:00
Lucas Nogueira
dc0612b156 fix(examples): streaming file path 2024-08-26 21:48:48 -03:00
Amr Bashir
70306dc79b ci: check toml formatting with taplo-cli (#10787)
* ci: check toml formatting with taplo-cli

* change name of job

* { workspace = true } -> .workspace = true

* add taplo.toml
2024-08-26 21:46:05 -03:00
Amr Bashir
ad83d41cb5 chore: cleanup and simplify examples (#10743) 2024-08-27 01:25:36 +03:00
Lucas Nogueira
c50800023e chore(cli): remove println 2024-08-26 18:01:39 -03:00
Masahiko Sakakibara
f86a8146ad feat(core): add plugin methods getArgs and getRawArgs for iOS and Android (#10761)
* feat(api): add method getArgsData

* chore

* return JSObject instead

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-26 16:55:51 -03:00
Masahiko Sakakibara
fb6bf31425 fix(plugin): fix android_package_id to follow cli (#10763)
* fix(plugin): fix android_package_id to follow cli

* Update tooling/cli/templates/plugin/src/mobile.rs

* add change file

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-26 13:39:05 -03:00
Masahiko Sakakibara
21c2488d2e fix(cli): change supported URL Type "link:" in plugin template (#10771) 2024-08-26 15:16:14 +03:00
Tony
12e477ac38 fix(ci): missing pnpm on check api action (#10778)
* ci: fix missing pnpm on check api action

* Add set up node action
2024-08-26 15:12:24 +03:00
Lucas Fernandes Nogueira
073bb4f459 refactor(core): remove deprecated webview_fixed_runtime_path option (#10772)
* refactor(core): remove deprecated webview_fixed_runtime_path option

* update migration
2024-08-25 16:35:42 -03:00
Lucas Fernandes Nogueira
792340a73b fix(utils): minimum_webview2_version config kebab-case alias (#10773) 2024-08-25 10:59:33 -03:00
Lucas Fernandes Nogueira
09e9dc1aab feat(cli): allow xcodebuild to manage iOS signing and provisioning (#10752) 2024-08-23 21:12:49 -03:00
renovate[bot]
5c369e6059 chore(deps) Update Tauri CLI (dev) (#10724)
* chore(deps) Update Tauri CLI

* downgrade html5ever

* update lockfile [skip ci]

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-23 12:45:57 -03:00
renovate[bot]
1dab93f000 chore(deps) Update Rust crate syn to v2.0.75 (#10723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-23 12:16:30 -03:00
renovate[bot]
8b96eca241 chore(deps) Update Tauri Codegen (#10725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-23 12:14:56 -03:00
Lucas Fernandes Nogueira
2d31aef759 fix(cli): ensure gradlew is executable and does not use CRLF (#10751)
* test fix

* ensure gradle is executable and does not use CRLF

* fix import

* add change file

* add 0o111 instead
2024-08-23 10:49:45 -03:00
Tony
58dda44a59 feat(bundler/nsis): add minimum webview2 version checks (#10339) 2024-08-23 15:21:39 +03:00
chip
88bc357325 fix: generate Context inside a thread (#10734)
* generate `Context` inside a thread

fix #9882

this is a workaround for #9882 due to windows having a small
stack size for the main thread (1MiB) versus other platforms which
have 8MiB. the true fix would be to lower the generated code
stack size, but with lots a plugins, there are lots of ACL
configurations.

* add change file [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-08-23 08:46:23 -03:00
Amr Bashir
91e9e784aa feat(cli/info): include plugins info (#10729)
* feat(cli/info): include plugins info

closes #10682

* header

* resolve package manager once

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-08-23 08:29:03 -03:00
Lucas Nogueira
07aff5a2d4 fix(pnpm): ignore micromatch ReDoS vuln CVE-2024-4067 2024-08-22 12:47:48 -03:00
github-actions[bot]
9620c58e5a Apply Version Updates From Current Changes (#10740) 2024-08-22 11:50:17 -03:00
Lucas Fernandes Nogueira
c33adb19a7 Revert "apply version updates (#10715)" (#10739)
This reverts commit dc49cb3d9b.
2024-08-22 09:44:23 -03:00
github-actions[bot]
dc49cb3d9b apply version updates (#10715)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-22 09:43:45 -03:00
chip
5f64ed2b78 support 1.x automation env var in tauri-driver (#10738)
* support 1.x and 2.x automation env var

* changefile
2024-08-22 09:29:10 -03:00
Amr Bashir
f4d5241b37 chore: cleanup unnecessary scripts and files (#10731)
* chore: cleanup unnecessary scripts and files

- Removed `.cargo/config` and `__TAURI_WORKSPACE__` workaround
- Removed husky and precommit hooks
- Remove unecessary script files
- Moved `.scripts/covector/sync-cli-metadata.js` to `.scripts/ci/sync-cli-metadata.js`
- Moved `app-icon.png` to `.github/icon.png`
- Enhanced has-diff.sh script to output which files are modified

* lock file

* bring back __TAURI_WORKSPACE__

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-08-22 07:56:52 -03:00
renovate[bot]
1add13b84e chore(deps) Update Tauri CLI (dev) (#10706)
* chore(deps) Update Tauri CLI

* revert html5ever

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-21 13:58:38 -03:00
renovate[bot]
7d9112edc7 chore(deps) Update Rust crate syn to v2.0.75 (#10705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-21 13:50:37 -03:00
renovate[bot]
620163bf23 chore(deps) Update Tauri API Definitions (#10709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-21 13:50:13 -03:00
renovate[bot]
660a5cd09e chore(deps) Update Tauri Codegen (#10708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-21 13:50:03 -03:00
Lucas Fernandes Nogueira
793ee05317 fix(core): allow hyphens and underscores on identifiers, closes #9707 (#10700)
* fix(core): allow hyphens and underscores on identifiers, closes #9707

* fix build

* fix build

* lint

* move replace

* update tao

* update tao-macros
2024-08-21 13:46:25 -03:00
Lucas Fernandes Nogueira
da8c9a7d30 refactor(cli): synchronize pbxproj and export options, handle cert on build (#10669) 2024-08-21 11:38:02 -03:00
Lucas Fernandes Nogueira
9bcff3cd79 fix(core): properly remove isolation script from DOM (#10703) 2024-08-21 09:08:16 -03:00
github-actions[bot]
762cf31a11 apply version updates (#10698)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-20 14:25:20 -03:00
Lucas Fernandes Nogueira
1a60822a42 fix(cli): add should use 2.0.0-rc for known plugins (#10699)
changes the CLI `add` command to match the CLI major and pre requirements for known plugins

this is required because right now adding the deep-link plugin installs the v1 plugin (latest version known by cargo as the v2 is still in RC), even though we're running the v2 CLI
2024-08-20 14:09:50 -03:00
Lucas Fernandes Nogueira
da381e07f3 feat(core): resources on mobile apps (#10696)
* feat(core): resources on mobile apps

* resources dir on android
2024-08-20 13:49:17 -03:00
Lucas Nogueira
086271b73e fix(ci): install Linux dependencies on covector workflow 2024-08-19 23:37:43 -03:00
github-actions[bot]
02f85dffbe apply version updates (#10685)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-19 21:35:58 -03:00
LiesAuer
30c7685eb8 feat: add Builder::append_invoke_initialization_script (#10295)
* Allow to append a custom initialization script

* docs: add doc for `Builder::append_invoke_initialization_script`

* Update core/tauri/src/app.rs

* Update core/tauri/src/app.rs

* add change file

* fix signature

* fix doc test

* doc fmt

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-19 16:41:28 -03:00
Lucas Fernandes Nogueira
ed04cc3d36 feat(core): enhance IPC permission error message (#10664)
* feat(core): enhance IPC permission error message

- include more information about current URL and allowed origins
- enhance formatting of the error message

* plugin not found & command not found

* lint
2024-08-19 16:41:09 -03:00
Lucas Fernandes Nogueira
7796a8fc64 fix(cli): adapt Package.swift to work on older Swift versions (#10687)
I noticed the plugin build fails on older Swift (tested on macOS 12) because the default minimum required macOS version (10.10 in my case) is older than `v10_13` which is set by the Tauri iOS package (and also swift-rs).
So the plugins must explicitly define a minimum macOS version too.
2024-08-19 16:29:16 -03:00
anatawa12
8d148a9e25 feat: Custom sign command with object notation (#10634)
* feat!: Custom sign command with object notation

* implement JsonSchema if schema feature is enabled

* feat: support old string-based custom signing command config

* format: Run cargo fmt inside tooling/bundler folder

* chore: update json schema

* format: cargo fmt again

* small cleanup

* fix change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-19 15:55:58 -03:00
Sebastian Neubauer
5c335ae9ad fix(android): avoid rebuilds if nothing changed (#10648)
* fix(android): avoid rebuilds if nothing changed

Unconditionally overwriting files where the build reruns if they changed
leads to rebuilds every time.
Only overwrite a file if its content is different to not rebuild in such
a case.

* use write_if_changed utils

* use existing function

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-19 13:33:39 -03:00
Masahiko Sakakibara
8ae52a615a fix(cli): change "register_ios_plugin" params to snake case (#10676)
* fix(cli): change "register_ios_plugin" params to snake case

* Create change-pr-10676.md

* Update .changes/change-pr-10676.md

* Update .changes/change-pr-10676.md

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-19 13:29:01 -03:00
Norbiros
77844529f3 fix: Correctly export DefaultPermissionsRule (#10678)
* fix: Correctly export `DefaultPermissionsRule`

* Update fix-export-default-permissions.md

* fix: Lint

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-08-19 13:10:05 -03:00
Guillaume M
9b99ebab17 fix(cli): do not force architecture when building and archiving iOS app (#10431)
* feat(ios): add a new cli option to dev to use project archs

Add a new option to instruct cargo-mobile2 to use architectures configured in the project for building

* update cargo-mobile2, add change file

* fix change file [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-19 12:36:48 -03:00
github-actions[bot]
b25545c53f apply version updates (#10683)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-19 09:48:54 -03:00
Lucas Fernandes Nogueira
c689521a76 fix(api): tslib path (#10681) 2024-08-19 09:27:45 -03:00
martin frances
6b63c75504 For linting and testing auto update the node version to "lts/*" (#10323) 2024-08-18 07:55:38 -03:00
Jacob Bolda
52fdcaaf28 skip prepublish on api (#10658) 2024-08-18 07:55:19 -03:00
Jacob Bolda
ee0b53fbe2 skip pack in publish, use check fetch (#10657)
* skip pack in publish, use check fetch

* remove script

* remove apt, exists in main pipeline

* CLI doesn't need separate check

* no assets for tauri-cli
2024-08-18 07:54:59 -03:00
Lucas Fernandes Nogueira
23a912bb84 fix(ci): @tauri-apps/cli publish workflow (#10659)
* fix(ci): pnpm install

* fix setup-node

* node16 setup fails somehow

* remove unnecessary install deps step

* run nodejs directly

* fix permissions

* fix metadata
2024-08-17 08:21:27 -03:00
Lucas Nogueira
dcc62e6fc4 fix(macos-sign): add kv feature to the log crate 2024-08-17 00:58:34 -03:00
Lucas Nogueira
167a0feb31 fix(ci): missing id-token write permission for provenance 2024-08-17 00:38:09 -03:00
Lucas Nogueira
1142289670 fix(tauri-runtime-wry): docs.rs build 2024-08-17 00:16:07 -03:00
Lucas Nogueira
85c2d6302e fix(ci): set NPM_CONFIG_PROVENANCE to true 2024-08-17 00:15:00 -03:00
Lucas Nogueira
07a5f505d9 fix(ci): run pnpm publish with --no-git-checks 2024-08-17 00:12:24 -03:00
Lucas Nogueira
30667714c0 fix(ci): wrong prepublish scripts for @tauri-apps/api 2024-08-16 23:54:55 -03:00
github-actions[bot]
3522fbd78e Apply Version Updates From Current Changes (#10561)
* apply version updates

* fix versions

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-16 23:39:49 -03:00
Lucas Nogueira
dd5b081eeb fix(ci): install pnpm on integration tests 2024-08-16 23:13:35 -03:00
Amr Bashir
01f6aa3405 build: migrate repo to use pnpm as the package manager (#10607)
* build: migrate repo to use `pnpm` as the pacakge manager

* corepack enable

* update lock file

* format files

* format .github

* fix audit js

* wrap in quotes

* --frozen-lockfile

* simplify packageManager field

* lockfile

* remove cache from audit workflow
2024-08-16 23:04:08 -03:00
Amr Bashir
9e891933d8 fix(utils): fix resources map becomes directory (#10293)
* fix(utils): fix resources map becomes directory

closes #10187

Fixes the behavior of mapped resources generating extra directory, for example:
`"../resources/user.json": "resources/user.json"` generates this resource `resources/user.json/user.json`
where it should generate `resources/user.json`

This PR includes a refactor of the Iterator implementation which splits it into more scoped functions and relis on recursing instead of a loop which makes the code a lot more readable and easier to maintain.

* clippy

* cover more cases

* clippy

* fix glob into directory, not resolving target correctly

* return error when resource origin path doesn't exist

* fix resources example build

* Update .changes/resources-map-becoming-dirs.md

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-16 23:03:14 -03:00
Lucas Fernandes Nogueira
8deb1966ac feat(bundler): infer signing identity from certificate to import (#10652) 2024-08-16 20:30:49 -03:00
Lucas Fernandes Nogueira
d39c392b7c chore(deps): update tao and wry to latest (#10655) 2024-08-16 20:30:34 -03:00
Amr Bashir
6d7ac65676 chore: use 0.1.0 as version in templates (#10644)
closes #10474
2024-08-16 20:19:04 -03:00
Lucas Fernandes Nogueira
1b0c447fcb fix(macos-sign): missing stdout/stderr in Node.js context (#10654) 2024-08-16 20:16:00 -03:00
Lucas Fernandes Nogueira
10fb027b75 fix(cli): migrate v1 plugin dependencies, prevent dup, closes #10650 (#10656) 2024-08-16 19:58:20 -03:00
Lucas Fernandes Nogueira
255d64e3dc fix(cli): actually check if there are multiple android devices connected (#10642) 2024-08-16 04:12:34 +03:00
Lucas Fernandes Nogueira
d0510f52eb refactor(core): serialize response once, closes #5641 (#10641)
* refactor(core): serialize response once closes #5641

This change impacts both the custom protocol and the postMessage based IPC implementations. Basically it changes the whole IPC mechanism to work on raw JSON strings so we do not need to serialize a serde_json::Value after serializing to it from a user-provided type.

i benchmarked this with a 150MB file response (returning Vec<u8> instead of tauri::ipc::Response since the latter does not serialize at all) and it went from 29s to 23s (custom protocol) and from 54s to 48s (post message) on macOS.

* fix mobile & lint

* clippy
2024-08-15 16:15:11 -03:00
renovate[bot]
d1ee3f4b55 chore(deps) Update Tauri CLI (dev) (#10610)
* chore(deps) Update Tauri CLI

* html5ever 0.28

* update windows-sys

* cast

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-15 15:39:21 -03:00
Lucas Fernandes Nogueira
f712f31d1d fix(cli): add notarize error (#10639)
* fix: add notarize error

* add change file
2024-08-15 14:12:03 -03:00
renovate[bot]
8902dd8137 chore(deps) Update Tauri API Definitions (#10614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-15 11:14:36 -03:00
renovate[bot]
b5c948f68e chore(deps) Update Tauri Codegen (#10613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-15 10:52:11 -03:00
renovate[bot]
360330136f chore(deps) Update dependency @types/eslint to v9 (#10620)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-15 10:51:46 -03:00
renovate[bot]
659c7d2f5d chore(deps) Update Rust crate syn to v2.0.74 (#10609)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-15 10:50:39 -03:00
Lucas Fernandes Nogueira
9089d97637 fix(cli): properly resolve merge config on mobile build closes #9970 (#10605)
just applying the change from #10600 to xcode to fix the linked issue :)
2024-08-15 10:50:19 -03:00
Lucas Fernandes Nogueira
b6dca99fff refactor(api)!: change window label getters to be async ref #5380 (#10630) 2024-08-15 09:12:40 -03:00
Lucas Fernandes Nogueira
b160f9359d fix(cli): only validate iOS lib on debug builds (#10638) 2024-08-15 09:12:21 -03:00
Broken_Deer
521d1d5cdb fix(bundler): armv7 appimage bundler uses invalid download links [closes #6579] (#10619)
* Update appimage.rs

* Update appimage.rs

* Create change-pr-10619.md

* Update change-pr-10619.md

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-08-14 17:39:36 +02:00
Lucas Fernandes Nogueira
9f75d06228 fix(cli): adb port forward error handling, add logs, closes #9509 (#10604) 2024-08-13 22:07:02 -03:00
Amr Bashir
39bf0a1635 refactor: rename TAURI_SIGNTOOL_PATH -> TAURI_WINDOWS_SIGNTOOL_PATH (#10595)
immediately after merging #10588 I noticed that the variable name might be a bit ambigious and could cause confusion on other pl atforms other than Windows
2024-08-13 21:48:12 -03:00
Amr Bashir
78e22bedca feat(cli): support AndroidTV by default (#10602)
closes #10534
2024-08-13 21:47:41 -03:00
Lucas Fernandes Nogueira
f4cd68f040 fix(cli): builtin dev server should also be forwarded for Android (#10600) 2024-08-13 21:11:01 -03:00
Lucas Fernandes Nogueira
f35bcda289 feat(cli): handle known target specific plugins on permission add #10596 (#10598)
Closes #10596
2024-08-13 14:01:10 -03:00
Lucas Fernandes Nogueira
712f1049fa fix(cli): ios dev and ios build support for bun (#10569) 2024-08-13 09:00:41 -03:00
Lucas Fernandes Nogueira
41c7a6646b fix(cli): properly exit with code 0 on panic when running with bun (#10572) 2024-08-13 08:53:04 -03:00
anatawa12
f8d658ea1b feat: TAURI_SIGNTOOL_PATH environment variable for specifying the path to signtool.exe. (#10588) 2024-08-13 14:49:28 +03:00
Lucas Fernandes Nogueira
fedf93eb7e refactor(core): return 200 on any IPC call, closes #10286 (#10585)
* refactor(core): return 200 on any IPC call, closes #10286

By default the webview prints a `Failed to load resource: the server responded with a status of 400 (Bad Request) ipc://localhost` error message when a command returns an error, which is confusing to users.

This changes the IPC to return status 200 on any call, with a header to indicate whether the result was ok or not. This removes the console error, which would only log the actual error result if it isn't caught by the user.

* add change file

* apply code review changes
2024-08-13 08:39:20 -03:00
Lucas Fernandes Nogueira
b1d9ffa1ab fix(core): IPC fallback hanging when sending responses, closes #10327 (#10582)
The IPC fallback system kicks in when the custom protocol implementation cannot be used (e.g. CORS issues).
The fallback uses the postMessage mechanism, which by default uses channels to send large responses. If the custom protocol implementation cannot be used, we should not use channels, but eval the response directly.
2024-08-13 07:38:49 -03:00
Lucas Fernandes Nogueira
794cf8234f chore(cli): change default export method to debugging (#10571) 2024-08-13 04:04:16 +03:00
Lucas Fernandes Nogueira
9fe846615b fix(core): plugin permissions documentation heading (#10547)
Co-authored-by: Tillmann <28728469+tweidinger@users.noreply.github.com>
2024-08-13 03:58:44 +03:00
renovate[bot]
20be073bc4 chore(deps) Update Tauri CLI (dev) (#10308)
* chore(deps) Update Tauri CLI

* fix build

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-12 12:52:16 -03:00
renovate[bot]
f228d3d3d4 chore(deps) Update Tauri Bundler (dev) (#10512)
* chore(deps) Update Tauri Bundler

* fix build

* fix linux

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-12 12:39:33 -03:00
Lucas Fernandes Nogueira
3bec7b1595 feat(cli): add support to Svelte and Vue.js code on v1 migration (#10544)
* feat(cli): add support to Svelte and Vue.js code on v1 migration

* clippy
2024-08-12 13:45:42 +09:00
Lucas Fernandes Nogueira
3998570fd3 fix(cli): manifest v1 migration (#10540)
update features that got removed/renamed, and also migrate any core crate on any dependency table
2024-08-12 12:23:39 +09:00
Lucas Fernandes Nogueira
3beba92b5b fix(cli): incorrect JS generated by frontend migration closes #10500 (#10542)
* fix(cli): incorrect JS generated by frontend migration closes #10500
2024-08-12 12:10:27 +09:00
Lucas Fernandes Nogueira
f3837d5b98 fix(cli): broken v1 updater migration, add TOML support, closes #10508 (#10539)
- make the v1 config migration more resilient by checking null values
- fix "targets: all" incorrectly migrating createUpdaterArtifacts when there's no updater configuration (this is problematic because this targets config is the default)
- migrate Tauri.toml
- add more tests
2024-08-12 11:56:13 +09:00
苏向夜
71d00646a9 feat(cli): detect project NPM package manager on init (#10504)
* feat(cli): improve init behavior to ask once

* chore(cli): bump version

* fix(clippy): fix clippy warning

* feat(cli): add `bun` and fix version bump msg

* refactor(cli): auto detect the package manager

* move function

* update change file

* update change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-11 18:33:26 -03:00
renovate[bot]
416f845784 chore(deps) Update Tauri API Definitions (dev) (#10370)
* chore(deps) Update Tauri API Definitions

* format

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-11 09:47:00 -03:00
Sam Kearney
2d47352a07 fix(cli): make app_dir() logic consistent (#10418)
* fix(cli): Make app_dir() consistent by basing it on the explicit invocation directory rather than the current working directory

* resolve app paths before everything else

* fix xcode script

* fix test

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-11 09:44:15 -03:00
Yuri Astrakhan
0afee5ed80 chore: update brotli dependency to v6 (#10436)
* chore: update brotli dependency to v6

brotli v6 plays nice with other versions of the same crate

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-11 08:23:31 -03:00
AHQ
bfc49cc7a1 refactor(android): Remove targetSdk from gradle config (#10558)
* refactor: remove targetSdk as it is being removed in DSL 9.0

* note

* fix: typo

* update: changelog

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

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-11 07:06:14 -03:00
anatawa12
4bfe4880fb fix: fails to build universal fat binary if main bin is renamed to another name (#10550)
* fix: fails to build universal fat binary if main bin is renamed to another name

* lint

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-11 06:56:53 -03:00
Maarten
bba1a44191 feat(cli): allow skipping rustfmt project reformatting when adding a plugin (#10457)
* feat(cli): allow skipping rustfmt project reformatting

* Apply suggestions from code review

* fixes, change file

* fix change file

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-10 17:09:07 -03:00
renovate[bot]
92cac12a92 chore(deps) Update Rust crate zip to v2 (dev) (#10516)
* chore(deps) Update Rust crate zip to v2

* SimpleFileOptions

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-10 16:55:53 -03:00
renovate[bot]
f65990d1d7 chore(deps) Update Rust crate json-patch to v2 (dev) (#10515)
* chore(deps) Update Rust crate json-patch to v2

* update other crates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-10 16:45:24 -03:00
renovate[bot]
e91550bd86 chore(deps) Update Tauri CLI (dev) (major) (#10517)
* chore(deps) Update Tauri CLI

* update cargo-mobile2

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-10 16:39:55 -03:00
Jonas Kruckenberg
88a9fa23e5 docs: Add hyperlink to localhost-free readme item (#10557) 2024-08-10 21:26:12 +02:00
rwv
008b9f7481 chore: generate provenance statements for npm package (#10477)
* chore: generate provenance statements for npm package

See also https://docs.npmjs.com/generating-provenance-statements#example-github-actions-workflow

* also add --provenance for covector publishes

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-10 15:48:04 -03:00
chip
a975cd7976 yarn prettier --write core (#10471) 2024-08-10 15:44:33 -03:00
Norbiros
0bb7b0f352 feat: Add option to generate default permissions for inlined plugins (#10559)
* feat: Add option to allow all commands by default

* option to use a list of permissions, move logic to tauri-build

* fix plugin

* add utils change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-10 15:34:49 -03:00
Tillmann
213c0b1b8e add v2 report (#10554) 2024-08-10 14:52:09 -03:00
github-actions[bot]
ab4e56f5d2 apply version updates (#10532)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-08 23:52:47 -03:00
Fabian-Lars
f5dfc02800 fix(core/cli): Add custom default implementation for ios config (#10533)
* fix(cli): Add custom `default` implementation for ios config

* fix change
2024-08-08 19:57:56 -03:00
Fabian-Lars
5f56cb0a8b feat(cli): Upgrade gradle to 8.9 and gradle-android to 8.5.1 (#10507)
* feat(cli): Upgrade gradle to 8.9 and gradle-android to 8.5.1

* Update .changes/android-gradle-8-9.md

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-08 08:48:54 -03:00
Fabian-Lars
00e5a6ac74 fix(cli): allow actions: write for version-or-publish to fix cli publishing (#10525) 2024-08-08 07:25:59 -03:00
KV
10e30c5139 fix: 'ndecorated' typo in window shadow description (#10527) 2024-08-08 10:47:52 +08:00
github-actions[bot]
393428e5c8 apply version updates (#10524)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-07 14:50:33 -03:00
Lucas Nogueira
9ed8fe8c92 fix(cli): allow write on pull-requests for version-or-publish 2024-08-07 14:32:06 -03:00
Lucas Fernandes Nogueira
8dc81b6cc2 feat(core): add option for custom Xcode project template (XcodeGen) (#10496) 2024-08-07 13:17:01 -03:00
Lucas Fernandes Nogueira
02c00abc63 feat(core): add config for the minimum iOS version (#10495)
* feat(core): add config for the minimum iOS version

* revert api exapmle
2024-08-07 13:16:27 -03:00
renovate[bot]
5be7607b26 chore(deps) Update Tauri Codegen to v1.7.0 (#10513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 13:52:44 +08:00
Catalin Andrei Cacuci
a440a3f9d8 fix(bundler): Correct nsis pre-uninstall hook to post-uninstall (#10498)
* fix(bundler): Correct nsis pre-uninstall hook to post-uninstall

* Create change-pr-10498.md

* Update change-pr-10498.md [skip ci]

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-08-05 19:15:45 +02:00
Fabian-Lars
ab382f4ca9 ci: Use GITHUB_TOKEN for workflow_dispatch via gh cli (#10493) 2024-08-05 10:12:29 -03:00
Lucas Fernandes Nogueira
2e8ab7bac1 fix(cli): v1 migration should add the updater plugin if it is enabled (#10481)
* fix(cli): v1 migration should add the updater plugin if it is enabled

* fix change tag

* move to process_updater

* Update tooling/cli/src/migrate/migrations/v1/config.rs

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-08-05 10:00:33 -03:00
Lucas Fernandes Nogueira
a3cd9779a4 chore(cli): remove android open and ios open commands (#10480)
It is recommended to use `[android|ios] dev --open` or `[android|ios] build --open` instead as it properly sets up the requirements for developing and building apps with Tauri.
2024-08-05 09:57:54 -03:00
chip
e2dc76cfbf set packageManager field in package.json for corepack (#10470) 2024-08-05 09:50:32 -03:00
Lucas Fernandes Nogueira
8e1e15304e feat(cli): check if Rust lib contains required Android and iOS symbols #10094 (#10483)
* feat(cli): check if Rust lib contains required Android symbols #10094

* check for ios aswell
2024-08-05 09:46:28 -03:00
Lucas Fernandes Nogueira
ca68689564 feat(cli): check if project identifier or lib name changed (#10479)
* feat(cli): check if project identifier changed

* implement ios check

* also check lib name

* clippy

* ensure_init from xcode-script

* fill change file [skip ci]
2024-08-05 09:45:18 -03:00
anatawa12
7e810cb2a3 fix: permission file uses ':' in file name (#10485)
* fix: permission file uses ':' in file name

* style: rustfmt
2024-08-05 09:45:00 -03:00
renovate[bot]
725dbb7250 chore(deps) Update Rust crate url to v2.5.2 (#10091)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-05 13:05:43 +02:00
github-actions[bot]
b9a4410516 apply version updates (#10468)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-03 10:22:38 -03:00
Lucas Fernandes Nogueira
fb1933f174 fix(cli): android dev --open failing due to adb not finding device (#10467) 2024-08-03 10:04:26 -03:00
deadmeu
699319d8a7 docs: Update tauri::app::Builder::setup example (#10463)
This resolves a warning emitted by following the example code: warning:
unused `Result` that must be used.
2024-08-03 09:50:27 -03:00
Lucas Fernandes Nogueira
206914fe8d fix(cli): adb reverse failing in Node.js (#10466) 2024-08-03 09:47:50 -03:00
Lucas Nogueira
005e4a9649 chore: promote API package to RC 2024-08-02 10:32:39 -03:00
Lucas Fernandes Nogueira
88619e8914 feat: promote v2 to RC (#10434)
* feat: promote v2 to RC

* update changelog
2024-08-02 10:28:06 -03:00
Lucas Fernandes Nogueira
786f188923 feat(cli): allow using iOS device tun address for dev server (#10456)
- Changes the IP prompt to also show IPV6 address ending with ::2 (usually device's address)
- Adds --host option on ios dev to force the host
- Also makes it work with our own dev server impl (builtin)
2024-08-02 10:04:08 -03:00
Lucas Fernandes Nogueira
7ba67b4aca refactor!: use localhost for development on Android devices and emulators or iOS simulators (#10437)
* feat(cli): use localhost on mobile!

* change cargo-mobile2

* use public network address on iOS device :(

* add change file

* actually breaking

* pin cargo-mobile2

* rename env var
2024-08-02 07:35:18 -03:00
Lucas Fernandes Nogueira
a5bfbaa62b feat: add iOS frameworks config option, closes #9962 (#10393)
* feat: add iOS frameworks config option, closes #9962

* fix template

* typo
2024-08-02 07:35:03 -03:00
chip
b32295de18 prevent unnecessary rebuilds when working in the cargo workspace (#10442)
* hash codegen image cache output

* remove left over dbg! statement

* prevent info.plist from workspace rebuilds

* prevent schema generation from workspace rebuilds

* use new `Cached` struct in `CachedIcon`

* fmt

* use full import for cached plist

* use `to_vec()` for raw icons
2024-08-02 07:30:02 -03:00
Oscar Beaumont
6755af2302 fix: Specta remote implementation for Channel (#10435)
* Update channel.rs
* Don't rely on `DataType` reexport
2024-08-01 16:26:52 +09:00
Lucas Fernandes Nogueira
24445d71de fix(core): usage without the compression feature (#10432) 2024-07-31 18:40:02 -03:00
chip
eaec5fe9c1 Limit pub exposure in 2.x (#10158)
* hide `Invoke` from documentation

* make `Asset` non-exhaustive

* make `InvokeRequest` non-exhaustive

* mark `tauri_utils::platform::Target` non-exhaustive

* mark the runtime crates as unstable API

* Revert "mark the runtime crates as unstable API" [skip ci]

This reverts commit b8377222e3.

* mark the runtime crates as unstable API

* Revert "mark the runtime crates as unstable API" [skip ci]

This reverts commit 9284897644.

* mark the runtime crates as unstable API

* mark tauri_utils::TitleBarStyle as `#[non_exhaustive]`

* mark `InvokeRequest` as non_exhaustive unless `unstable` feature

* mark config and acl items as unstable
2024-07-31 10:54:43 -03:00
Lucas Fernandes Nogueira
1e0793b682 feat(core): fallback to file system for AssetResolver::get, closes #8411 (#10357)
* feat(core): fallback to file system for AssetResolver::get, closes #8411

Ports #10356 to v2

* fix test

---------

Co-authored-by: Chip Reed <chip@chip.sh>
2024-07-31 07:13:40 -03:00
chip
d03332617c chore: Transfer schemars fork to tauri-apps org (#10429) 2024-07-31 15:40:45 +09:00
Lucas Fernandes Nogueira
d5511c3117 feat(cli): add migration from 2.0.0-beta to 2.0.0-rc (#10395)
* refactor(cli): check tauri version on migration

* rc migration

* license headers

* fix tests

* add path

* update schema
2024-07-30 16:32:59 -03:00
chip
426d14bb41 check the main frame's origin in isolation.js (#10423)
* check the main frame's origin in isolation.js

* add changefile

* correct changefile tag

* use strict origin checking
2024-07-30 16:32:32 -03:00
martin frances
87029310b8 Minor: 'cargo doc' reports links need to be wrapped in angle brackets. (#10320) 2024-07-30 07:54:08 -03:00
Lucas Fernandes Nogueira
758d28c8a2 refactor: core plugin permissions are now prefixed core:, closes #10359 (#10390)
* refactor: core plugin permissions are now prefixed core:, closes #10359

* code review

* expand reserved plugin names

* fix

* add core:default permission set

* fix permission usage

---------

Co-authored-by: Tillmann <28728469+tweidinger@users.noreply.github.com>
2024-07-30 07:52:43 -03:00
Tillmann
a0841d509a Add change file for #10360 (#10421) 2024-07-30 14:29:06 +09:00
chip
11af545bf3 feat: Use loopback interface on desktop dev server by default (#10360)
Use loopback interface on desktop dev server by default
2024-07-30 14:17:19 +09:00
dependabot[bot]
a0af6c00df chore(deps): bump openssl from 0.10.64 to 0.10.66 (#10354)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.64 to 0.10.66.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.66)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-29 12:56:41 -03:00
chip
cf994a6bb0 add failable try_build for plugin builder (#10405)
* add failable try_build for plugin builder

* add changefile

* implement `Hash`, `PartialEq` for `BuilderError`

* mark config and acl items as unstable

give some doc tips if they need to be used from Rust

* Revert "mark config and acl items as unstable" [skip ci]

This reverts commit e23728edb6.
2024-07-29 10:51:56 -03:00
Lucas Fernandes Nogueira
289ae5555d feat: re-enable TLS checks for Android and dev proxy (#10386)
* feat: re-enable TLS checks for Android and dev proxy

* update time
2024-07-29 10:43:59 -03:00
Vladimir Stoilov
7aeac39e7f feat(core): make setting of gtk app id optional (#10397)
* feat(core): make setting of gtk app id optional

* Fix change file

* Update .changes/linux-option-gtk-app-id.md

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* [skip ci] Update linux-option-gtk-app-id.md

* Update app.rs

* Update app.rs

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-07-29 15:26:13 +02:00
Ernest M. van der Linden
498f405ca8 fix(core): Conf parsing error always displays tauri.conf.json file name even when using toml or json5 (#10404)
* Conf parsing error displays `tauri.conf.json` when using toml or json5

Conf parsing error always displays `tauri.conf.json` as path, even when using `Tauri.toml` or `tauri.conf.json5`

Example Error Message when using Tauri.toml:
Error unable to parse toml Tauri config file at
/Users/bla/repo/bla/bla/src-tauri/tauri.conf.json because
invalid TOML value, did you mean to use a quoted string? at line 41
column 7

* merge changefile pr into main pr

* Update and rename fix-conf-parsing-error-filepath to fix-conf-parsing-error-filepath.md

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-07-29 14:54:21 +02:00
github-actions[bot]
2a402b4845 apply version updates (#10281)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
2024-07-29 07:27:56 -03:00
Lucas Fernandes Nogueira
efdce038bb fix(core): apply clippy suggestions (#10394)
* fix(core): apply clippy suggestions

* more fixes
2024-07-29 10:53:53 +02:00
Brendan Allan
e1776946ad fix(core): use specta's derive feature (#10362)
* use specta's derive feature

* use specta rc.15

* .changes file

* try patched specta

* specta rc.16

* Update .changes/specta-derive-feature.md

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* Update specta-derive-feature.md [skip ci]

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-07-24 12:47:51 +02:00
renovate[bot]
c072090ed8 chore(deps) Update Rust crate syn to v2.0.72 (#10369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-24 11:59:29 +08:00
Tony
f153e8b0fe docs: Fix js doc's param mismatch for setSizeConstraints (#10342) 2024-07-22 11:09:36 +02:00
Lucas Fernandes Nogueira
8b3e6eccf4 fix(ci): gh CLI expects the GH_TOKEN env var (#10333) 2024-07-20 09:42:40 -03:00
Jacob Bolda
cfc53074d0 (chore) covector comment on forks (#10331)
* (chore) covector comment on forks

* bump header year

* Update .github/workflows/covector-comment-on-fork.yml

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-07-20 09:17:06 -03:00
renovate[bot]
88552d66c3 chore(deps) Update Tauri Macros (#10309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 10:39:03 +08:00
Jason Tsai
9546548ec0 fix(macos): set default title-bar style to Visible, close #10225 (#10297)
* fix(macos): set default title-bar style to `Visible`

* chore: add TODO
2024-07-17 06:40:38 +03:00
Fabian-Lars
7acac58d23 docs(core): Fix syntax in tauri.conf.json example (#10299) 2024-07-17 04:27:20 +03:00
Amr Bashir
da25f73530 feat: add granular size constraints APIs (#10242) 2024-07-17 04:05:56 +03:00
Hamir Mahal
26f2e19a4f refactor: remove unnecessary hashes around raw str (#10273) 2024-07-15 14:54:46 +03:00
Tony
9f0a5fceac changes(nsis): move pre hooks before kill app (#10271) 2024-07-15 14:54:02 +03:00
Tony
d1df6be701 fix(bundler): warning for self contained updaters (#10270)
* Fix warning for self contained updaters

* Add change file
2024-07-15 16:18:48 +08:00
Tony
506f1dd873 chore: use from string instead of from_anyhow anyhow! (#10282)
* Use from string instead of from_anyhow anyhow!

* Clippy
2024-07-14 21:44:01 +08:00
Tony
3c17fb64fd Fix Webview.reparent pointing to wrong Rust API (#10277) 2024-07-14 19:20:56 +08:00
github-actions[bot]
6d965e9fbf apply version updates (#10179)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-07-12 16:37:38 -03:00
Lucas Fernandes Nogueira
7c7fa0964d feat(cli): iOS signing for CI usage (#9963)
* feat(cli): iOS signing for CI usage

* license headers

* change file

* chore: support more cert types

* xplicit method arg

* keep keychain alive

* fix early keychano drop

* set team id

* use common name as cert name
2024-07-12 11:08:55 -03:00
renovate[bot]
532b3b1c03 chore(deps) Update Tauri API Definitions (#9171)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-12 11:07:49 -03:00
Fabian-Lars
202f15fc40 ci: Fix cli auto publishing (#10223) 2024-07-12 10:45:55 -03:00
Amr Bashir
261c9f942d refactor!(core & api): rename drag events for better consistency and clarity (#10170)
* refacotr!(core & api): rename drag events for better consistency and clarity

* more renames

* remove imports

* fix drag over listen

* update example

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-07-12 10:22:06 -03:00
Lucas Fernandes Nogueira
69dcfdfe0f fix(build): skip rerun-if-changed when Info.plist do not exist (#10267) 2024-07-12 10:13:08 -03:00
Lucas Fernandes Nogueira
5d29229858 fix(codegen): icon rewriting always triggering build to rerun (#10268) 2024-07-12 10:12:58 -03:00
Amr Bashir
4c239729c3 fix(core): fix raw invoke body for isolation pattern (#10167)
* fix(core): fix raw invoke body for isolation pattern

The `isolation` pattern requests are made using JSON but the payload could be raw bytes, so we send the original `Content-Type`  from frontend and make sure to deserialize the payload using that one instead of `Content-Type` from request headers

* clippy

* disable plist embed in generate_context in tests

* change file

* docs [skip ci]

* move unused_variables [skip ci]

* last commit regression [skip ci]

* fix test

* add example, do not text encode raw request

* check type instead of contenttype

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-07-12 09:52:53 -03:00
Amr Bashir
c01e87ad46 refactor(cli/migrate): use oxc kit to parse and migrate js/ts files (#10198)
* refactor(cli/migrate): use `oxc` kit to parse and migrate js/ts files

closes #10192

* fix tests

* use majic-string to perserve formatting

* more comments

* Discard changes to package.json

* Update cli-migrate-enhancemnets.md

* Update cli-migrate-enhancemnets.md

* more context

* add missing quotes, rename getcurrent

* fix change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-07-12 09:03:30 -03:00
Amr Bashir
2c076d63d0 ci: recognize contributors in releases (#10003) 2024-07-12 09:02:26 -03:00
Amr Bashir
ba9590aa92 feat!: add Listener and Emitter traits (#9640)
* feat!: add `Listener` and `Emitter` traits

* keep only trait implementation

* change file

* fix doctests

* fix build
2024-07-12 09:01:40 -03:00
Hamir Mahal
1a88fc1a9b style: simplify string formatting (#10259)
* style: simplfiy string formatting

* fix: file formatting in `core/`
2024-07-12 13:33:14 +03:00
Amr Bashir
2b1ceb40d3 refactor(api)!: renamed getCurrent functions to avoid ambiguity (#10229)
* refactor(api)!: renamed `getCurrent` functions to avoid ambiguity

closes #10193

* Update .changes/get-current-ambguity.md

* rename `getAll` and update docs and examples
2024-07-11 14:26:15 +03:00
Tony
249cdde9b6 Fix Serialize impl missing TSend (#10252) 2024-07-11 11:11:15 +02:00
Tony
11339418b1 chore(example/api): fix enter doesn't work on input with action button (#10254)
* Fix enter doesn't work on input with action button

* Use form
2024-07-11 11:06:36 +02:00
Tony
080b6e1272 enhance: use EventName on window's once and remove listener before calling handler (#10246)
* Refactor

* Revert event => void

* Change file
2024-07-10 19:59:01 +03:00
Brendan Allan
57612ab249 feat: add TSend generic to Channel (#10139)
* add TSend to Channel

* add changeset

* fix tray Channel

* Update .changes/ipc-channel-generic.md

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-07-10 10:03:20 -03:00
Amr Bashir
15e1259966 fix(cli): parse cargo--target-dir flag (#10234)
* fix(cli): parse cargo`--target-dir` flag

closes #10190

* clippy
2024-07-10 16:01:04 +03:00
Lorenzo Rizzotti
b4e16f3d8e fix(android): fix Android Studio project plugin link (#10235)
* add plugin resolution to gradle settings

This is needed to make Android Studio able to link to the project

* reflect codegen edit in the plugin example
2024-07-10 14:26:06 +03:00
Tony
a4a7233081 chore(example): refactor api example (#10228) 2024-07-09 12:00:06 +03:00
Fabian-Lars
c734b9e3cd feat(bundler/windows): Update wix to fix vulnerabilities and add arm support (#9861) (#10072)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-07-08 15:51:26 +03:00
Tony
afb102c59b fix(runtime-wry): window edge not working after setting resizable false and decorated false dynamically (#10211)
* Fix window edge not working
after setting resziable false and decorated false dynamically

* Fix example don't go crazy on resize

* cargo fmt
2024-07-08 15:24:55 +03:00
Amr Bashir
5998a90f3f fix(bundler): update nsis_tauri_utils to 0.4.1 (#10184) 2024-07-08 13:33:40 +02:00
zrq8
24aaf0f5af docs(tauri-macros): fix typo in documentation of do_menu_item macro (#10200) 2024-07-04 18:03:26 +02:00
Amr Bashir
94136578bc fix(cli/migrate): fix clipboard permissions migration (#10186)
closes #10185

The plugin has been updated recently and its permissions has changed.
2024-07-04 10:47:44 +03:00
Fabian-Lars
96f65fef36 fix(bundler): Fix updater bundler warning condition for v2 artifacts (#10188) 2024-07-04 10:47:14 +03:00
Tony
11aa7743e7 enhance!(nsis): use !ifmacrodef for installer hooks (#10177) 2024-07-03 05:48:22 +03:00
Lucas Fernandes Nogueira
55733aba9c fix(core): iOS compilation without the wry feature (#10176)
Ref https://github.com/tauri-apps/plugins-workspace/pull/1402
2024-07-03 05:40:01 +03:00
Jason Tsai
7bc6a2a1d6 feat(macos): support changing title bar style dynamically, close #9763 (#9788) 2024-07-03 05:36:51 +03:00
Amr Bashir
a7354f9a81 feat(core): mark AppHandle::restart and process::restart as diverging functions (#10171)
closes #10160
2024-07-02 07:58:34 -03:00
Tony
eeae0660e1 chore(deps): update cargo mobile2 to 0.12.2 (#10165) 2024-07-02 06:55:28 +03:00
github-actions[bot]
ff79161b0d apply version updates (#10166)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-07-01 23:30:21 -03:00
Lucas Nogueira
f5b121be6e Revert "apply version updates (#9926)"
This reverts commit 1cc9aa4b66.
2024-07-01 23:14:57 -03:00
github-actions[bot]
1cc9aa4b66 apply version updates (#9926)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
2024-07-01 22:40:01 -03:00
Tony
911242f092 feat!(core): add bundle createUpdaterArtifacts configuration (#9883)
* Add updater field

* Don't sign updaters when updater field is false

* Clippy

* Add updater to bundle migration

* Format

* Add updater config to api example

* No warning if update is not enabled

* Build

* Add change file

* We don't generate updater for dmg package

* Warning only for v1 compatible

* clean up

* More clean up

* little bit more

* Apply suggestions from code review

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* Revert license header change

* Remove option around pubkey and msi args

* More migration tests

* Refactor private_key getter

* Only generate signature for updater for v1 compat

* Format

* Use map_err instead of anyhow context

* Don't generate updater for api example

* Fix misaligned comment

* Rename `updater` to `createUpdaterArtifacts`

* Revert changes in helloworld example

* Add warning for v1 compatible

* Update .changes/separate-updater-field.md

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>

* update error messages [skip ci]

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-07-01 08:34:58 -03:00
Simon Hyll
e7fd7c60d6 docs: fix broken link (#10147) 2024-06-28 12:48:28 +02:00
Tony
5878fb45ce chore: Update api example (#10144) 2024-06-28 11:21:54 +02:00
Amr Bashir
3afe828940 refactor!: change Webview::navigate to return result (#10134)
closes #9935
2024-06-27 09:43:34 -03:00
Amr Bashir
77d44215ef enhance(nsis): include uninstaller size in estimated size (#10137) 2024-06-27 09:43:13 -03:00
Amr Bashir
e93ca1df3b fix(core): fix InvokeBody::Raw deserialization (#10138)
closes #9948
2024-06-27 06:55:49 -03:00
Amr Bashir
27838365a6 fix(cli): parse --profile=<profile> syntax (#10135)
* fix(cli): parse `--profile=<profile>` syntax

ref: https://github.com/tauri-apps/tauri/issues/6255#issuecomment-2192466839

* Update tooling/cli/src/interface/rust.rs

* safe check next arg

* add test

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-06-27 06:53:26 -03:00
Simon Richard
167b51a8de feat: improve deserialization errors by using serde-untagged on enums (#9952)
* Use serde-untagged instead of derive trait for capabilities structs

* Update core/tauri-utils/Cargo.toml

* improve errors for other untagged enums

* clippy

* add tests, fix deserialization

* use schemars attribute instead

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-06-26 17:54:49 -03:00
Tony
878198777e feat(schema): make acl permissions schema unique (#9999)
* Make acl permissions schema unique

* Add change file

* use a hashset

* fix cli

* Revert "use a hashset"

This reverts commit 778d316f34.

* Revert "fix cli"

This reverts commit cfc0e39182.

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-06-26 17:13:55 -03:00
Jesper L. Nielsen
1601da5b52 fix(cli): removed alpha channel from default IOS AppIcons (#10114)
* bug: removed alpha channel from default IOS AppIcons

According to Apple's human interface guideline
(https://developer.apple.com/design/human-interface-guidelines/app-icons)
transparent or icons with alpha channel are not allowed, and will be rejected
upon upload to Apple appstore.

* Update .changes/ios-non-transparent-icons.md
2024-06-26 21:10:16 +03:00
Amr Bashir
eb76df4c4f fix(cli/plugin/new): construct path from components iterator instead of PathBuf::join (#10128)
fixes #10082

The problem that we were calling `PathBuf::join()` with value of collecting an empty iterator of path components which was equivalent to `PathBuf::from("ios").join("")` which will result in `ios/` with a trailing slash.

This is fixed by chaining iterators of path components and collecting only once into `PathBuf`, which will never append empy path component and will never append trailing slash.
```rs
[
  Component::Normal(OsStr::new("ios")),
  Component::Normal(&some_folder_name),
]
.into_iter()
.chain(other_components_iterator)
.collect::<PathBuf>()
```

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-06-26 11:11:31 -03:00
olexiyb
1f6e478c84 fix: #7614 - rebuild every time on macos because of Info.plist changes (#9878)
* fix: #7614: rebuild every time on macos because of Info.plist changes

* apply proposed patch from lucasfernog

* Update core/tauri-codegen/src/context.rs

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

* Update core/tauri-codegen/src/context.rs

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

* added changes file

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-06-26 08:08:14 -03:00
Tony
7d85f7cf82 chore(deps): update tao to 0.28.1 (#10130) 2024-06-26 09:18:29 +03:00
Tony
f21029b1bc feat!(nsis): add an option to customize start menu folder (#9994) 2024-06-26 09:17:02 +03:00
Tony
a15a97594f chore: generate schema (#10129)
* Generate schema

* -

* Revert "-"

This reverts commit a456975cd2.
2024-06-26 09:04:01 +03:00
Tony
35110dba21 fix(nsis): delete app data button gone on higher scaling (#10106)
* Fix delete app data button gone on high DPI

* Add change file

* change back translation template

* Use w string instead of t

* Add in some comment explaining PerMonitorV2
2024-06-26 09:01:34 +03:00
Tillmann
bb50315c50 refactor: Improve Automated Permission Documentation Generation (#10113)
* generate permission table with html

* cargo fmt

* clippy fix

* clippy fix

---------

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
2024-06-26 07:59:47 +03:00
Fabian-Lars
61bbd8373f fix(bundler/wix): Add AUTOLAUNCHAPP and LAUNCHAPPARGS public properties (#10117) 2024-06-26 06:27:12 +03:00
Amr Bashir
6c9e24a683 fix: fix new clippy errors (#10054)
* fix: fix new clippy errors

* more clippy
2024-06-24 20:54:43 +03:00
Tony
cee0bfcd6c feat(core): make all tray and menu permissions enable by default (#10092)
* Make all tray and menu permissions on by default

* Update example capabilities

* Add change file
2024-06-24 19:50:06 +03:00
Amr Bashir
d4c908cfb8 fix(deps): update rust crate windows to 0.57 and webview2-com to 0.31 (#10048)
* fix(deps): update rust crate windows to 0.57 and webview2-com to 0.31

* revert fmt

* wry@0.41
2024-06-24 19:20:47 +03:00
Amr Bashir
669b9c6b5a feat(core): set gtk app id (#9621)
* feat(core): set gtk app id

ref: https://github.com/tauri-apps/tao/issues/910

* Update core/tauri-runtime-wry/Cargo.toml

* Discard changes to Cargo.lock
2024-06-24 19:20:03 +03:00
Tony
faf282ca6c fix(nsis): use runtime ${If} check to clean up deep link on uninstall (#10103) 2024-06-24 10:48:02 +03:00
Ali Mehasin
e13ea53a26 chore(README.md): alpha -> beta (#10107) 2024-06-24 09:37:40 +03:00
Matt Nield
82c2eb3284 chore: Correct grammar typo in documentation of generate_handler macro (#10110) 2024-06-24 09:01:44 +03:00
Tony
58821fc0e5 fix(nsis): esitmated size unit (#10086)
* Fix nsis esitmated size unit

* Add change file
2024-06-19 23:04:40 +02:00
chip
3bbfac8f3b don't use invoke key template name in comment (fix #10084) (#10088) 2024-06-18 19:42:40 +03:00
Tony
16641723b0 chore(deps): update js dev dependencies (#10051) 2024-06-14 05:28:06 +03:00
Amr Bashir
3fd84cb3c9 fix(NSIS): rewrite license file with BOM (#10049)
* fix(NSIS): rewrite license file with BOM

closes #9031

This also includes a change to NSIS bundler to use UTF8 by default

* refactor and cleanup
2024-06-13 18:31:27 +03:00
Tillmann
b2ff840e83 Feat: Improved Security Docstrings and Schema Newline Handling (#10028)
* Refactor Code Docs

* updated schemas

* cargo fmt whitespace fix

* downgrade cargo-platform to 0.1.7

---------

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
2024-06-13 18:31:12 +03:00
Yasunari Fujieda
4ca297b35b fix(core): check if listener.handler is undefined (#10007) 2024-06-12 19:32:06 +03:00
Fabian-Lars
c98f385cb5 fix(api.js): Export mocks module (#10044) 2024-06-12 19:22:55 +03:00
dependabot[bot]
85889f289b chore(deps): bump braces from 3.0.2 to 3.0.3 in /examples/api (#10040)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-12 11:17:15 +02:00
Roy Laurie
79542f4d45 fix(cli): icon should render explicit svg text node fonts (fix: #10022) (#10039)
* fix(cli): icon should render explicit svg text node fonts (fix: #10022)

* fix(cli): icon should render explicit svg text node fonts (fix: #10022)

added a .change file for the fix
2024-06-12 04:25:11 +03:00
Pylogmon
f56cdc9e39 fix: missing depends for rpm package (#10016)
* fix: missing depends for rpm package

* chore: add changes
2024-06-12 04:24:36 +03:00
Jonas Kruckenberg
b9e11a8b97 fix(bundler): AppImage startup crash (#10036)
* Update appimage

* Update appimage.rs

* changefile

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-06-11 17:07:17 +02:00
Amr Bashir
f44a2ec47c feat(cli): include default.toml and capabilities in plugin template (#10030)
* feat(cli): include default.toml and capabilities in plugin template

* replace execute usage with ping

* add to capabilities

* use default permission set
2024-06-11 13:06:46 +09:00
Tony
5b769948a8 feat(core): add include_image macro (#9959) 2024-06-06 06:03:11 +03:00
Tony
586a816e62 fix(bench): update time (#9993) 2024-06-06 05:22:13 +03:00
Tony
6f469534b0 fix(nsis): run app as normal user (#9944) 2024-06-06 03:53:11 +03:00
amrbashir
30bc3d2095 fix(nsis): always pass default compression even if nsis object is not defined 2024-06-05 20:05:03 +03:00
Amr Bashir
de7da04a62 fix(rpm): use product name for output package (#9974)
* fix(rpm): use product name for output package

ref: https://github.com/tauri-apps/tauri/pull/9375
ref: https://github.com/tauri-apps/tauri/pull/9375#issuecomment-2144997488

* use kebab-case product-name for rpm

* fmt
2024-06-05 19:57:32 +03:00
amrbashir
27abecd6e5 fix(bundler/nsis): SetCompress off not false 2024-06-05 19:35:40 +03:00
Amr Bashir
148f048871 feat(api): add defaultWindowIcon to app module (#9979) 2024-06-05 19:17:06 +03:00
Tony
3ab170917e feat(nsis): add an option to disable compression (#9932) 2024-06-05 19:07:49 +03:00
thewh1teagle
656a649744 feat(cli): add macos hardened runtime signing config option (#9318)
* feat(cli): add macos signing config option

* rename option to hardened_runtime

* chore(cli): use default true in hardened runtime config

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-06-05 18:04:08 +02:00
Amr Bashir
f29b788110 fix(core/wry): implement resizing natively on Windows (#9862)
closes #7388
closes #9510
closes #9464

ref #9268
ref #9053
ref #8770
ref #8750
ref #4012
2024-06-05 19:03:22 +03:00
Amr Bashir
fafc238f72 feat: add bundle > homepage option (#9977)
* feat: add `bundle > homepage` option

If unspecified, it will fallback to `homepage` define in Cargo.toml

closes #9949

* Update settings.rs
2024-06-05 19:01:48 +03:00
Lucas Fernandes Nogueira
40c0f44e1c fix(cli): plugin iOS Xcode project deployment target should be 13.0 (#9971) 2024-06-04 17:55:40 -03:00
Tony
f955f7b490 chore(deps): migrate dirs_next to dirs (#9929) 2024-06-04 06:03:25 +03:00
Tony
e6e17ad1c8 fix(core): add std feature to raw-window-handle (#9954) 2024-06-04 05:19:54 +03:00
Tony
ea78bf5558 fix(nsis): migrate old shortcuts by setting the path only instead of re-creating a new one (#9915) 2024-06-04 04:27:17 +03:00
Kareem Ebrahim
019a74e970 fix(cli): correct module name resolution for clipboard and globalShortcut plugins (#9931) 2024-06-03 21:57:46 +03:00
Amr Bashir
ddaabda365 feat: expose WebviewWinowBuilder::on_download (#9922)
* feat: expose `WebviewWinowBuilder::on_download`

closes #9921

* fix tests
2024-06-03 21:14:00 +03:00
Lucas Fernandes Nogueira
3cca5c2be8 chore(cli): update to new buildConfig format (#9924)
* chore(cli): update to new buildConfig format

the existing usage has been deprecated and will be removed on gradle plugin v9, as Android Studio warns

* add config to our lib too
2024-05-30 16:56:11 -03:00
github-actions[bot]
916a26c2a1 apply version updates (#9913) 2024-05-29 17:02:21 -03:00
Simon Hyll
0a6e62ac58 chore: update schema.json (#9908) 2024-05-29 16:33:39 -03:00
Amr Bashir
38df6ea1c1 fix(nsis): fix regression in shortcuts pointing to a non-existing file (#9909) 2024-05-29 16:33:24 -03:00
github-actions[bot]
a0a76cea2f Apply Version Updates From Current Changes (#9911)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-05-29 13:58:51 -03:00
Amr Bashir
dfd05441c7 Revert "feat(core): add app-region: drag to data-tauri-drag-region (#9789)" (#9860)
* Revert "feat(core): add `app-region: drag` to `data-tauri-drag-region` (#9789)"

This reverts commit ae6b13dfc0.

* Update pre.json

* change files

* Discard changes to .changes/pre.json
2024-05-29 12:20:05 -03:00
Simon Hyll
5e8aa6f946 fix: workaround for broken example (#9906)
`schemars` improperly parses the docstring, causing a missing newline before the codeblock closing tics.
2024-05-30 00:16:29 +09:00
Tillmann
4942d809ab feat: Auto Generation of ACL Schema File for Documentation (#9903)
* Add auto generated acl schema files for docs

* update CI

---------

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
2024-05-29 09:32:58 -03:00
github-actions[bot]
594e3e2939 Apply Version Updates From Current Changes (#9869)
* apply version updates

* fix bundler version

* update lockfile

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-29 00:10:20 -03:00
Lucas Nogueira
94cca92aeb fix: regression extracting NSIS zip - target folder already exists 2024-05-28 23:37:06 -03:00
Amr Bashir
265c23886e refactor(cli&bundler): avoid renaming main executable and preserve cargo name (#9375)
* refactor(cli&bundler): avoid renaming main executable and reserve cargo name

closes #8109
closes #8349

* fix bundler

* fix test

* Discard changes to core/tauri-build/Cargo.toml

* revert Cargo.toml changes

* Discard changes to Cargo.lock

* Discard changes to tooling/cli/Cargo.lock

* lock file

* use product name for installers

* only warn for sign on windows

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-05-28 13:50:41 -03:00
Amr Bashir
e8f6eb59a5 refactor(core)!: include all args in Env.args_os, closes #9430 (#9552)
* refactor(core)!: include all args in `Env.args_os`, closes #9430

* skip first arg on restart fn

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-28 13:49:44 -03:00
Amr Bashir
19b696b61c fix(build): avoid copying resource onto itself (#9710)
* fix(build): avoid copying resource onto itself

closes #9666

* canonicalize once

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-28 13:48:52 -03:00
Amr Bashir
ccc3ea729d fix(codegen): use TAURI_ENV_TARGET_TRIPLE to determine the current platform-specific config (#9646)
* fix(codegen): use `TAURI_ENV_TARGET_TRIPLE` to determine the current platform-specific config

* set env var

* Update .changes/tauri-codegen-use-correct-env.md

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-28 13:48:24 -03:00
Amr Bashir
bcc63bf36d chore(examples/streaming): use get getrandom to generate boundary (#9546) 2024-05-28 11:50:55 -03:00
Jason Tsai
8b032c3cf6 fix(ios): add LaunchScreen.storyboard to iOS project template, fix#9853 (#9896)
* fix(ios): add LaunchScreen storyboard file

* chore: add changelog
2024-05-28 11:46:42 -03:00
Jason Tsai
adac2185a3 fix(android): check version code in release mode (#9898) 2024-05-28 11:37:38 -03:00
Jason Tsai
aa55e03354 fix: set window origin default to null (#9899) 2024-05-28 11:34:36 -03:00
Lucas Fernandes Nogueira
3f1c59d684 chore(cli): enhance mobile build by only compiling selected target (#9894)
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
2024-05-28 07:53:32 -03:00
Jason Tsai
71a5e2ba24 fix(android): allow and escape Kotlin keywords as package identifier, closes #9743 (#9799)
* fix(android): escape kotlin only keyword in template

* fix: escape keywords in wry templates aswell

* chore: add changelog

* chore: remove unused code

* fix(android): wry template, package name should reverse

* update cargo-mobile2

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-05-28 07:52:48 -03:00
Fabian-Lars
4754786aa2 fix(bundler/macos): Fix incorrect deep link plist property (#9885) 2024-05-27 15:59:00 -03:00
Lucas Fernandes Nogueira
9970d88bec chore(android): update to latest Gradle (#9892) 2024-05-27 15:58:00 -03:00
Rajaniraiyn R
aaecb6a72e refactor: rename tauri::dev to is_dev and mark as constant fn (#9890)
* refactor: made `tauri::dev` as constant function

this enables the `tauri::dev()` can be used as const or static

* is_dev && change files

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-05-27 19:03:48 +03:00
Tony
27fd8cc56c nsis_tauri_utils::download -> NSISdl::download (#9887) 2024-05-26 17:59:13 +03:00
Amr Bashir
9e4b2253f6 feat(cli): add tauri bundle subcommand (#9734)
* feat(cli): add `tauri bundle` subcommand

closes #8734

* license header

* log application path after building

* fix no-bundle check

* typo

* enhance error with deep causes

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-05-25 11:46:55 -03:00
Amr Bashir
5462e5cadc feat(nsis): support installer hooks (#9731)
* feat(nsis): support installer hooks

closes #9668

* update change files

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-05-25 10:23:08 -03:00
Amr Bashir
418d72d72d feat(bundler/nsis): add /UPDATE flag (#9559)
* feat(bundler/nsis): add `/UPDATE` flag

* typo

* typo

* skip webview2 installation on updating
2024-05-25 09:41:09 -03:00
Lucas Fernandes Nogueira
80aa504987 chore(cli): update Android target SDK to 34 (#9870) 2024-05-25 07:46:34 -03:00
Amr Bashir
c4410daa85 feat(tray): add enter, move and leave events (#9777)
* feat(tray): add `enter`, `move` and `leave` events

closes #8584

* update api example

* check button state [skip ci]

* fix enum [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-24 14:56:32 -03:00
Amr Bashir
276c4b1438 fix(Windows): sync menubar theme with the window theme (#9832)
* fix(Windows): sync menubar theme with the window theme

ref: https://github.com/tauri-apps/muda/issues/170

* fix moc runtime

* muda 0.13.4

* missing change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-05-24 14:23:54 -03:00
Jonas Kruckenberg
9ac930380a chore: emit rustc-check-cfg for nightly (#9850)
* fix: emit cargo cfg alias using new syntax too

* Update lib.rs

* fixes for other crates

* clippy

* readd clone

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-05-24 13:12:51 -03:00
Mariotaku
fd2d7cf8b3 feat(android): aware of version info from tauri config (#9856)
* feat(android): versionName and versionCode support

* formatted code and updated schema

* fix config, cleanup generation

* update docs

* mention default version for android

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-05-24 10:56:21 -03:00
Amr Bashir
d6d3efbd12 feat(bundler): support custom sign command on Windows (#9865)
* feat(bundler): support custom sign command on Windows

closes #7188
closes #9578

* fix double quotes

* fix build

* fix build

* clippy

* Update sign.rs

* clippy && replace `winreg` with `windows-registry`

* remove log [skip ci]

* Apply suggestions from code review

* tweak arg so path with spaces work on macOS

* create nsis toolset paths

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-24 10:25:13 -03:00
Amr Bashir
fc1543c65e refactor!: remove skip_webview_install option (#9864) 2024-05-24 10:13:55 -03:00
Jason Tsai
1df5cdeb06 refactor!: use tauri.conf.json > identifier as package name and bundle id, close #9851 (#9858)
* fix(android): use identifier as Android package name

* update android_binding and android_fn interface

* chore: rename TAURI_ANDROID_PACKAGE_PREFIX to TAURI_ANDROID_PACKAGE_NAME

* revert back to split prefix and app_name

* rename `domain` to `identifier`

* add change log

* simplify reverse config identifier

* Update .changes/mobile-use-identifier-as-id.md

* Update core/tauri-build/src/lib.rs

* lint

* cargo-mobile2 0.12

* fmt

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-24 09:22:41 -03:00
Lucas Fernandes Nogueira
8a1ae2deaf feat(plugin): add option to use a Xcode project for iOS (#9843)
* wip

* add option to use xcode project

* configuration

* clear env

* add change file

* remove xcuserdatad

* delete xcuserstate
2024-05-24 08:23:41 -03:00
github-actions[bot]
51b5d581b5 Apply Version Updates From Current Changes (#9752)
* apply version updates

* fix tests

* fix tests

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-22 23:20:59 -03:00
Tillmann
d950ac1239 Merge pull request from GHSA-57fm-592m-34r7
* only allow tauri-initialized frames to call the ipc

* dont regenerate the invoke key

* return early if the invoke key does not match

* add change file

* wry 0.40

* update change file

* trigger ci

---------

Co-authored-by: Chip Reed <chip@chip.sh>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-22 17:49:08 -03:00
Fabian-Lars
beda18bce9 fix(cli/add): Fix handling of more rust-only and non cross platform plugins (#9855) 2024-05-22 19:57:57 +03:00
Tony
ae6b13dfc0 feat(core): add app-region: drag to data-tauri-drag-region (#9789) 2024-05-22 19:45:39 +03:00
Amr Bashir
0b690f242f fix(core): export UriSchemeResponder (#9845) 2024-05-21 20:13:40 +03:00
wackbyte
f4d67818f8 docs: fix typo in WebviewBuilder (#9847) 2024-05-21 20:01:52 +03:00
Fabian-Lars
781d74799a fix(bundler/rpm): Reduce compression level to gzip/6 (#9840) 2024-05-21 19:03:47 +03:00
Lucas Fernandes Nogueira
5d20530c91 feat(core): add AppHandle::set_activation_policy (#9842) 2024-05-21 11:45:08 -03:00
Amr Bashir
d0d974fa5e fix(bundler/nsis): fix registering deep-link protocols (#9833)
* fix(bundler/nsis): fix registering deep-link protocols

* Update bundler-nsis-deep-links.md

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-05-21 11:01:37 +02:00
ryoichi
0c61784efb fix(example/state): correct invoke method path to __TAURI__.core.invoke() (#9817) 2024-05-19 11:16:23 +02:00
ryoichi
fe90a2925e fix(examples/parent-window): fix typo in import (#9816) 2024-05-19 10:54:51 +02:00
Angel S. Moreno
c4bacce2c2 docs: update events emitTo @since JSDoc tag (#9811)
* Update event.ts 

EmitTo is new to v2 and was not in v1

* replaced @since instead of removing
2024-05-18 01:10:15 +03:00
Jason Tsai
86250a476e ci: fix typo in android test workflow (#9800) 2024-05-16 18:44:48 +02:00
Lucas Fernandes Nogueira
be95d8d37c fix(utils): incorrect ToTokens impl for Capability (#9782) 2024-05-15 03:52:05 +03:00
Lucas Fernandes Nogueira
e713ceb75d chore(cli): remove unused iOS app icon (#9783) 2024-05-15 03:51:17 +03:00
Siddharth
ec0e092ecd feat: adds monitor_from_point method (#9770) 2024-05-14 19:48:51 +03:00
Tony
31aa90f514 chore(example): fix duplicated windows implement and update deps (#9772) 2024-05-14 13:25:15 +02:00
Tillmann
67ea20999b ci: Fix cargo vet command typo (#9771)
Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
2024-05-14 12:39:12 +02:00
Lucas Fernandes Nogueira
4a33bc6a62 fix(cli): pnpm detection on mobile init and xcode-script (#9553)
* fix(cli): pnpm detection on mobile init

* small outputFiles fix

* same check for xcode-script

* Discard changes to tooling/cli/node/index.js

* Discard changes to tooling/cli/node/index.d.ts

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-05-11 23:32:05 -03:00
Amr Bashir
bd64982fe6 ci: pull .crate file from workspace target directory (#9733) 2024-05-10 02:32:25 +03:00
Amr Bashir
caec19fce3 chore(deps): remove unused deps from cli (#9711)
* chore(deps): remove unused deps from cli

* fix mac build

* clippy
2024-05-09 23:35:02 +03:00
github-actions[bot]
6968c40053 Apply Version Updates From Current Changes (#9722)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-05-09 15:22:54 -03:00
Lucas Fernandes Nogueira
5a85ee2826 Revert "Apply Version Updates From Current Changes" (#9723)
This reverts commit 1bee4f279f.
2024-05-09 14:02:22 -03:00
github-actions[bot]
1bee4f279f Apply Version Updates From Current Changes (#9693)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-05-09 12:28:30 -03:00
Lucas Fernandes Nogueira
c0bcc6c0b7 fix(tauri-runtime-wry): window draw span not closing (#9717)
* fix(tauri-runtime-wry): window draw span not closing

* use .retain
2024-05-09 10:09:41 -03:00
Lucas Fernandes Nogueira
fedca73860 fix(core): IPC tracing field incompatibility (#9720) 2024-05-09 15:41:41 +03:00
Tillmann
e78bfa722e fix: Only provide cargo-vet suggestions for now (#9714)
As the workflow is failing because of a larger number of unvetted dependencies I transform this to suggestions only until we have a better vetting workflow and resources to audit available.
2024-05-09 09:04:35 -03:00
Amr Bashir
6f281b2e30 ci: pin cross to a commit before they bumped msrv (#9712)
* ci: pin `cross` to a commit before they bumped msrv

bump commit: 7129d5ab15
pre-bump commit: 1b8cf50d20

* Update test-core.yml
2024-05-09 08:58:45 -03:00
Amr Bashir
a813caf2e4 chore(examples/parent-window): fix import closes #9704 (#9705)
* chore(examples/parent-window): fix import

closes #9704

* lock file
2024-05-08 19:06:07 +03:00
Tillmann
82e1c75594 chore: Update cargo-vet entities and update lockfile (#9702)
Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
2024-05-08 16:01:49 +03:00
Golden Water
78839b6d2f feat(macos): Expose tao event Event::Reopen, closes #3084 (#4865)
* feat: expose tao event Event::Reopen

* Update .changes/event-reopen.md

* deps(core::tauri-runtime-wry): update tao to 0.28
2024-05-07 21:36:48 +03:00
Amr Bashir
783ef0f2d3 refactor!(core): return result in Webview/WebviewWindow::url getter (#9647)
* refactor!(core): return result in `Webview/WebviewWindow::url` getter

* clippy

* Apply suggestions from code review
2024-05-07 17:16:17 +03:00
Fabian-Lars
d2fc48f0e6 fix: rename kill-children.sh to tauri-stop-dev-processes.sh (#9669) 2024-05-07 16:45:37 +03:00
Lucas Fernandes Nogueira
a5205f179e fix(utils): wrong ToTokens impl of the window proxy_url config (#9691) 2024-05-07 15:59:58 +03:00
Tony
5529c5ab69 ’ -> ' (#9686) 2024-05-07 11:22:36 +02:00
Tony
5ce0737e9a Update denpendencies (#9688) 2024-05-07 11:22:05 +02:00
github-actions[bot]
83acd85788 apply version updates (#9639)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
2024-05-07 00:02:54 +02:00
Hankung
3fbc1703f1 fix: schemars 0.8.18 compatibility (#9676)
* fix: schemars 0.8.18 compatibility

* fix cli cargo issue

* update tauri-utils v1

---------

Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-05-06 23:22:35 +02:00
Tony
8385733a69 chore: rename .cargo/config to .cargo/config.toml (#9655) 2024-05-04 17:54:29 +03:00
Andrej Mihajlov
07ff78c2de feat(tray): add TrayIcon::rect method (#9615) 2024-05-03 05:56:54 +03:00
Eugene Hauptmann
f1badb9fb3 fix: fixed typo in menu and submenu tooling (#9645)
* Update menu.ts

replaced `Platform-spcific` to `Platform-specific`

* Update submenu.ts

replaced `Platform-spcific` to `Platform-specific`
2024-05-02 21:20:34 +03:00
Amr Bashir
97ec422f22 fix(cli/icon): return with an error instead of panic (#9638)
* fix(cli/icon): return with an error instead of panic

closes #9636

* Update .changes/cli-icon-non-0-exit.md
2024-05-02 13:26:53 +02:00
Oscar Beaumont
7f6d2698c9 fix(core): better error when deserializing plugin config (#9631)
* Better error for errors decoding plugin config

* changes
2024-05-02 00:44:40 +03:00
Oscar Beaumont
8a71858eb2 feat: configure a default runtime for menu and tray icon types (#9630)
* Use `tauri::Wry` as default runtime for menu types

* do it properly

* changes

* same for tray icon

* change file

---------

Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
2024-05-02 00:44:15 +03:00
Oscar Beaumont
bf2635ab62 fix(plugin): improve error for missing links property (#9632)
* Better error

* Improve errors
2024-05-02 00:40:31 +03:00
Oscar Beaumont
cd5580749c update link (#9637) 2024-05-01 18:58:17 +03:00
Fabian-Lars
b0421cbb21 chore: rebuild bundle.global.js (#9625) 2024-04-30 21:30:09 +02:00
github-actions[bot]
d5775ed6a4 apply version updates (#9617)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-04-30 19:31:34 +02:00
Fabian-Lars
007af10d43 Partially Revert "Apply Version Updates From Current Changes (#9551)" (#9620)
This partially reverts commit 108ab9094a.
2024-04-30 19:23:26 +03:00
Zihan Hu
aa080696e0 fix(core): fix incorrect isTauri return type (#9618) 2024-04-30 19:03:49 +03:00
Tony
1bb87a3a22 feat(cli): generate signature for updater-enabled bundles (#9446) 2024-04-30 18:45:24 +03:00
Tony
6c047aee14 fix(windows): hide windows on cleanup (#9612)
* Hide windows on cleanup

* Add change file

* Move hide window to a loop above
2024-04-30 18:37:17 +03:00
github-actions[bot]
108ab9094a Apply Version Updates From Current Changes (#9551)
* apply version updates

* update wry to 0.39.3 to prevent dependency version mismatches

---------

Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-04-30 16:22:46 +02:00
renovate[bot]
380c507d38 chore(deps) Update Rust crate heck to 0.5 (dev) (#9555)
* chore(deps) Update Rust crate heck to 0.5

* let's help renovate out :)

* remove unicode feature

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-04-30 14:52:50 +02:00
Amr Bashir
128c580009 chore(cli/deps): update nsis-tauri-utils to 0.3 (#9604) 2024-04-30 13:54:49 +02:00
Amr Bashir
3f08054885 refactor(cli): use windows-sys instead of winapi (#9603)
* refactor(cli): use `windows-sys` instead of `winapi`

* Update cli-windows-sys.md
2024-04-29 20:50:37 +03:00
Amr Bashir
477bb8cd4e feat: add cursor_position getter (#9297)
* feat: add `cursor_position` getter

closes #9250

* js api

* Update mod.rs

* fix build on iOS and android

* use existing wrapper

* fmt

* adjust wording

* update docs

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-04-29 18:28:01 +03:00
Fabian-Lars
5a213a4bdc ci: Fix publishing of cli-macos-x64 (#9584) 2024-04-29 16:23:13 +03:00
Lucas Fernandes Nogueira
eff778b8f0 fix(core): run plugin init script in a separate context (#9571) 2024-04-28 11:15:29 -03:00
Fabian-Lars
6d5a396ae9 ci: Remove nodejs14 test in cli.js publishing workflow (#9568) 2024-04-25 12:45:15 +02:00
Lucas Fernandes Nogueira
98101cb17f fix(core): allow any headers on custom protocol IPC (#9561) 2024-04-25 01:00:03 +02:00
Tony
68c39b8c0c refactor(nsis): use nsis's built-in com plugin instead of ApplicationID plugin (#9527)
* Use WinShell instead of ApplicationID

* Uninst shortcut before removing start menu one

* Use nsis's buit-in com plugin instead of WinShell

* Remove download ApplicationID code

* Add change file

* Clippy and format

* Allow dead code on extract_zip

* Qualify extract_zip path to make clippy happy

* Move macro up
2024-04-24 16:14:30 +02:00
Oscar Beaumont
12b4159bda feat(core): add Specta integration (#9392) 2024-04-23 04:29:39 +02:00
github-actions[bot]
ac9bfada4a Apply Version Updates From Current Changes (#9548)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-04-22 17:09:51 -03:00
Amr Bashir
e22e61af6c Revert "Apply Version Updates From Current Changes (#9489)" (#9549)
This reverts commit 198f11ae7b.
2024-04-22 15:42:46 -03:00
github-actions[bot]
198f11ae7b Apply Version Updates From Current Changes (#9489)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-04-22 19:02:28 +02:00
Amr Bashir
07f2af0002 chore(deps): update to windows-rs 0.56 (#9493)
* chore(deps): update to windows-rs 0.56

* lockfile

* use latest versions

* update lock file
2024-04-22 18:33:16 +02:00
Tony
de7bcf3cc5 fix(bundler/nsis): auto append product name when choosing a new install path (#9478)
* Fix picking install folder
doesn't auto append product name folder for nsis installer

* Add change file

* patch -> patch:enhance

* Update nsis-append-product-name.md
2024-04-22 17:59:16 +02:00
Tony
a1e0e268f0 fix(utils): temp permission file names on windows (#9477)
* Replace `tauri:` with `tauri-`

* Add change file

* Apply suggestions from code review

* patch -> "patch:bug"

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-04-22 11:18:16 -03:00
André Kohn
be7eab209c fix(api): add type definitions to package.json exports (#9486) 2024-04-22 16:18:00 +02:00
Amr Bashir
aaa332c6e7 fix(cli/migrate): migrate only known plugins (#9540)
* fix(cli/migrate): migrate only known plugins

closes #9533

* use tuple

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-04-22 15:28:19 +02:00
Lucas Fernandes Nogueira
35b25f7e5c fix: optional chaining is not supported on older webviews (#9530) 2024-04-22 10:27:45 -03:00
Amr Bashir
70c51371e0 feat(core): add isTauri (#9539)
* feat(core): add `isTauri`

* generate api
2024-04-22 15:07:11 +02:00
Amr Bashir
005fe8ce1e fix(runtime-wry): apply closable, maximizable and minimizable effects from config (#9410)
closes #9409
2024-04-21 11:43:30 -03:00
Graham Held
cf615e8e4d Set internal message ID to nextId after handling pending messages (#9463)
* Set internal message ID to nextId after handling pending messages

* add change file

* update bundle

* update reference.md

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-04-21 11:21:34 -03:00
dependabot[bot]
de7a294cc4 chore(deps): bump rustls from 0.22.3 to 0.22.4 (#9512)
Bumps [rustls](https://github.com/rustls/rustls) from 0.22.3 to 0.22.4.
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.22.3...v/0.22.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-21 11:05:16 -03:00
Amr Bashir
88c0ad9cf5 fix(build): check if permissions dir exists before adding cargo:rerun-if-changed (#9471)
closes #9062
2024-04-21 11:04:46 -03:00
Tony
daf018e4f5 fix(core): clear resource table in cleanup_before_exit (#9505)
* Clear resource table in `cleanup_before_exit`

* Add change file

* Update .changes/cleanup-resource-table.md
2024-04-19 05:50:12 +02:00
Amr Bashir
05088b0679 feat(bundler): expose {{long_description}} to custom templates (#9494)
* feat(bundler): expose `{{long_description}}` to custom templates

closes #9437

* fix linux
2024-04-18 17:09:05 +02:00
Fabian-Lars
e64b8f1dce chore: merge remote-tracking branch '1.x' into v2 (#9479)
* chore: port PR template from `dev` branch (#9004)

* fix(runtime-wry): avoid panic during clipboard initialization on wayland (#9003)

closes #8964

* ci: downgrade thread_local to 1.1.7 in msrv list (#9012)

* Apply Version Updates From Current Changes (v1) (#9013)

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>

* fix(bundler): escape potentially problematic strings in an XML (#9040)

* fix(bundler): escape potentially problematic strings in an XML (#9030)

- replace characters invalid in XML with their escaped form to properly bundle resources with such characters in their pathnames.

* change file

* fix(cli): use `matched_path_or_any_parents` when checking if a file is ignored (#8903)

* fix: taurignore ignoreing folders not working for watch

* docs: add to changes

* fix: panic: path is expected to be under the root

* Update taurignore-ignoring-folders-not-working-for-watch.md

* Update taurignore-ignoring-folders-not-working-for-watch.md

* fix(cli): migrate to stable features of `log` crate (#9119)

* fix(cli): migrate to stable features of `log` crate

* to_cow_str

* Apply Version Updates From Current Changes (v1) (#9074)

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>

* fix(core/path): remove suffix in basename only once (#9166)

* fix(core/path): remove suffix in basename only once

ref: #9064

* Update tooling/api/src/path.ts

---------

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

* fix(cli): Clone Options struct after mutating it. (#9188)

* fix(bundler): Fix nsis resource paths on non-windows build systems. (#9281)

* fix(bundler): Fix nsis resource paths on non-windows build systems.

* remove leftover from alternative

* fix(bundler/nsis): Don't use /R flag on installation dir (#9282)

* fix(cli): upgrade heck to better support Chinese/Japanese prodcut name on Linux (#9298)

* chore: fix clippy false positive (#9329)

* fix(cli/info): fix crash when checking node version (#9411)

closes #9396

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: bifs <127015052+bifs@users.noreply.github.com>
Co-authored-by: anatawa12 <anatawa12@icloud.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Jet Li <jing.i.qin@icloud.com>
2024-04-18 05:21:21 +02:00
Amr Bashir
a07b513201 fix(core): add permission for window.start_resize_dragging (#9490)
closes #9485
2024-04-17 18:25:35 +02:00
Amr Bashir
8a63ceb4f3 feat(cli): ignore .DS_Store by default for dev watcher (#9473)
* feat(cli): ignore `.DS_Store` by default for dev watcher

closes #9451

* Update cli-ds-store-dev-watch.md
2024-04-17 14:51:24 +02:00
Amr Bashir
639d9abfdf fix(bench): fix bench compilation (#9474) 2024-04-17 14:50:58 +02:00
Jingyu
3fe9ae8520 docs(webview): fix doc typo in webview window builder (#9476)
* fix(webview): typo in webview window builder document

* Update core/tauri/src/webview/webview_window.rs

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-04-16 12:34:09 +02:00
Marc Espin
55bf4eb51c fix: Remove old links and updated CONTRIBUTING.md (#9472)
* fix: Remove old links update CONTRIBUTING.md

* update
2024-04-16 00:12:33 +02:00
github-actions[bot]
535691a711 Apply Version Updates From Current Changes (#9348)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-04-15 09:32:40 -03:00
Lucas Fernandes Nogueira
02eaf07872 fix(tauri-runtime-wry): Window::inner_size crash when the window has no webviews (#9428) 2024-04-15 13:28:59 +02:00
Amr Bashir
c8a82ad223 fix(core): fix deadlock when using resources_table in menu/image/tray plugins (#9379)
* fix(core): fix deadlock when using resources_table in menu/image/tray plugins

closes #9369

* document the resources_table requirement
2024-04-15 12:15:37 +02:00
Amr Bashir
48a7a78f80 fix(api): fix dpi types serialization (#9376)
* fix(api): fix dpi types serialization

closes #9370

* Update api-position-size-args.md

* lint

* setMinSize and setMaxSize

* Update api-position-size-args.md
2024-04-15 12:04:20 +02:00
Amr Bashir
1d39876f97 fix(cli): add missing closing bracket (#9466) 2024-04-15 11:59:23 +02:00
Tony
f22ea29986 fix(core): revert fix visibility change (#9246) (#9465)
* Revert "fix(windows): changing WebView visibility on hide/show/minimize (#9246)"

This reverts commit 5bd47b4467.

* Change files

* change file

* Update revert-fix-visibility-change.md
2024-04-15 11:50:11 +02:00
Fabian-Lars
f1674fce6d feat(core/windows): Convert UNC paths to simple paths in JS apis. (#9420) 2024-04-15 11:41:31 +02:00
Kornel
73c1c2d338 fix(cli/migrate): tolerate non-UTF-8 in migration (#9457) 2024-04-15 11:39:53 +02:00
Amr Bashir
9331435a50 fix(cli/info): fix crash when checking node version (#9412)
closes #9396
2024-04-15 11:39:19 +02:00
Kornel
cd23bb2ca2 fix(cli): clippy warnings on macOS (#9456) 2024-04-15 09:22:19 +02:00
Kornel
8f4b1050c4 feat(cli): show full expected path of frontendDist if not found (#9459)
* feat(cli): show full expected path of frontendDist
2024-04-15 09:18:46 +02:00
Lucas Fernandes Nogueira
32b213399f fix(core): deadlock on window create (#9429)
* fix(core): deadlock on window create

* Update mod.rs

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-04-10 10:49:59 -03:00
Tony
4973d73a23 feat: Add zoom hotkey polyfill for non windows platforms (#9386) 2024-04-08 22:42:51 +02:00
Tony
58a7a552d7 feat: Expose webview zoom (#9378)
* Expose webview zoom

* Add js side support

* Generate bundle script

* Format

* Add change file
2024-04-05 02:10:07 +02:00
dependabot[bot]
b231f4c2e5 chore(deps-dev): bump vite from 4.5.2 to 4.5.3 in /examples/api (#9377)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.5.2 to 4.5.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.3/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.3/packages/vite)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-04 03:39:51 +02:00
Tony
9273d7b379 feat(windows): Expose webview2 zoom hotkeys from wry (#9352)
* Expose webview2 zoom hotkeys from wry

* Add change file

* Apply suggestions from code review

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* Regenerate schema files

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-04-03 20:14:17 +02:00
Mariotaku
36b4c12497 feat(bundler): added provides, conflicts and replaces for deb and rpm (#9331)
* feat(bundler): added provides, conflicts and replaces for deb and rpm packages

* added change file

* update .changes/deb-rpm-provides-conflicts-replaces.md according to review

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* inlined provides/conflicts/replaces(obsoletes) variables

* fmt
2024-04-03 18:02:56 +02:00
Fabian-Lars
2f20fdf1d6 fix(core): compile error for 32bit targets (#9361)
* fix(core): compile error for 32bit targets

* clippy giving me trust issues
2024-04-03 17:19:21 +02:00
Fabian-Lars
6251645acf fix(core): Update webview metadata on window close (#9360)
* fix(core): Update webview metadata on window close

* make it multiwebview friendlier

* support webview.close() too -> THIS IS STILL MISSING AN EVENT LIKE tauri://destroyed !!!
2024-04-03 17:18:13 +02:00
Tony
4c2e7477e6 fix(windows) window center doesn't consider taskbar size (#9309)
* Fix window center doesn't consider taskbar size

* Clean up

* Add change file

* Calculate title bar size on initial creation

* Comment about not adding in rect.bottom

* Tweak comment

* Fix center existing window a bit too high

* us NSWindow::center on macOS

* skip if undecorated
2024-04-02 20:32:30 +02:00
github-actions[bot]
1a58cdf2ed Apply Version Updates From Current Changes (#9279)
* apply version updates

* fix bundler version

* fix bundler version

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-04-02 15:15:12 -03:00
Amr Bashir
284eca9ef2 refactor(core): scope JS resources to the webview (#9272)
* refactor(core): scope JS resources to the webview

* clippy

* change files

* swap args order

* more clippy

* just add them on each type

* clippy

* macro docs

* Update mod.rs

* use random rid

* revert resource table arg change

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-04-02 14:41:47 -03:00
Amr Bashir
8276ab767b chore(cli/plugin): update plugin template (#9346)
closes #9342
2024-04-02 13:59:26 -03:00
Amr Bashir
f8fde4f845 fix(cli): disable directory traversal in builtin dev server (#9344)
* fix(cli): disable directory traversal in builtin dev server

This PR also includes a cleanup refactor of the server

* Update builtin_dev_server.rs
2024-04-02 13:59:16 -03:00
Amr Bashir
dd07a36749 chore(cli/add): clippy, use char instead of str (#9333) 2024-04-01 14:22:30 -03:00
amrbashir
93e0e1392e feat(cli/add): support specifying version
closes #9325
2024-04-01 18:22:26 +02:00
Lucas Fernandes Nogueira
06833f4fa8 feat(ipc): enhance request URL checks, update wry, refactor file drop (#9100)
* feat(ipc): enhance request URL checks

* actually use req url

* fix windows, tests

* wry 0.38, file drop refactor

* wry 0.38.1

* adjust for windows [skip ci]

* wry 0.38.2 [skip ci]

* update to latest tao, wry, muda and tray-icon

* change tag

* serde

* use published crates

* downgrade cargo-platform to 0.1.7

---------

Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
2024-04-01 13:03:39 -03:00
Amr Bashir
b78f90bc9c chore(cli): fix clippy errors (#9330) 2024-04-01 12:44:12 -03:00
Lucas Fernandes Nogueira
a804a70a7a feat(isolation): script now removes itself to hide key from DOM (#9328) 2024-04-01 12:43:29 -03:00
Lucas Fernandes Nogueira
7c334cb185 feat(isolation): make encrypt key unextractable (#9327) 2024-04-01 12:43:19 -03:00
scottpledger
6703b7cbca fix: use $CARGO_MANIFEST_DIR to fully specify include_dir paths in tauri-cli (#9310)
* Allow tauri-cli to work with Bazel.

Signed-off-by: Scott Pledger <scottpledger2005@gmail.com>

* change file

---------

Signed-off-by: Scott Pledger <scottpledger2005@gmail.com>
2024-04-01 16:43:52 +02:00
Tony
5bd47b4467 fix(windows): changing WebView visibility on hide/show/minimize (#9246)
* Fix not changing visibilty for windows webview

* Add change file

* Move is_visible calculation to the caller

* Rename update to set
2024-03-28 16:25:46 +02:00
Vladimir Stoilov
259d845290 feat(bundler): add post/pre install/remove scripts for linux deb and rpm packages (#9209)
* feat(cli/add): add post/pre install/remove scripts for linux

* fix(cli): clippy errors

* fix(cli): remove script struct from deb/rpm bundle

* change files and aliases
2024-03-28 05:13:26 +02:00
Fabian-Lars
c33f6e6cf3 fix(core): Announce new webviews and windows (#9211)
* fix(core): Announce new webviews and windows

fixes #9200
fixes #8144

* fix js import in example

* emit created events to all listeners.

* remove duplicate event
2024-03-28 02:23:19 +02:00
Lucas Fernandes Nogueira
e7cd973123 fix(tauri-runtime-wry): window inner size regression on macOS, closes #9236 (#9276)
* fix(tauri-runtime-wry): window inner size regression on macOS, closes #9236

* lint
2024-03-26 11:38:57 -03:00
github-actions[bot]
7898b601d1 Apply Version Updates From Current Changes (#9222)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-03-20 19:59:04 -03:00
Lucas Fernandes Nogueira
b525ddadf7 fix(cli): openssl is no longer a required macOS dep (#9237) 2024-03-20 19:15:58 -03:00
Fabian-Lars
ee028c414d fix(core): Fix menu.remove trying to remove the item from itself instead of from the menu (#9225)
follow up to https://github.com/tauri-apps/tauri/pull/9219/
2024-03-20 18:36:51 -03:00
Tillmann
edc9923c5b Feat: Initial cargo-vet Support (#9216)
* add cargo-vet with reasonable trusted entities

* update paths

* license header

---------

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
2024-03-19 11:39:42 -03:00
Fabian-Lars
a799f24f97 fix(bundler): Fix path seperators for deep link registry entries (#9185)
* fix(bundler): Fix path seperators for deep link registry entries

* Update bundler-deep-link-reg-path.md
2024-03-19 10:41:55 -03:00
Amr Bashir
ac76a22f38 feat(cli/init): allow empty responses non-crucial questions (#9183)
closes #9181
2024-03-19 10:41:41 -03:00
Fabian-Lars
81b853bc87 fix(core): Set json content type for errors returned from commands (#9213) 2024-03-19 10:34:12 -03:00
Fabian-Lars
75f5cb4015 feat(core): Implement HasDisplayHandle for Window (#9214) 2024-03-19 09:43:15 -03:00
Tony
43230cb6b7 fix(core): menu remove js binding not working (#9219)
* Fix menu `remove` js binding not working

* add change file [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-03-19 09:40:25 -03:00
Dan
fb146339cc chore: Readme typo (#9130) 2024-03-18 22:47:10 +01:00
Lucas Nogueira
72d9876bc8 chore: update autogenerated file 2024-03-18 10:14:27 -03:00
github-actions[bot]
f1df6b2c35 Apply Version Updates From Current Changes (#9162)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-03-18 09:43:47 -03:00
Amr Bashir
379cc2b354 fix(core/path): remove suffix in basename only once (#9165)
* fix(core/path): remove suffix in `basename` only once

closes #9064

* Update tooling/api/src/path.ts

* remove extra assert

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-03-18 08:40:23 -03:00
Lucas Fernandes Nogueira
ea0242db4a refactor(image): expose constructor, unify size getters (#9179) 2024-03-13 22:02:05 -03:00
Amr Bashir
7213b9e472 feat(cli/add): add default permission to capabilities (#9124)
* feat(cli/add): add default permission to capabilities

also cleanup `tauri add` command

* license headers & clippy

* print permission name

* do not error out if default permission is not set

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-03-13 11:58:25 -03:00
Amr Bashir
acdd76833d feat(api/tray): add TrayIcon.getById/removeById (#9155)
* feat(api/tray): add `TrayIcon.getById/removeById`

closes #9135

* generate

* add permissions

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-03-12 13:07:51 -03:00
Lucas Fernandes Nogueira
e227fe02f9 feat(core): allow defining global API script on plugin build (#9156)
* feat(core): allow defining global API script on plugin build

Adds `tauri_plugin::Builder::global_api_script_path` so plugin authors can define the JavaScript global API bindings (supposed to be injected to `window.__TAURI__`) at compile time, so the string is only part of the binary when withGlobalTauri is true.
Currently this needs to be done manually at runtime (and it's always added to the binary via include_str).

* prefix variable

* use list of scripts instead of combining them

* static str

* header [skip ci]

* slice
2024-03-12 12:01:13 -03:00
Amr Bashir
3f039c18b1 chore(deps): update muda and tray-icon crates (#9154)
* chore(deps): update `muda` and `tray-icon` crates

* lock file
2024-03-12 09:50:39 -03:00
Amr Bashir
79b8a3514b enhance(core/event): filter js listeners on rust side only then emit filtered ids to be triggered (#9151)
* fix(core/event): filter js listeners on rust side only then emit filtered ids to be triggerd

fix regression introduced in https://github.com/tauri-apps/tauri/pull/8930 , and reported in https://github.com/tauri-apps/tauri/pull/8930#issuecomment-1986279046

* Update .changes/core-js-unlisten-all-regression.md

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

* Discard changes to .changes/core-js-unlisten-all-regression.md

* object.defineproperty

* add change file [skip ci]

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-03-12 09:41:25 -03:00
github-actions[bot]
d349558abb Apply Version Updates From Current Changes (#9149)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-03-11 15:14:25 -03:00
Amr Bashir
a44cd5a183 chore: fix description for Context::assets change from #9141 (#9148) 2024-03-11 14:47:03 -03:00
Lucas Fernandes Nogueira
e673854c83 fix(acl): inconsistencies on urlpattern usage for remote domain URL (#9133)
* fix(acl): inconsistencies on urlpattern usage for remote domain URL

* remove println!

* typo

* fix tests
2024-03-11 13:39:17 -03:00
Lucas Fernandes Nogueira
490a6b424e refactor(core): add setup() to the Assets trait (#9147)
* feat(core): allow swapping the assets implemenetation

* refactor(core): add setup() to the Assets trait

* code review
2024-03-11 13:38:32 -03:00
i-c-b
85de230f31 fix(core): race between drop old JS listeners and create new listeners on page load (#9144)
* fix(core): race between drop old JS listeners and create new listeners on page load

* Create fix-js-unlisten-all-race.md
2024-03-11 18:03:02 +02:00
Tony
c3ea3a2b7d fix(windows): relax UpdaterWindowsConfig to not deny unknowns fields (#9126) 2024-03-11 17:30:14 +02:00
Lucas Fernandes Nogueira
db0a24a973 refactor(core): use the image crate (#9132) 2024-03-11 11:46:34 -03:00
Dimitris Apostolou
26f0f71a40 chore: fix various typos (#9131) 2024-03-11 16:25:20 +02:00
Lucas Fernandes Nogueira
ba0206d8a3 feat(core): allow swapping the assets implementation (#9141) 2024-03-11 11:07:15 -03:00
studystill
db1ea98512 chore(core): remove repetitive word (#9136)
Signed-off-by: studystill <chenghuiyue@outlook.com>
2024-03-11 02:43:12 +02:00
kandrelczyk
45384ab3aa docs: adding 'desktop only' pill to menu module (#9123) 2024-03-08 06:26:31 +02:00
Lucas Nogueira
9247ecf2a4 chore(cli): update Cargo.lock 2024-03-07 20:24:53 -03:00
github-actions[bot]
d701f29f17 Apply Version Updates From Current Changes (#9117)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-03-07 19:56:45 -03:00
renovate[bot]
94ab97a884 chore(deps) Update Rust crate rpm to 0.14.0 (dev) (#9102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-07 19:35:15 -03:00
renovate[bot]
5deb1202f6 chore(deps) Update dependency rollup to v4.12.1 (dev) (#9101)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-07 19:34:29 -03:00
Lucas Fernandes Nogueira
ed48e2b3c7 feat(core): expose the image module (#9122)
* feat(core): expose the image module

* code review

* fix import

* fix

* fix codegen

* jsimage owned

* fmt

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-03-07 19:23:21 -03:00
Amr Bashir
5541aafef3 fix(core): fix emit skipping webview listeners if filter wasn't provided (#9107)
* fix(core): fix emit skipping webview listeners if filter wasn't provided

* Update .changes/core-emit-js-all-targets.md

* update api example

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-03-07 20:36:52 +02:00
Lucas Fernandes Nogueira
80c12ead46 fix(ipc): wrong response format when using a channel (#9121) 2024-03-07 14:53:49 -03:00
Lucas Fernandes Nogueira
3e472d0afc refactor(acl): permission and capability platforms are optional (#9115)
* refactor(acl): permission and capability platforms are optional

* add iterator version

* fix build

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-03-07 14:18:15 -03:00
Lucas Fernandes Nogueira
4ef17d0833 refactor(acl): use URLPattern instead of glob for remote URLs (#9116) 2024-03-07 13:08:57 -03:00
Lucas Fernandes Nogueira
9dc9ca6e38 feat(core): add dev function (#9113) 2024-03-07 11:02:53 -03:00
github-actions[bot]
e7f245e81e Apply Version Updates From Current Changes (#9035)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-03-06 19:00:57 -03:00
Amr Bashir
720357fd5c refactor!: remove re-export from tauri::path module (#9104) 2024-03-06 18:31:23 -03:00
renovate[bot]
5829f23171 chore(deps) Update Rust crate base64 to 0.22 (dev) (#9092)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 13:55:36 -03:00
renovate[bot]
8383bea741 chore(deps) Update Rust crate env_logger to 0.11.3 (dev) (#9090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 13:32:57 -03:00
renovate[bot]
cd05827f9f chore(deps) Update Rust crate log to 0.4.21 (dev) (#9091)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 13:32:43 -03:00
Lucas Fernandes Nogueira
9323fb7cda fix(utils): ToTokens impl for ResolvedCommand broken on release (#9087) 2024-03-05 14:54:24 -03:00
dependabot[bot]
251bdd0579 chore(deps): bump mio from 0.8.10 to 0.8.11 (#9076)
Bumps [mio](https://github.com/tokio-rs/mio) from 0.8.10 to 0.8.11.
- [Release notes](https://github.com/tokio-rs/mio/releases)
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/mio/compare/v0.8.10...v0.8.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-05 14:35:58 -03:00
dependabot[bot]
253a661516 chore(deps): bump mio from 0.8.8 to 0.8.11 in /tooling/webdriver (#9077)
Bumps [mio](https://github.com/tokio-rs/mio) from 0.8.8 to 0.8.11.
- [Release notes](https://github.com/tokio-rs/mio/releases)
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/mio/compare/v0.8.8...v0.8.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-05 14:35:48 -03:00
Lucas Fernandes Nogueira
b5c7432769 feat(core): use a strict CSP on the isolation iframe (#9086) 2024-03-05 14:20:17 -03:00
Amr Bashir
bb23511ea8 feat: enhance multiple capabilities file format & fix mixed permissions schema (#9079)
* feat: enhance multiple capabilities file format & fix mixed permissions schema

* change files
2024-03-05 13:09:32 -03:00
Lucas Fernandes Nogueira
4bf1c55b0d Revert "feat(core): use a strict CSP on the isolation iframe (#9075)" (#9078) 2024-03-04 22:22:49 -03:00
Lucas Fernandes Nogueira
fe18012d30 fix(core): resolve symlink on fs scope check (#9072) 2024-03-04 21:10:55 -03:00
Lucas Fernandes Nogueira
6a47dd212c chore(utils): remove unused RemoteDomainAccessScope (#9073) 2024-03-04 21:10:45 -03:00
Lucas Fernandes Nogueira
7cec1049e8 feat(core): use a strict CSP on the isolation iframe (#9075) 2024-03-04 21:10:34 -03:00
Amr Bashir
86fa339de7 fix(core): fix invalid path for Color in context generation (#9071) 2024-03-04 17:03:55 -03:00
Lucas Fernandes Nogueira
e62ca4ee95 feat(ipc): preserve channel message order (#9070) 2024-03-04 17:03:24 -03:00
Lucas Fernandes Nogueira
6c06832246 fix(acl): scope resolution should be per window (#9068)
* fix(acl): scope resolution should be per window

* Update core/tauri-utils/src/acl/resolved.rs

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* update snapshots

* lint

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-03-04 17:01:30 -03:00
Amr Bashir
9aa0d6e959 chore: remove unstable log features & use qualified log::<macro> path (#9069)
* chore: remove unstable log features & use qualified `log::<macro>` path

* fmt

* fix build
2024-03-04 21:22:07 +02:00
Lucas Fernandes Nogueira
46de49aaad feat(core): always use child webviews on the unstable feature (#9059)
* feat(core): always use child webviews on the unstable feature

* fmt
2024-03-04 16:09:16 -03:00
renovate[bot]
b4ffbe7aa2 chore(deps) Update Tauri CLI (dev) (#8226)
* chore(deps) Update Tauri CLI

* updates

* fmt

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-03-03 11:36:35 -03:00
renovate[bot]
ab37d6724e chore(deps) Update Tauri Bundler (dev) (#8224)
* chore(deps) Update Tauri Bundler

* fix windows

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-03-03 11:36:20 -03:00
renovate[bot]
1b18b7006f chore(deps) Update Tauri API Definitions (dev) (#8225)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-03 10:30:35 -03:00
i-c-b
947a50b8e2 fix(cli): migration for http plugin ACL (#9049)
* fix cli migration of http allowlist to ACL

* Create fix-cli-migration-http-acl.md
2024-03-03 09:28:31 -03:00
Amr Bashir
77b9a508a4 feat(api): add Image class (#9042)
* feat(api): add `Image` class

* clippy

* license headers

* small cleanup

* fixes

* code review

* readd from_png_bytes and from_ico_bytes

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-03-03 04:31:08 +02:00
Lucas Fernandes Nogueira
2ca9afb576 fix(ci): set token for repository-dispatch to publish CLIs (#9048) 2024-03-01 12:15:28 -03:00
Amr Bashir
4b75834a41 chore: update license headers 2024 (#9043) 2024-03-01 08:29:01 -03:00
Lucas Fernandes Nogueira
03098b5315 feat(core): dynamic runtime capability (#9036)
* feat(core): dynamic runtime capability

* local(), windows(), webviews()

* enhance identation
2024-03-01 08:27:29 -03:00
Lucas Fernandes Nogueira
a77be97474 fix(ipc): fallback to postMessage if protocol fails, closes #8476 (#9038) 2024-02-29 18:24:43 -03:00
Amr Bashir
c68218b362 refactor(cli): add --no-bundle flag, skip bundling on invalid formats (#8990)
* refactor(cli): add `--no-bundle` flag, skip bundling on invalid formats

* enhance bundle format parsing

* lint [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-29 10:49:42 -03:00
Lucas Fernandes Nogueira
4f78941763 chore(cli): update deps, fix log compilation issue (#9034) 2024-02-29 10:22:47 -03:00
Amr Bashir
d1e77acd8d refactor!(core): remove Icon enum and add Image type (#9011)
* refactor!(core): remove `Icon` enum and add `Image` type

* clippy

* revert api example config change

* Update image.rs

* fix build

* clippy

* change files

* add back removed methods as setter functions

* simplify error message

* Update .changes/runtime-icon-lifetime.md

* Update .changes/ico-featrue-flags.md

* Update core/tauri/src/image.rs

* update api lockfile

* update api ref

* lint

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-29 09:05:11 -03:00
github-actions[bot]
ab060ebb34 Apply Version Updates From Current Changes (#9000)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-29 00:06:59 -03:00
Amr Bashir
8fcbce9404 fix(build): fix app permissions not included when there isn't any inlined plugins (#9025)
* fix(build): fix app permissions not included when there isn't any inlined plugins

* simplify

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-28 23:41:40 -03:00
Lucas Fernandes Nogueira
f5e7f3843e fix(build): app ACL should be empty if no permissions are defined (#9024) 2024-02-28 19:53:48 -03:00
Lucas Fernandes Nogueira
d7f56fef85 feat(acl): allow a permission to apply to a subset of target platforms (#9014)
* feat(acl): allow a permission to apply to a subset of target platforms

* fix cli
2024-02-28 17:23:52 -03:00
Lucas Fernandes Nogueira
d7d03c7197 fix(cli): dev watcher infinite loop on mobile (#9017) 2024-02-28 17:22:45 -03:00
canxin
e4463f0814 fix(event): clear residual js listeners (#8916 ) (#8930)
* fix clear residual listeners tauri-apps#8916

* Comment out `println` on successful removal of `js_listeners`

* follow review changes.

* remvoe uneeded result

* Update fix-clear-residual-listeners.md
2024-02-28 20:26:27 +02:00
Amr Bashir
f5f3ed5f6f fix(cli): CLI path issues on mobile project initialization (#9009)
* fix(cli): fix panic when `android init` using cargo or yarn

closes #8531

* clippy

* try with fullpath

* clippy

* move cli

* Update test-android.yml

* add to path instead

* clippy

* try moving

* use cargo subcommand

* delete unused logic [skip ci]

* truncate on init [skip ci]

* enhance binary/args check

* update change files

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-28 14:38:24 -03:00
Lucas Fernandes Nogueira
cb92cfd6a6 fix(cli): wrong metadata for crate versions (#9022) 2024-02-28 13:48:14 -03:00
i-c-b
b658ded614 fix(cli): Truncate BuildTask.kt before writing (#9015)
* truncate BuildTask.kt before write

* Create truncate-before-write-buildtask.md

* remove unused checks

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-28 13:42:21 -03:00
Vitor Ayres
04440edce8 feat(utils): generate table markdown of permissions (#9019)
* generate table

* Create permission-table.md
2024-02-28 18:15:44 +02:00
Lucas Fernandes Nogueira
3657ad82f8 feat(core): allow defining permissions for the app commands (#9008)
* feat(core): allow defining permissions for the app commands

* global scope

* command scope

* write to disk

* lint

* fix path

* get autogenerated commands from generate_handler macro

* revert

* remove cli

* use const instead of empty str
2024-02-28 08:45:28 -03:00
Lucas Nogueira
7190935680 chore(ci): add covector workflow for 1.x branch 2024-02-27 21:29:53 -03:00
Lucas Fernandes Nogueira
222a96b74b fix(core): multiwebview mode fixes for auto resize, reparent and add_child (#8999)
* refactor(core): simplify multiwebview impl, fix autoresize

* add_child on main thread

* fix reparent

* revert some changes

* add change files
2024-02-27 17:36:21 -03:00
Fabian-Lars
de38c31163 fix(core): Update walkdir to v2 to fix build issues on windows arm (#9006)
fixes #8998
2024-02-27 20:29:12 +02:00
Lucas Fernandes Nogueira
e1d5b79063 fix(core): wrong ACL validation on multiwebview contexts (#8995) 2024-02-27 11:42:11 -03:00
github-actions[bot]
5a19147b06 Apply Version Updates From Current Changes (#8991)
* apply version updates

* update versions

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-26 23:53:48 -03:00
github-actions[bot]
31a33d4680 Apply Version Updates From Current Changes (#8980)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-02-26 23:05:51 -03:00
Amr Bashir
b9e6a01879 refactor(cli): use tauri/custom-protocol instead of relying on user having custom-protocol in their cargo features (#8937)
* refactor(cli): use `tauri/custom-protocol` instead of relying on user having `custom-protocol` in their cargo features

* tauri-build dev cfg

* pass build-feature when building apk

* run beforeBuildCommand before first build for plugins

* clippy

* fix

* mut

* enhance dev/prod checks

* lint [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-26 15:17:45 -03:00
Amr Bashir
60bf11abcb fix(core): export ProgressBarStatus (#8986)
closes #8960
2024-02-26 19:52:14 +02:00
Amr Bashir
06d63d67a0 feat(cli): add new acl subcommands (#8827)
* unify `CI` var handling, and lay foundation for `permission` subcommand

* feat(cli/init&new): create `permissions` directory by default for plugins

* generate permissions with consistent pathing on windows and unix

* `pemrission create` initial implementation

* add ls command

* finalize `permission create` subcommand

* `permission rm` subcommand

* `permission add` subcommand

* remove empty `permission copy` subcommand

* clippy

* `capability create` subcommand and move modules under `acl` directory

* fix multiselect for `permission add` when capabilty doesn't have identifier

* clippy

* `create` -> `new`  and change file

* license headers

* more license headers

* clippy

* Discard changes to examples/resources/src-tauri/.gitignore

* fix build

* cleanup

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-26 14:42:13 -03:00
Amr Bashir
9be314f07a feat(cli/migrate): add plugins to Cargo.toml (#8951)
* feat(cli/migrate): add plugins to Cargo.toml

closes #8933

* small cleanup

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-26 13:29:16 -03:00
Lucas Fernandes Nogueira
bc5b5e671a chore(linux): remove CSP tag on custom protocol response (#8984) 2024-02-26 13:08:19 -03:00
Lucas Fernandes Nogueira
6cb601d42e fix(core): convert mobile command name to camelCase, closes #8872 (#8983) 2024-02-26 12:54:31 -03:00
Lucas Nogueira
a8a2cb6fb4 fix(tauri-runtime-wry): wrong cfg usage on message handler 2024-02-26 12:30:43 -03:00
Lucas Fernandes Nogueira
cbd9755e09 fix: process logs not showing on iOS (#8977) 2024-02-25 17:38:27 -03:00
i-c-b
9cc014f2df fix(docs): fix API webview/window class doc example (#8971)
* fix class doc example

* fix class doc example
2024-02-24 22:36:45 +02:00
github-actions[bot]
f5e4b67203 Apply Version Updates From Current Changes (#8954)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-22 22:24:49 -03:00
Lucas Fernandes Nogueira
6edc563cf9 fix(core): deadlock on window destroy (#8953) 2024-02-22 22:02:13 -03:00
github-actions[bot]
0606ab326b Apply Version Updates From Current Changes (#8938)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-22 18:50:24 -03:00
Lucas Nogueira
5ddea72c50 chore: update cargo-mobile2 to 0.10.2 ref #8949 2024-02-22 15:35:14 -03:00
Lucas Fernandes Nogueira
a76fb118ce refactor(core): allow configuring both local and remote URLs on capability (#8950) 2024-02-22 15:15:16 -03:00
Lucas Fernandes Nogueira
e538ba586c fix(cli): process spawn not working on Node.js for mobile commands, closes #6203 (#8949) 2024-02-22 15:14:55 -03:00
Amr Bashir
84c783f6bc fix(bundler): remove fallback for license_file (#8948)
* fix(bundler): remove fallback for license_file

closes #8944

* Update .changes/bundler-license.md

* use license only on rpm

* change file

* Update .changes/bundler-rpm-license.md

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-02-22 14:56:22 -03:00
Philipp Bokatius
6e3bd4b9f8 fix: center window ignores scale factors (#8942)
* fix: center window ignores scale factors

* chore: add .changes

* clippy
2024-02-22 16:30:27 +02:00
Lucas Fernandes Nogueira
fdcaf935fa feat(webview): add reparent API (#8939)
* feat(webview): add reparent API

* fix build

* fix import

* remove cfg

* fix windows

* clone

* clone value

* ()
2024-02-22 08:52:27 -03:00
Amr Bashir
b5eb64728a feat(bundler): enable dpi awareness for NSIS (#8940)
closes #8896
2024-02-22 08:52:19 -03:00
Lucas Fernandes Nogueira
d75713ac6c chore(deps): update to wry 0.37 (#8936) 2024-02-21 18:45:05 -03:00
github-actions[bot]
af646520cf Apply Version Updates From Current Changes (#8918)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-21 12:00:32 -03:00
Lucas Fernandes Nogueira
361ec37fd4 chore(deps): update to tao 0.26 (#8932)
* chore(deps): update to tao 0.26

* fallback to crate name

* move struct to runtime

* tests
2024-02-21 11:25:42 -03:00
Amr Bashir
33bbd7fe94 fix(cli/add): fix generating code for stronghold (#8908)
closes 8880
2024-02-21 10:23:04 -03:00
Lucas Fernandes Nogueira
a029b9f77e feat(cli): codesign on iOS is optional for the simulator (#8910)
* feat(cli): codesign on iOS is optional for the simulator

* cargo-mobile2 0.10
2024-02-21 09:52:46 -03:00
Jason Tsai
3fb414b61a fix(event): let once event return EventId, close #8912 (#8914)
* fix(event): let once event return EventId

* Update .changes/core-once-event-return-event-id.md
2024-02-20 17:36:15 +02:00
github-actions[bot]
18ff84fc81 Apply Version Updates From Current Changes (#8775)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-19 15:49:28 -03:00
Lucas Fernandes Nogueira
c115a978bb fix(cli): adjust template for capabilities (#8907) 2024-02-19 15:12:52 -03:00
Lucas Fernandes Nogueira
0e8e9cd064 fix(build): move capability schema definitions to root (#8906) 2024-02-19 14:46:21 -03:00
Amr Bashir
6f064a0d6f chore: add back .changes/readme.md (#8905)
* chore: add back `.changes/readme.md`

* fix test
2024-02-19 14:39:27 -03:00
Lucas Fernandes Nogueira
258494bd24 feat(core): add Manager::add_capability, closes #8799 (#8806)
* refactor(core): capabilities must be referenced on the Tauri config file

* add all capabilities by default

* feat(codegen): allow defining additional capabilities, closes #8798

* undo example

* lint

* move add_capability to runtime authority

* feat(core): add Manager::add_capability, closes #8799

* add change file
2024-02-19 11:59:20 -03:00
Lucas Fernandes Nogueira
f284f9c545 refactor: configure URLs instead of domains on capability remote (#8898) 2024-02-19 11:14:09 -03:00
Lucas Fernandes Nogueira
8d16a80d2f feat(codegen): allow defining additional capabilities, closes #8798 (#8802)
* refactor(core): capabilities must be referenced on the Tauri config file

* add all capabilities by default

* feat(codegen): allow defining additional capabilities, closes #8798

* undo example

* lint

* move add_capability to runtime authority

* add change files

* go through code review

* fix tests

* remove tokens option
2024-02-19 11:13:36 -03:00
Anil Kumar
770051ae63 docs: fixed a spelling mistake (#8899)
Fixed a spelling mistake
2024-02-19 15:52:08 +02:00
Lucas Nogueira
c426c0dca2 merge from 1.x 2024-02-19 08:03:05 -03:00
Amr Bashir
77f49ad55e refactor: optimize undecorated resizing handling (#8790)
* refactor: optimize undecorated resizing handling

* license

* separate modules

* fix windows

* rename export

* fix export

* same for gtk

* shared hit_test function

* change cursor on drag

* only set cursor on windows

* Revert "only set cursor on windows"

This reverts commit 03294a8430.

* fix flickering on Windows, change cursor on motion on Linux

* remove changing cursor on move on linux

* fix linux implementation

* clippy

* Windows, on left click only

* prevent on fullscreen, use OS border size on Windows

* fix build

* clippy

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-18 15:56:57 -03:00
Marc Espin
dbd525ca64 docs: Update doc comment from normalize function in path plugin to match definition (#8886)
The doc comment from the normalize function in the path plugin was not matching the actual definition.

Rust definition: 0cb0a15ce2/core/tauri/src/path/plugin.rs (L18)

Typescript definition: 0cb0a15ce2/tooling/api/src/path.ts (L589)
2024-02-18 15:12:46 -03:00
Sam Willis
28fb036ce4 fix(core): Incorrect resource_dir when app run from new style target/PLATFORM+ARCH/(debug|release) dir (#8852)
* Fix resource_dir when app run from new target/someting/(debug|release) dir

* Update core/tauri-utils/src/platform.rs

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* change file, update logic, add tests

* lint

* fix tests

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-18 15:10:21 -03:00
Fabian-Lars
ed33b851c7 docs: Fix PathResolver doc comment (#8876) 2024-02-18 10:43:26 -03:00
dependabot[bot]
d72b6f3842 chore(deps): bump undici from 5.26.5 to 5.28.3 in /examples/api (#8877)
Bumps [undici](https://github.com/nodejs/undici) from 5.26.5 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.26.5...v5.28.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-18 10:42:24 -03:00
Lucas Fernandes Nogueira
83a68deb56 refactor(core): allow referencing capabilities on the Tauri config file (#8797)
* refactor(core): capabilities must be referenced on the Tauri config file

* add all capabilities by default

* refactor(cli): reference all capabilities by default
2024-02-18 10:42:09 -03:00
Lucas Fernandes Nogueira
0cb0a15ce2 feat(core): capabilities on multiwebview contexts (#8789)
* feat(core): capabilities on multiwebview contexts

* fix cli

* lint

* sort
2024-02-16 08:24:51 -03:00
Lucas Fernandes Nogueira
edb11c138d feat(build): support plugins that are defined in app crate (#8781)
* feat(build): support plugins that are defined in app crate

* dx
2024-02-16 08:24:40 -03:00
Fabian-Lars
052e8b4311 fix(cli): Downgrade minisign to 0.7.3 once again (#8838)
* fix(cli): Downgrade minisign to 0.7.3 once again

* add tests

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-16 08:24:00 -03:00
Amr Bashir
e52d5e573f enhance: center window before creation (#8845)
* enhance: center window before creation

closes #4777

* simplify variable name

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-16 08:13:49 -03:00
Amr Bashir
16e550ec15 refactor(core): add webview events (#8844)
* refactor(core): add webview events

* license header

* clippy

* fix doctests

* more doctests

* fix JS `listen` with `EventTarget::Any`

* typo

* update module import

* clippy

* remove console.log

* fix api example

* fix documentation for emiTo [skip ci]

* actually add RunEvent::WebviewEvent

* update migration

* lint

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-16 08:07:39 -03:00
Amr Bashir
5618f6d2ff feat: relax plugin identifier requirements to alphanumeric and - (#8856)
closes #8820
2024-02-16 07:27:56 -03:00
i-c-b
11a5816bdf feat(core): recursive asset scope on directory file-drop event (#8864)
* allow recursive asset scope on directory file-drop events

* Create allow-recursive-asset-scope-on-file-drop-directory.md

* Update .changes/allow-recursive-asset-scope-on-file-drop-directory.md
2024-02-15 16:56:04 +02:00
Jason Tsai
3cee26a58a fix(cli): use UTF-8 encoding for vswhere.exe output (#8865) 2024-02-15 16:55:31 +02:00
Philipp Bokatius
46b6598a94 fix: target specific window for window events (#8826)
* fix: target specific window for CLOSE_REQUESTED_EVENT emission

* fix: use emit_filter() instead of emit_to()

* fix: try sending event regardless of existing js listener

* cleanups

* change file

* emit_self -> emit_to_window

---------

Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
2024-02-12 17:55:20 +02:00
Jason Tsai
cf3e40cc47 fix(core): use event.code to check which key pressed (#8819)
* fix(core): use event.code to check which key pressed

* Discard changes to .changes/fix-devtool-hotkey-code.md
2024-02-08 16:29:54 +02:00
Lucas Fernandes Nogueira
2f55bfecbf chore(deps): update wry to 0.36 (#8795)
* chore(deps): update wry to 0.36

* rwh 0.6

* remove raw_window_handle usage

* fix build

* fix windows test
2024-02-07 22:26:29 -03:00
Lucas Fernandes Nogueira
dd7571a780 fix(core): do not generate files if plugin has no permissions (#8815) 2024-02-07 22:26:16 -03:00
Priyadarshan Giri
aa06a0534c fix(cli): fix code output of tauri plugin android init (#8810)
* Fix: code output of tauri plugin android init
double quotes `"` wasn't matching in plugin android init command

* change file
2024-02-07 18:40:46 +02:00
Lucas Fernandes Nogueira
fb0d997117 fix(cli): regression on --config not accepting file paths (#8783)
* fix(cli): regression on --config not accepting file paths

* enhance dev server config parsing

* use serde_json::json!

* pass config to setup
2024-02-07 17:08:05 +02:00
Jason Tsai
8751c3299f fix: correct invoke command for toggling devtools by hotkey, closes #8771 (#8793) 2024-02-06 07:41:54 -03:00
Amr Bashir
2e6db908d7 fix(core): make tauri::Error sync again (#8777)
* fix(core): make `tauri::Error` sync again

closes #8754

* add unit test

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-05 14:52:10 -03:00
Amr Bashir
19fb5f0b20 fix(build): fix writing schema file (#8782)
* fix(build): fix writing schema file

* Update .changes/schema_str.md
2024-02-05 14:32:27 -03:00
Lucas Fernandes Nogueira
f2e4c9de3a chore: remove nix workaround following zbus release (#8773) 2024-02-05 10:32:10 -03:00
Fabian-Lars
ae0fe47c4c fix(core): Compile error when bundle.license is set (#8774)
* fix(core): Compile error when bundle.license is set

* wrong package
2024-02-05 15:08:32 +02:00
Lucas Fernandes Nogueira
baca704d4b fix(cli): skip migrating updater config if not active (#8768) 2024-02-05 09:54:29 -03:00
Lucas Fernandes Nogueira
bd73ab0a1a fix(multiwebview): remove webview from store on close (#8766) 2024-02-04 23:22:09 -03:00
Lucas Fernandes Nogueira
48b1fd74b1 fix(tauri-runtime-wry): enable the nix user feature ref #8761 (#8765) 2024-02-04 17:40:46 -03:00
github-actions[bot]
d54a2b055a Apply Version Updates From Current Changes (#8759)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
2024-02-04 17:06:31 -03:00
Lucas Fernandes Nogueira
f99d140bbe fix(cli): OsString::as_encoded_bytes is only available on Rust 1.74 (#8764) 2024-02-04 16:51:49 -03:00
Lucas Fernandes Nogueira
fe67ab7f25 fix(core): build on unix failing (#8761)
* fix(core): build on unix failing

* change file
2024-02-04 19:42:55 +01:00
Fabian-Lars
3bf6bc36da docs: Fix broken config link (#8752)
* docs: Fix broken config link

* regen
2024-02-04 11:56:28 -03:00
Lucas Fernandes Nogueira
4e101f8016 refactor(core): enhance app rerun-if-changed for capabilities and frontend dist (#8756)
* refactor(core): enhance app rerun-if-changed for capabilities and frontend dist

* always rerun-if-changed=capabilities

* fix todo

* rerun if plugin permissions change

* add change files
2024-02-04 11:42:13 -03:00
Lucas Fernandes Nogueira
0f2789cd67 fix(build): do not rewrite unchanged schema (#8757)
* fix(build): do not rewrite unchanged schema

* typo
2024-02-04 12:45:59 +01:00
timotheeMM
b43c423165 chore: fix a typo in core/tauri/CHANGELOG.md (#8748)
accomodate -> accommodate

[skip ci]
2024-02-04 00:29:49 +02:00
github-actions[bot]
509e35f209 Apply Version Updates From Current Changes (#8751)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-03 17:55:13 -03:00
Lucas Nogueira
584bb5ba66 fix(ci): adjust covector configuration 2024-02-03 17:38:27 -03:00
Lucas Fernandes Nogueira
ce1655ec22 fix(cli): integration tests not failing when build fails (#8746) 2024-02-03 17:18:34 -03:00
Lucas Fernandes Nogueira
863bc9e55f fix(core): regression on process-ipc-message-fn (#8749) 2024-02-03 17:18:19 -03:00
Lucas Nogueira
8f0e50f396 fix(webdriver): update lock file 2024-02-03 13:38:16 -03:00
Lucas Nogueira
c31c94ceb7 fix(cli): trailing comma on capability template 2024-02-03 13:14:56 -03:00
Lucas Nogueira
6b981d37dc fix(core): properly import HeaderName 2024-02-03 13:00:39 -03:00
Lucas Nogueira
2333cd1c83 fix: set tauri-plugin crate description 2024-02-03 12:34:45 -03:00
Lucas Nogueira
f1d0f452a2 chore: pin tao to 0.25 2024-02-03 11:57:54 -03:00
Lucas Nogueira
ab57f9531a chore: run pnpm format on the repo 2024-02-03 11:08:13 -03:00
github-actions[bot]
88a1dd17c3 Apply Version Updates From Current Changes (#8638)
* apply version updates

* promote to beta

* fix check version

* update dependencies section [skip ci]

* update npm versions

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-03 10:59:09 -03:00
Lucas Fernandes Nogueira
3364b6727c fix(cli): build command features and bundles can have multiple values (#8744)
* fix(cli): build command  and  can have multiple values

* add value delimiter on bundles

* gitignore dist
2024-02-03 09:14:02 -03:00
Fabian-Lars
4806f9fc70 fix(core): Rename FrontendDist::Dist to Dir (#8743)
* fix(core): Rename FrontendDist::Dist to Dir

* Directory

* fix totokens impl

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-03 09:08:20 -03:00
Lucas Fernandes Nogueira
0cdfda2876 refactor: move plugin functionality from tauri-build to tauri-plugin (#8737)
* refactor: move plugin functionality from tauri-build to tauri-plugin

* fixes

* fix build

* move docs function

* autogenerated

* fix path
2024-02-03 08:48:57 -03:00
Lucas Fernandes Nogueira
63d6d474fd fix(cli): UpdaterConfig is not flexible (#8741) 2024-02-03 08:24:15 -03:00
Lucas Fernandes Nogueira
1d21446e21 fix(bundler): add default value for xdg_mime env var (#8742) 2024-02-03 08:24:05 -03:00
Lucas Fernandes Nogueira
0a01b5b720 fix(core): do not embed assets on dev when using a URL (#8739) 2024-02-03 08:18:59 -03:00
Lucas Fernandes Nogueira
cb613beea6 fix(ci): test-android NDK error (#8738)
* fix(ci): test-android NDK error

* only on unix
2024-02-03 08:11:02 -03:00
Amr Bashir
8de308d1bf feat(core): implement new config structure (#8723)
* feat(core): implement new config structure

RFC#5 f3e82a6b0c/texts/0005-tauri-config-restructure.md

* fixes

* remove tauri-plugin copy [skip ci]

* move platform specific configs

* fix build

* fix cli

* doctests

* change files

* read updater plugin config on CLI

* doctests

* remove env var from docs

* fix getting pubkey

* add migrations

* clippy

* update change file [skip ci]

* rename frontendDist to prodFrontend?

* Revert "rename frontendDist to prodFrontend?"

This reverts commit ef7394f085.

* fix all_features check

* fix field name

* single license getter on bundler

* readd msiexec_args

* remove unused fixture

* update template

* Update .changes/tauri-bundle-settings-rfc-5.md

* Update .changes/config-restructure-rfc-5.md

* lint bundler, fix change file

* rename AppUrl to FrontendDist, add explicit variants for docs

* fix build

* lint

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-02-03 00:39:48 -03:00
Lucas Fernandes Nogueira
e691208e7b fix(cli): prevent creating interface twice avoiding double manifest rewrite (#7837) 2024-02-02 21:43:33 -03:00
Lucas Fernandes Nogueira
791e291a9f fix(build): ignore changes on autogenerated files (#8736) 2024-02-02 20:55:27 -03:00
Jingyu
b09b94204c docs(examples): multiwindow example run command (#8735) 2024-02-02 19:54:59 +01:00
Amr Bashir
e8d3793c3c feat(tauri-build): add config-json feature flag (#8732)
* feat(tauri-build): add `config-json` feature flag

This allows disabling rebuilding when `tauri.conf.json` when using another config format

see https://github.com/tauri-apps/tauri/issues/8721

* document feature flag

* Update .changes/tauri-build-config-json.md [skip ci]

* Update core/tauri/src/lib.rs [skip ci]

* disable default features for tauri-build on tauri, plugins

* fmt

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-02 14:11:59 -03:00
Jingyu
95da1a2747 fix(core): macos #5122 app.runtime panic in app.set_activation_policy (#8713)
* fix #5122 app.runtime panic in set_activation_policy

* allow setting the policy at runtime

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-02 09:40:10 -03:00
Lucas Fernandes Nogueira
a35b416e38 refactor(core): merge scope and commands resolving permission sets (#8731) 2024-02-02 09:18:59 -03:00
Lucas Fernandes Nogueira
3e5c28ff4f feat(tauri-plugin): generate permissions reference markdown file for plugin (#8729)
* feat(acl): generate reference markdown file

* lint

* generate plugin docs instead
2024-02-01 17:14:23 -03:00
Lucas Fernandes Nogueira
7315189e76 chore: preserve order on schemas (#8724) 2024-02-01 09:16:10 -03:00
Lucas Fernandes Nogueira
f492efd714 feat(cli): update template with permissions and capabilities (#8666)
* feat(cli): update template with permissions and capabilities

* update gitignore [skip ci]
2024-02-01 08:53:56 -03:00
time-river
6639a579c7 feat(core): add support to setting a webview proxy, closes #4263 (#8441)
* feat(wry): support proxy in wry runtime

wry has been supported http/socks5 proxy in
[#1006](https://github.com/tauri-apps/wry/pull/1006), which has been
merged in [commit
3cc4d79](3cc4d79843).

This patch aims to support its feature.

Signed-off-by: lin fu <river@vvl.me>

* Apply suggestions from code review

* Apply suggestions from code review

* Update core/tauri-runtime-wry/src/lib.rs

* Update core/tauri/src/window/mod.rs

* add macos-proxy flag

* add change file

* delete file

* update change file

* use macos-14 runner to test core

---------

Signed-off-by: lin fu <river@vvl.me>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-01 08:53:32 -03:00
Amr Bashir
a093682d2d refactor(core): refactor and fix event system following multiwebview support (#8621)
* clippy

* refactor(core): refactor and fix event system following multiwebview support

* update documentation

* update js docs

* lint

* clippy

* update multiwindow example [skip ci]

* enhance event tests

* fix example

* Update .changes/tauri-event-after-multiwebview.md

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>

* fix tests

* add diagram

* Add `App/AppHandle` even target

* Discard changes to examples/api/src-tauri/tauri-plugin-sample/permissions/schemas/schema.json

* revert accidental changes

* regenerate schemas

* fix doctests

* add helper methods

* update docs

* update api

* update docs [skip ci]

* update docs [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
2024-02-01 08:06:27 -03:00
Amr Bashir
7fcc0bcd34 feat(cli/add): add plugin init code to main.rs (#8490)
* feat(cli/add): add plugin to `main.rs`

closes #7696

* clippy

* fix change file

* adjust regex

* run cargo fmt

* check if already exists

* typo [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-01 08:05:45 -03:00
ChAyLom
30be0e3057 feat(bundler/NSIS): Add Russian to supported NSIS languages (#8303)
* Create Russian.nsh

* Update nsis.rs

* Create nsis-russian.md
2024-02-01 11:25:11 +01:00
Naman Garg
d6c7568c27 feat(bundler): Add files option to the AppImage Configuration. (#8720)
* Add `files` option to Appimage

* Add .changes file
2024-02-01 02:53:26 +02:00
thewh1teagle
435d7513e4 feat: add webdriver options for windows (#8609)
* feat: add webdriver options for windows

* add change file, camel case

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-01-31 15:49:43 -03:00
Lucas Fernandes Nogueira
af61023273 refactor(core)!: Window::close triggers RunEvent::CloseRequested (#8710)
* refactor(core): Window::close triggers RunEvent::CloseRequested

* Update .changes/runtime-wry-window-close-event.md

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* add destroy [skip ci]

* change files

* delete files

* fix tests

* fix tests

* fix test impl of the close flow

* fmt

* build bundle

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-01-31 14:54:49 -03:00
Lucas Fernandes Nogueira
aa758a850f refactor(core): delete the command module (#8716) 2024-01-31 14:02:52 -03:00
Amr Bashir
9eaeb5a8cd refactor: refactor parent APIs on WindowBuilder (#8622)
* refactor: refactor parent APIs on `WindowBuilder`

closes #8587 #1643

* fix build

* clippy

* support parent in JS and config

* change files

* fix build

* clippy

* fix doctests

* fix linux build

* fix doctests

* update docs

* fix api, update example to use JS API

* fix merge

* lint

* fix tests on windows

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-01-31 13:59:14 -03:00
Amr Bashir
a2fc3a6357 feat(api/window): add visible-on-all-workspaces, closes #8652 (#8657)
* feat(api/window): add visible-on-all-worksapces, closes #8652

* fix build and generate schema

* Update .changes/api-set-visible-on-all-workspaces.md

* revert permissions

* fix alias

* revert set_icon change

* add missing permission

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-01-31 12:36:39 -03:00
Amr Bashir
e1eb911f5e fix(menu): ensure init & drop is done on main thread (#8582)
* fix(menu): ensure init & drop is done on main thread

* move macros back

* fix doctests

* fix macos doctests

* generate inner types and add drop implementation on inner

* clippy

* fix leftoever merge conflicts

* fix doctests

* update api example

* add missing change file

* move macro

* fix tray import

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-01-31 12:01:05 -03:00
Amr Bashir
58fe2e812a fix: improvements and ipc fixes for loading window content using custom protocol (#8670)
* fix: improvements and ipc fixes for loading window content using custom protocol

closes #5478

* Discard changes to tooling/cli/Cargo.lock

* clippy

* fix tests

* typo

* fix webviewurl deserialize

* resolve todo, fixes

* fmt

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-01-31 09:38:25 -03:00
Lucas Fernandes Nogueira
00e1567584 refactor(core): exit() and restart() triggers ExitRequested and Exit (#8708)
* refactor(core): exit() and restart() triggers ExitRequested and Exit

* update docs

* update doc
2024-01-30 12:10:22 -03:00
Lucas Fernandes Nogueira
9af90ca7f3 feat(ipc): improve error message when plugin command is not allowed (#8681)
* feat(ipc): improve error message when plugin command is not allowed

* reuse literal_struct macro
2024-01-30 16:54:10 +02:00
Fabian-Lars
38b8e67237 feat: Add support for deep links (#8680)
* initial windows impl

* macos

* adapt windows impl to config changes for macos

* debian

* add missing x-scheme-handler prefix

* bundle xdg-mime

* typo

* revert messed up fmt

* rm pnpm lock

* rm todo

* Update core/tauri-utils/src/config.rs

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* Update core/tauri-utils/src/config.rs

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* &Option<> -> Option<&>

* DL0 -> R7

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-01-29 18:59:45 +02:00
Lucas Fernandes Nogueira
57e3d43d96 feat(acl): generate schema for scope (#8690)
* feat(acl): generate schema for scope

* allow plugin to define its global scope schema

* refactor to use schemas folder instead of individual files

* change signature

* delete .schema.json files
2024-01-29 13:36:31 -03:00
Lucas Fernandes Nogueira
f998fa0ec2 refactor(core): allow scope deserialization to run setup code (#8699)
* refactor(core): allow scope deserialization to run setup code

* Update core/tauri/src/command/authority.rs

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-01-29 13:31:03 -03:00
Lucas Fernandes Nogueira
11de49788a feat(cli): migrate allowlist scope (#8698)
* feat(cli): migrate allowlist scope

* fix tests

* lint

* fix totokens impl
2024-01-29 12:50:21 -03:00
Kasper Seweryn
b3209bb28b fix(cli): disable global gitignore during tauri.conf.* lookup (#8688)
* fix: disable global gitignore

There are cases when people use git to manage their dotfiles in the home directory. When a tauri projects uses other name than `src-tauri` for the rust source code, the lookup may fail if there's a global gitignore.

* change file
2024-01-29 17:39:05 +02:00
Lucas Fernandes Nogueira
2631e97e2b fix(acl): command scope should not error out if missing (#8675)
* fix(acl): command scope should not error out if missing

* propagate error
2024-01-29 11:39:56 -03:00
Lucas Fernandes Nogueira
ec9818accb refactor(core)!: App::run_iteration improvements (#8696)
* refactor(core): App::run_iteration improvements

* lint

* fixes

* fix exit

* Apply suggestions from code review

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* update cargo.toml

* booooool

* fix mock runtime

* fix doctests

* fix doctest againrrrr

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-01-29 10:52:44 -03:00
Andrew
9cb9aa7978 fix(cli): add MaybeWorkspace to license field (#8672)
* Add MaybeWorkspace to license field

* Fix last changes

* Fix formatting

* Add change .MD file
2024-01-26 23:46:51 +01:00
Lucas Fernandes Nogueira
d70470f868 feat(build): save ACL metadata (#8678)
* feat(build): save ACL metadata

metadata will be read by the CLI later to show the user what has been enabled and what can be done

* lint

* fix cli
2024-01-25 15:33:36 -03:00
AuTa
5e1ae87c0c fix(core/window): set window_effects from config (#8677)
Signed-off-by: AuTa <auta520@live.com>
2024-01-25 14:07:39 +01:00
Lucas Fernandes Nogueira
fd4bf94d4c refactor(acl): allow extending scope on the capability file (#8674) 2024-01-24 23:36:07 -03:00
Amr Bashir
734d78f736 fix: generate $schema field always with forward slash (#8673) 2024-01-24 21:57:41 -03:00
Lucas Fernandes Nogueira
049ca2d54f fix(examples): deadlock on api example unit test (#8671) 2024-01-24 21:52:28 -03:00
Lucas Fernandes Nogueira
30a64a9cda refactor: global scope error handling, fix usage with multiple plugins (#8669)
* refactor: global scope error handling, fix usage with multiple plugins

* lint
2024-01-24 20:57:46 -03:00
Lucas Fernandes Nogueira
4ca0932572 chore(plugin): use BTreeMap on plugin permission map (#8668) 2024-01-24 20:53:47 -03:00
Lucas Fernandes Nogueira
1878766f7f feat(cli): migrate allowlist to new ACL (#8667) 2024-01-24 16:57:40 -03:00
Lucas Fernandes Nogueira
c77b40324e refactor(core): add support to multiple webviews on a Tauri window (#8280)
* feat: update to latest wry

* wry dev branch [skip ci]

* fix linux [skip ci]

* refactor(runtime): split webview and window types

* split dispatch

* implement create_webview

* move webview message

* wip webview mod

* create webview manager, finish webview struct and builder

* fix tests and docs

* rename WindowUrl to WebviewUrl

* update examples

* event refactor

* update JS API

* fix events

* update example

* add WebviewWindow class on JS

* fix macos build

* allow creating window+webview on the same runtime call

* rename tauri://window-created to tauri://webview-created

* Window::add_child

* use inner_size from webview on macOS

* add multiwebview example

* automatically resize webviews on window resize

* fix tests

* set_position, set_size

* position, size getters

* set_focus

* add close fn

* update mock runtime

* lint [skip ci]

* fix inner_size getter [skip ci]

* import hwnd [skip ci]

* update webview bound ratios on set_size/set_position

* add auto_resize option

* fix android

* fix build on windows

* typo

* with_webview isnt desktop only

* add WebviewWindow rust struct (and builder)

* fix build on android

* license header

* fix macos/windows

* fix macos build

* resolve todo

* handle window not found

* hide unstable features

* document unstable feature [skip ci]

* webview plugin permissions

* hide more stuff

* fix doctests

* typos

* add change files

* fix examples

* rename hook
2024-01-24 11:05:18 -03:00
Lucas Fernandes Nogueira
74a2a6036a chore: add change files for #8428 (#8661) 2024-01-23 13:19:51 -03:00
tweidinger
3c2f79f6f3 Tauri ACL/Allowlist v2 Implementation and Plugin System Refactor (#8428)
* tauri-plugin concept

* wip

* move command module to its own directory

* wip: new command traits and generated code

* wip: whip

* wip: static dispatch

there is a man standing behind me

* wip

* re-add authority

* fix build [skip ci]

* parse plugin permissions

* merge permission files [skip ci]

* parse capabilities [skip ci]

* resolve acl (untested) [skip ci]

* split functionality, add some docs

* remove command2 stuff

* actually check runtime authority

* small fixes [skip ci]

* add function to auto generate basic permission for a command [skip ci]

* retrieve command scope, implement CommandArg [skip ci]

* fix tests [skip ci]

* global scope

* lint

* license headers [skip ci]

* skip canonicalize

* separate scope type in example

* remove inlinedpermission struct [skip ci]

* permission file schema

* capabilities schema

* move items from tauri-plugin to tauri-utils

this allows tauri-plugin to depend on tauri directly again
which will be used by the runtime feature as a superset to
existing plugin traits

* enable schema and glob [skip ci]

* fix glob [skip ci]

* fix capability schema [skip ci]

* enhance schema for permission set possible values [skip ci]

* permission set can reference other sets [skip ci]

* setup tests for resolving ACL

* fixture for permission set [skip ci]

* remote context test and small fix[skip ci]

* ignore empty scope [skip ci]

* code review [skip ci]

* lint [skip ci]

* runtime fixes

* readd schema feature on tauri-config-schema [skip ci]

* remove plugin example from workspace, it breaks workspace features resolution [skip ci]

* scope as array, add test [skip ci]

* accept new shapshot [skip ci]

* core plugin permissions, default is now a set

* license headers

* fix  on windows

* update global api

* glob is no longer optional on tauri-utils

* add missing permissions on api example [skip ci]

* remove ipc scope and dangerous remote access config

* lint

* fix asset scope usage

* create out dir [skip ci]

* reuse cargo_pkg_name [skip ci]

* capability window glob pattern [skip ci]

* add platforms for capability [skip ci]

* per platform schema [skip ci]

* lint [skip ci]

* rename allowlist build mod [skip ci]

* check restricted visibility

* simplify capability target [skip ci]

* hide codegen build behind tauri-build::try_run

* optimize build scripts [skip ci]

* fix tests

* tests for RuntimeAuthority::resolve_access

* remote domain glob pattern

* lint

---------

Co-authored-by: Chip Reed <chip@chip.sh>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-01-22 21:24:15 -03:00
dependabot[bot]
303708d0aa chore(deps-dev): bump vite from 4.4.12 to 4.5.2 in /examples/api (#8646)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.4.12 to 4.5.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-20 04:50:55 +02:00
Olivier Lemasle
4ca4148e64 fix(bundler): fix error message (#8642) 2024-01-19 22:14:46 +02:00
Amr Bashir
7f033f6dcd fix(core): fix undecorated window resizing, #8519 (#8537)
* fix(core): fix undecorated window resizing, fixes #8519

* js api

* fix invoke call

* Update tauri-window-start-resize-dragging.md

* clippy
2024-01-18 19:34:55 +02:00
Amr Bashir
9f8037c288 fix(core): clear window surface for transparent windows (#8633)
* fix(core): clear window surface for transparent windows

closes #8632

this may conflict with `tauri-egui` rendering to the surface so we may need to add an option to disable internal rendering

* fix build
2024-01-18 18:35:20 +02:00
github-actions[bot]
e0b38d7434 Apply Version Updates From Current Changes (#8438)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-01-16 18:11:50 -03:00
Ning Sun
ef9fb982f8 feat: upgrade handlebars to 5.0 (#8615) 2024-01-16 17:21:18 +02:00
Lai Zn
8032b22f2a feat: enable socks-proxy for bundler download (#8596)
* feat: enable socks-proxy for bundler download

* change file
2024-01-16 04:03:35 +02:00
Lucas Nogueira
d621d3437c feat: add tracing (port from #8289) (#8607)
* feat(tracing): add IPC tracing

* span for deserialization

* trace spans for IPC command handlers

* fix spans usage

* app tracing [skip ci]

* window tracing

* fix run never resolving all spans

* fix draw not entered

* change level

* feat(core): Manager::emit_filter and optimize serialization (#7512)

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

* event spans

* lint & fix tests

* change eval to run sync

* fix instrument

* update wry

* change separator

* Update core/tauri/src/plugin.rs

Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>

* Update core/tauri/src/window.rs

Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>

* Update core/tauri/src/window.rs

Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>

* Update core/tauri/src/window.rs

Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>

* Update core/tauri/src/window.rs

Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>

* instrument separators

* remove on_event trace

* skip all arguments on App::build tracing

* ipc spans adjustments

* delete change file

* improve how request and response are added as values (serialize)

* do not run evalScript sync on android :( freezes the app

* wry 0.35.2

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>
2024-01-16 02:37:50 +02:00
Fabian-Lars
5cb196976e fix(examples): Update web example to latest dialog plugin (#8567) 2024-01-09 02:03:23 +02:00
Fabian-Lars
97e3341299 fix(api.js): mock __TAURI_INTERNALS__ in mockIPC and mockWindows (#8534)
* fix(api.js): mock `__TAURI_INTERNALS__` in `mockIPC` and `mockWindows`

* mock internals.invoke instead of internals.ipc
2024-01-04 01:37:27 +02:00
Lucas Fernandes Nogueira
0ec28c39f4 feat(cli): migrate tauri-build version (#8529)
* feat(cli): migrate tauri-build version

This changes the migrate command to also migrate the tauri-build dependency to v2, previously it only updated the tauri dependency.

* lint
2024-01-02 15:24:50 -03:00
pashokitsme
29ced5ceec feat: add WindowBuilder::on_download, closes #8157 (#8159)
* on_download_started & on_download_completed setters

* macos: default handler fn if not set

* remove default macos handler

* doc comments

* unify hooks, change files

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-12-30 11:46:53 -03:00
Palash Bansal
27bad32d4d feat: Add files field in macos build config, closes #3290 (#7798)
* Add appContents field in macos tauri config.

* Change MacConfig::appContents to MacConfig::files to make it similar to DebConfig::files.

* Change appContents to files in helloworld/tauri.conf.json

* use common::copy_dir helper

* add change files [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-12-28 12:10:50 -03:00
Amr Bashir
4f73057e6f refactor!: match target triple for TAURI_ENV_ARCH (#8486)
* refactor!: match target triple for `TAURI_ENV_ARCH`

* fix build

* Update .changes/cli-hooks-env-vars-breaking.md

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

* Update tooling/cli/ENVIRONMENT_VARIABLES.md

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

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-12-28 12:10:12 -03:00
Amr Bashir
cb640c8e94 fix(runtime-wry): propagate wry file drop event to tao event loop, closes #8206 (#8393)
* fix(runtime-wry): propagate wry file drop event to tao event loop

* fix build

* always block default OS file drop behavior

* Update .changes/runevent-filedrop.md [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-12-28 10:20:24 -03:00
Lucas Fernandes Nogueira
af565c2a20 fix(macos): allow canceling data-tauri-drag-region maximization #8312 (#8487) 2023-12-28 10:03:14 -03:00
Jérôme Rx
3e00116e9f rename appimage.sh => build_appimage.sh in error (#8295) 2023-12-28 08:04:43 -03:00
Amr Bashir
0ea1a47254 ci: use default options for repository-dispatch (#8455) 2023-12-27 13:00:39 -03:00
Olivier Lemasle
091100acbb feat(bundler): Add RPM packaging, closes #4402 (#5202)
* feat(bundler): Add RPM packaging

* feat(bundler): Update 'rpm' to 0.13.1

* Fix fmt
2023-12-23 18:38:15 +01:00
Lucas Fernandes Nogueira
7e4580afed fix(cli): remove test only relevant to v1 branch, adjust migration test (#8451) 2023-12-20 18:35:50 -03:00
Fabian-Lars
41990cd344 fix(cli): Handle target triples with 4 components (#8448)
* fix(cli): Handle target triples with 4 components

Follow up of #8321 which broke the `TAURI_ENV_` vars for linux, windows and ios-sim

* use host for platform as is

* clippy
2023-12-20 14:14:49 -03:00
renovate[bot]
6892a8cbc1 chore(deps) Update dependency eslint-plugin-security to v2 (dev) (#8440)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-20 12:14:39 -03:00
Amr Bashir
2032228cad refactor!: remove GlobalWindowEvent type (#8430)
* refactor!: remove `GlobalWindowEvent` type

* takee references instead
2023-12-19 14:20:00 -03:00
Lucas Nogueira
a9b87c057d Merge branch '1.x' into dev 2023-12-19 13:52:53 -03:00
Lucas Nogueira
6cd6d3fb32 chore(utils): add change file for #7964 2023-12-19 12:48:05 -03:00
Lucas Nogueira
30c5d86f88 fix: bump tauri-runtime-wry for #8213 2023-12-19 11:33:35 -03:00
github-actions[bot]
e44b36fea4 Apply Version Updates From Current Changes (#8274)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-12-19 11:03:26 -03:00
Lucas Fernandes Nogueira
effe5871af fix(core): scope checks on Android (#8420)
* fix(core): 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.

* clarify code

* apply the logic to all targets
2023-12-19 10:19:26 -03:00
Lucas Fernandes Nogueira
b59f2f54e7 feat(core): expose scope::fs::Scope::new (#8432) 2023-12-18 21:29:12 -03:00
Lucas Fernandes Nogueira
11a1529d6a feat(core): set CORS headers on protocol errors (#8419)
* feat(core): set CORS headers on protocol errors

This ensures the frontend can read the error message instead of just showing a CORS error

* fix statuscode
2023-12-18 20:54:40 -03:00
dependabot[bot]
ea03adee74 chore(deps-dev): bump vite from 4.4.9 to 4.4.12 in /examples/api (#8342)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.4.9 to 4.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.4.12/packages/vite)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 18:42:51 -03:00
Amr Bashir
31b3545e31 ci: access cli release id directly (#8397) 2023-12-18 18:17:33 -03:00
Amr Bashir
428ea6524c feat(api): expose Resource class (#8370)
* feat(api): expose `Resource` class

continuation of https://github.com/tauri-apps/tauri/pull/8276

* Apply suggestions from code review

* fmt

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-12-18 18:16:21 -03:00
Amr Bashir
face0b6a89 chore: cleanup issue and PR templates (#8410)
* chore: cleanup issue and PR templates

* Delete .github/config.yml

* Update bug_report.yml

* Update .github/PULL_REQUEST_TEMPLATE.md

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* Update PULL_REQUEST_TEMPLATE.md

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-12-18 18:15:04 -03:00
Amr Bashir
ef21b681e2 refactor(api): generate types next to modules (#8391)
* refactor(api): generate types next to modules"

this fixes an issue with `moduleResolution: node`

* change file

* Update api-moduleresolution-node.md
2023-12-14 13:27:31 -03:00
Alexandre Dang
db12777742 feat(core): allow the MockRuntime to call a command and get a return value + fix doctest (#8380)
* Add `get_ipc_response` to the `MockRuntime`

* Fix `MockRuntime` doctests

* Add support for raw ipc

* cleanup, add change file

* only a single get fn

---------

Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
2023-12-14 11:52:25 -03:00
Guillem Córdoba
5848b4e8e9 Fixed channel deserialisation in iOS (#8386)
* Fixed channel

* Change file
2023-12-14 09:25:28 -03:00
Sean Boult
803c3a794d feat(cli): expose CLI signer flags as environment variables (#8327)
* feat(cli): expose signer flags as environment variables

* Update .changes/cli-signer-env-vars.md
2023-12-12 11:13:30 +02:00
Michael Howell
f98ce5aa47 fix: fix incorrect predefined menu item for Close Window (#8328)
* Fix incorrect predefined menu item for Close Window

* change file

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-12-12 00:29:55 +02:00
Ananth
b6ca8885ff feat(cli): improve error message with invalid target for build (#8321) 2023-12-12 00:06:43 +02:00
Fabian-Lars
940ec1dd01 chore: Cleanup Readme. Add Sponsor section. (#8269)
* chore: Cleanup Readme. Add Sponsor section.

* move logo into sponsors subfolder

* Update README.md

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

* Update README.md

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

* Update README.md

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

* move getting started up

* remove docs info

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-11-30 11:15:02 +01:00
阿良仔
f78e5e4d4a refactor: replace once_cell with std::sync::OnceLock (#8309)
Our MSRV is currently 1.70 and these new types were introduced in 1.70
2023-11-29 01:12:03 +02:00
Davide Ferrero
5ff6a74430 chore: aligned cocoa crate to 0.25 (#8297) 2023-11-24 22:09:15 +02:00
Davide Ferrero
ad8836b1d2 chore: remove unused import muda::AboutMetadataBuilder (#8294) 2023-11-23 17:15:40 +02:00
Lucas Fernandes Nogueira
4f4313e17a fix(ci): skip installing unnecessary deps (#8277) 2023-11-21 12:34:15 -03:00
Lucas Fernandes Nogueira
ebc3e78e68 feat: update to latest wry (#8213)
Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
2023-11-21 12:32:06 -03:00
Amr Bashir
bf095df55a feat: expose Manager::resources_table (#8276)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-11-21 07:57:35 -03:00
Lucas Fernandes Nogueira
32bf201655 fix(bundler): lint and cleanup for #7964 (#8275) 2023-11-20 21:09:01 -03:00
Andrew
b0c5b06d06 feat(bundler): add dmg settings, closes #4669 (#7964) 2023-11-20 18:26:02 -03:00
Amr Bashir
3b91e236c6 refactor(tauri-utils)!: remove windows_version and is_windows_7 (#8271)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-11-20 18:21:42 -03:00
Amr Bashir
46451aee13 fix(api): add top-level main, module and types fields (#8268) 2023-11-20 18:13:50 -03:00
Fabian-Lars
c2ad4d28c4 refactor(api)!: Rename primitives mod to core (#8273) 2023-11-20 17:53:13 -03:00
Amr Bashir
618b0d01cb ci: fix parsing covector ouput (#8241)
* ci: fix parsing covector ouput

* delete parse-output.js

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-20 21:02:31 +02:00
github-actions[bot]
3acf0d2ba4 Apply Version Updates From Current Changes (#8140)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-11-20 15:11:24 -03:00
renovate[bot]
aa1d67ab75 chore(deps) Update Tauri Core (dev) (#8227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-19 14:21:12 -03:00
Amr Bashir
5e84e92e99 feat: migrate manual implementation to the light windows-version crate (#8243) 2023-11-19 08:50:36 -03:00
Amr Bashir
f93148eac0 feat: add tray and menu javascript APIs and events, closes #6617 (#7709)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-19 08:38:24 -03:00
Lucas Fernandes Nogueira
92b50a3a39 fix(cli): add support to Xcode's archive (#8209) 2023-11-13 22:35:43 -03:00
Lucas Fernandes Nogueira
977d0e52f1 fix(cli): IDE failing to read CLI options on build --open commands (#8202) 2023-11-13 22:34:37 -03:00
renovate[bot]
ecb5b0c21d chore(deps) Update Tauri API Definitions (dev) (#8187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 21:45:07 -03:00
i-c-b
b7add750ef Fix file-drop event payload (#8204)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-11-13 21:40:59 -03:00
Lucas Fernandes Nogueira
25e5f91dae feat(cli): merge user-defined plist with the iOS plist file (#8200) 2023-11-13 21:12:44 -03:00
Tai Zeming
adc3cc2ffa chore(deps): replace deprecated rollup-plugin-terser with @rollup/plugin-terser (#8194) 2023-11-13 17:13:01 +02:00
renovate[bot]
b6ed4ecb37 chore(deps) Update Rust crate syn to v2 (dev) (#7634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-13 08:20:19 -03:00
renovate[bot]
e9aa7276e9 chore(deps) Update Tauri Core (dev) (#7631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-09 14:15:41 -03:00
renovate[bot]
88ee0d8a04 chore(deps) Update Tauri CLI (dev) (#8097)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-09 08:31:32 -03:00
Vitor Ayres
88dac86f3b fix: (cli) format plugin string to snake case, closes #8017 (#8149)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-11-07 22:56:39 -03:00
Lucas Fernandes Nogueira
bfbbefdb9e fix(cli): invalid plugin template (#8161) 2023-11-07 22:56:21 -03:00
renovate[bot]
fc571ea2ce chore(deps) Update Rust crate tempfile to 3.8.1 (dev) (#8150)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 13:57:43 -03:00
renovate[bot]
3ed6b3ef37 chore(deps) Update Tauri API Definitions (dev) (#8151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 13:57:28 -03:00
renovate[bot]
ec78f1613a chore(deps) Update Rust crate cargo_toml to 0.17 (dev) (#8154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 13:57:07 -03:00
moka-ayumu
34196e25c4 fix(bundler): modify version in output file name when bundling wix (#8182)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-11-07 10:08:30 -03:00
Lucas Fernandes Nogueira
b5f40ae58d fix(core): global events regression from #7996 closes #8146 (#8147) 2023-11-07 09:59:09 -03:00
Lucas Fernandes Nogueira
04a682beb0 refactor(core): break manager struct into smaller ones (#8124) 2023-11-07 09:58:57 -03:00
fetzsav
50f7ccbbf3 [feat (issue #6389)] make tauri icon support SVGs (#6444)
Co-authored-by: Fetzer <fetz@fetzverse.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2023-11-07 09:58:01 -03:00
ShoreCN
fd532da899 refactor: Optimize Simplified Chinese language content (#8137) 2023-11-06 19:10:20 -03:00
Fabian-Lars
a547971209 fix(build): always invoke resource compiler on windows, fixes #8164 (#8168)
* fix(build): Always invoke resource compiler on windows, fixes #8164

* move all the stuff out of the version check

* check for icon path when setting the icon
2023-11-06 21:46:25 +02:00
Lucas Fernandes Nogueira
01a7a983ab feat(cli): transform paths into relative for the mobile IDE script (#8128) 2023-10-30 10:53:18 -03:00
github-actions[bot]
b5e1334149 Apply Version Updates From Current Changes (#8131)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-10-28 18:06:44 -03:00
Fabian-Lars
822bf15d6b fix(api): include tslib dist in api package (#8130) 2023-10-28 17:40:38 -03:00
github-actions[bot]
618c4538ea Apply Version Updates From Current Changes (#8064)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-10-28 15:04:15 -03:00
Fabian-Lars
b89de9fa43 feat(android): Add onResume and onPause to android plugins (#8092)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-28 14:38:13 -03:00
Lucas Fernandes Nogueira
0601d5dddb fix(docs): set the --cfg docsrs arg for docs.rs build (#8123) 2023-10-28 08:04:35 -03:00
Lucas Fernandes Nogueira
74d2464d0e refactor(core): implement on_page_load event using wry hook (#8116) 2023-10-27 10:00:59 -03:00
Lucas Fernandes Nogueira
2b6ffe0fd1 chore: update plugins-workspace branch usage from next to v2 (#8120) 2023-10-27 00:17:23 -03:00
Olivier Lemasle
9ed400a85c chore(ci): Replace unmaintained actions-rs GH actions, closes #8078 (#8093)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-10-26 15:27:52 -03:00
Olivier Lemasle
6bc3b0536d fix(cross): Fix docker image and cross setup (#8094) 2023-10-26 13:58:56 -03:00
renovate[bot]
4077946229 chore(deps) Update dependency @types/node to v20.8.8 (dev) (#8098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-26 13:42:30 -03:00
Lucas Fernandes Nogueira
6e75863041 fix(api): adjust documentation for mockConvertFileSrc (#8111) 2023-10-26 15:28:48 +03:00
Amr Bashir
c7c2507da1 chore(deps): update windows-rs to 0.51 and webview2-com to 0.27 (#8035)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-10-24 13:17:06 -03:00
DK Liao
9580df1d7b chore(deps): upgrade gtk to 0.18 (#8084)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-10-24 12:26:24 -03:00
Amr Bashir
a0f7b88fd8 build(api.js): simplify output JS files (#8025)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-23 18:22:00 -03:00
Amr Bashir
93c8a77b34 refactor: enhance event system rust apis (#7996)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-23 15:10:01 -03:00
Lucas Fernandes Nogueira
198abe3c2c feat(plugins): typed invoke arguments for mobile plugins (#8076) 2023-10-23 14:09:42 -03:00
dependabot[bot]
a74ff464bb chore(deps): bump rustix from 0.37.23 to 0.37.26 in /tooling/bench (#8070)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-22 11:14:57 -03:00
Olivier Lemasle
fec89434d8 fix(ci): Fix bench job (#8045)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-10-22 11:13:32 -03:00
renovate[bot]
31cb582756 chore(deps) Update Tauri Build (dev) (#8044)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-22 10:47:43 -03:00
Olivier Lemasle
efe7811804 fix(examples): use __TAURI__.primitives (#8077)
Closes #8073
2023-10-22 03:38:18 +03:00
Konstantin Azizov
287066b279 fix(api): do nothing in clearMocks if __TAURI_INTERNALS__ is not defined (#8071) 2023-10-21 14:51:08 -03:00
Lucas Nogueira
c6c59cf237 Merge branch '1.x' into dev 2023-10-20 08:56:02 -03:00
renovate[bot]
c982e52eb0 chore(deps) Update Rust crate json-patch to 1.2 (dev) (#8043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-20 00:04:49 +00:00
renovate[bot]
78586968a8 chore(deps) Update Tauri Bundler (dev) (#8047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-20 00:00:07 +00:00
renovate[bot]
d4042ebd88 chore(deps) Update Tauri Utils (dev) (#8050)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 23:59:30 +00:00
Lucas Fernandes Nogueira
22f26882cf fix(core): prevent iOS crash on invalid plugin response JSON (#8049) 2023-10-19 22:47:43 +00:00
github-actions[bot]
d16206a086 Apply Version Updates From Current Changes (#8005)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-10-19 16:04:21 +00:00
renovate[bot]
c90ee65dbf chore(deps) Update Tauri CLI (dev) (#7630)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-19 11:14:23 -03:00
Lucas Fernandes Nogueira
ebcc21e4b9 refactor: change prefix of hook env vars to TAURI_ENV_, closes #8054 (#8057) 2023-10-19 10:46:04 -03:00
renovate[bot]
117a7dc2bb chore(deps) Update Tauri Utils (dev) (#7632)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-10-18 13:36:41 -03:00
renovate[bot]
620b7a5d2f chore(deps) Update Tauri API Definitions (dev) (#7633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-18 13:32:10 -03:00
renovate[bot]
a76588df75 chore(deps) Update Rust crate log to 0.4.20 (dev) (#7629)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-18 13:10:39 -03:00
renovate[bot]
5c0eeb40c1 chore(deps) Update Tauri API Definitions (dev) (major) (#7638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-18 10:37:30 -03:00
dependabot[bot]
6f23fa302d chore(deps): bump postcss from 8.4.24 to 8.4.31 in /examples/api (#7968)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-18 09:48:50 -03:00
martin frances
8db26bd3e9 fix(core): Clippy fixes. (#7869)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-18 09:47:43 -03:00
Andre Lew
c1ec0f1551 feat(core): expose always_on_bottom, closes #7847 (#7933)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-18 09:47:24 -03:00
Jason Tsai
c085addab5 feat: set application progress bar, close #7999 (#8009)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 16:25:30 -03:00
Amr Bashir
a6ad540696 refactor: change path and event plugins to follow the same convention as window (#8040) 2023-10-17 15:28:08 -03:00
Amr Bashir
fb10b87970 feat: move app plugin back to core (#8039)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 15:13:47 -03:00
Amr Bashir
149056746c refactor(core/plugin)!: inline result type alias (#8037)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-10-17 14:33:17 -03:00
Amr Bashir
12b8d18bf7 refactor!: remove unnecessary error enum and result type aliases (#7875)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 13:10:21 -03:00
Amr Bashir
ed32257d04 feat(windows): add tabbed effect (#7794)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-10-17 12:29:10 -03:00
Lucas Fernandes Nogueira
880266a7f6 chore: bump MSRV to 1.70 (#8031) 2023-10-17 11:08:15 -03:00
Lucas Fernandes Nogueira
a5686e1507 fix(core): compile on 32-bit targets (#8032) 2023-10-17 09:40:29 -03:00
Amr Bashir
a63e71f979 refactor(core&api)!: hide internal functions and reuse them in api.js & rename tauri module to primitives (#7942)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 09:40:20 -03:00
dependabot[bot]
b89d747705 chore(deps): bump undici from 5.19.1 to 5.26.3 in /examples/api (#8024)
Bumps [undici](https://github.com/nodejs/undici) from 5.19.1 to 5.26.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.19.1...v5.26.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-10-17 15:28:05 +03:00
Amr Bashir
8b166e9bf8 refactor!: consistent environment variables (#7949)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 09:17:02 -03:00
Amr Bashir
c9a9246c37 feat: move window plugin back to core (#8007)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 08:33:23 -03:00
dependabot[bot]
f12306af5f chore(deps): bump @babel/traverse from 7.17.0 to 7.23.2 in /tooling/cli/node (#8026)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.17.0 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  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-17 06:02:26 +03:00
Amr Bashir
2558fab861 refactor!: remove uuid and rand dependencies where applicable (#7939)
* refactor: remove uuid and rand dependencies where applicable

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

* replace rand with getrandom

* change files

* InnerListeners private

* revert listeners_object_name [skip ci]

* default for next_event_id

* remove raw listen function

* fix event system

* Apply suggestions from code review [skip ci]

* update names [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-10-17 05:47:41 +03:00
Amr Bashir
2fe8782ad4 refactor: enhance the descriptions of CLI commands, closes #7572 (#7952)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-16 09:44:23 -03:00
Lucas Fernandes Nogueira
46dcb94110 feat(core): include mobile on docs.rs targets (#8006) 2023-10-11 17:16:01 -03:00
Amr Bashir
4caa1cca99 refactor(cli): enhance plugin subcommand, closes #7749 (#7990)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-10-11 15:34:33 +00:00
github-actions[bot]
713f84db2b Apply Version Updates From Current Changes (#7823)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-10-08 10:03:49 +00:00
Lucas Fernandes Nogueira
b2f17723a4 feat(cli): use devicetl to connect with iOS 17 devices (#7971) 2023-10-07 14:16:27 -03:00
Amr Bashir
1c9f3db916 chore: change tauri-mobile to cargo-mobile2 (#7953) 2023-10-05 19:30:56 +00:00
Lucas Fernandes Nogueira
d735324df0 fix(cli): deadlock regression from #7802 (#7948) 2023-10-03 11:46:20 -03:00
Amr Bashir
b597aa5f39 feat: add id option for tray icon in config file (#7871)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2023-10-03 10:18:19 -03:00
Lucas Fernandes Nogueira
68e7319305 fix(core): update scope usage following #7944 (#7946) 2023-10-03 08:44:25 -03:00
martin frances
44e8a562a2 fix: Cleared warnings seen while running ``cargo doc`` (#7862) 2023-10-03 08:37:54 -03:00
Amr Bashir
c0d03af470 refactor!: renamed TrayIconBuilder/TrayIcon::on_tray_event to TrayIconBuilder/TrayIcon::on_tray_icon_event (#7943) 2023-10-03 07:53:47 -03:00
Amr Bashir
b7fd88e18d refactor!: consistent naming in tauri::scope module (#7944) 2023-10-03 07:50:00 -03:00
Benjamin Demetz
1bce7397a4 fix: Returns a warning instead of panicking if an AppImage is not mounted, closes #7736 (#7843)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2023-09-28 10:22:11 -03:00
Lucas Fernandes Nogueira
228e5a4c76 fix(cli): icons not added to the Android project (#7902) 2023-09-26 15:22:23 -03:00
Amr Bashir
deea943626 refactor!: changed Env.args to Env.args_os and use OsString instead of String (#7876)
ref: https://github.com/tauri-apps/tauri/issues/7756
2023-09-21 15:56:03 +03:00
Amr Bashir
092a561ca6 refactor!: remove tauri::api module (#7874)
* refactor!: remove `tauri::api` module

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

* change file

* fix builds
2023-09-21 15:55:42 +03:00
Amr Bashir
c3ac1f836b docs: use http::* qualified import instead of an alias (#7873) 2023-09-21 15:34:13 +03:00
Logan Keenan
a2021c30ba fix: remove mut self from set_native_icon signature (#7866)
* fix set_native_icon compile error

* Update core/tauri/src/menu/icon.rs

* Update core/tauri/src/menu/icon.rs

* Create set_native_icon_signature.md

* Update .changes/set_native_icon_signature.md
2023-09-21 02:21:33 +03:00
Fabian-Lars
d6fd121974 fix: add new ipc to csp config in streaming example, closes #7842 (#7849) 2023-09-18 21:05:48 +09:00
Lucas Fernandes Nogueira
990295304f fix(core): remove unused rand dependency, ignore quickcheck_macros (#7838) 2023-09-15 10:58:56 -03:00
martin frances
9a2b2f49a5 Chore: Resolve "environment variable" notice in the github build artifacts (#7800)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-09-12 17:00:09 -03:00
Amr Bashir
a68ccaf59a fix: skip leading slash for asset protocol, closes #7815 (#7822)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-09-12 16:57:11 -03:00
i-c-b
100d9ede35 fix(core): Correctly detect Android Tauri configuration file, closes #7785 (#7802)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-09-12 13:18:23 -03:00
github-actions[bot]
3c66a53a9e Apply Version Updates From Current Changes (#7811)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-09-11 13:00:21 -03:00
Lucas Fernandes Nogueira
d5074af562 fix: custom protocol on Windows, change scheme on Android, closes #7801 (#7808) 2023-09-11 12:25:06 -03:00
martin frances
822ba2b121 Fix: Resolve Deprecation notice in the github build artifacts (#7780)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2023-09-09 10:38:19 -03:00
martin frances
ac065062eb chore: Move to a modern resolver when using workspaces. (#7797) 2023-09-09 09:58:41 -03:00
Lucas Fernandes Nogueira
47b33e649c fix(ci): adjust test-core's downgrade step (#7796) 2023-09-09 09:34:46 -03:00
github-actions[bot]
a6a42f8f0a Apply Version Updates From Current Changes (#7770)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-09-08 11:49:37 -03:00
Lucas Fernandes Nogueira
6735994885 fix(ci): downgrade cfg-expr to 0.15.4 (#7790) 2023-09-08 11:07:27 -03:00
Lucas Fernandes Nogueira
e1ac45c89f fix(ci): downgrade crates requiring rust 1.66 (#7788) 2023-09-08 10:00:11 -03:00
Lucas Fernandes Nogueira
4cb51a2d56 refactor(core): custom protocol on Windows now uses the http scheme (#7779) 2023-09-07 19:57:16 -03:00
Lucas Fernandes Nogueira
974e38b4dd refactor(cli): rename plugin add command to add (#7744) 2023-09-07 07:34:36 -03:00
github-actions[bot]
7db1c31e47 Apply Version Updates From Current Changes (#7627)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-09-06 18:12:36 -03:00
Lucas Fernandes Nogueira
8faa5a4a12 fix(cli): missing assets dir on iOS project when it is committed (#7765) 2023-09-06 17:22:39 -03:00
Lucas Fernandes Nogueira
b7f53d66e8 fix(core): use postMessage IPC for remote URLs on iOS ref #7751 (#7764) 2023-09-06 16:09:01 -03:00
Lucas Fernandes Nogueira
0d63732b96 refactor(core): allow custom protocol handler to resolve async (#7754) 2023-09-06 15:53:03 -03:00
Lucas Fernandes Nogueira
b75a1210be fix(cli): update tauri-mobile to fix iOS logs not showing (#7762) 2023-09-06 15:11:30 -03:00
Lucas Fernandes Nogueira
964282a267 fix(cli): migration tests (#7745) 2023-09-06 13:43:17 -03:00
Lucas Fernandes Nogueira
29818de682 fix(core): use postMessage IPC for remote URLs on macOS closes #7662 (#7751)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-09-05 12:41:05 -03:00
Simon Hyll
e98393e499 fix: no longer unpacking and flattening payload, closes #7673 (#7677) 2023-09-04 18:02:22 -03:00
XXIV
41067cef00 perf: remove unnecessary heap allocation (#7731) 2023-09-04 15:00:49 +03:00
Amr Bashir
af3268a4be refactor(menu,tray): add wrappers (#7622) 2023-08-16 13:06:17 -03:00
Amr Bashir
5c95152c76 refactor!: take id for text/check/icon on menu builders (#7621)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-08-16 11:55:36 -03:00
Amr Bashir
6177150b6f feat: add drag-n-drop position (#7601) 2023-08-16 11:21:40 +09:00
yydcnjjw
8a6766173b feat(tauri): impl Send for app::Builder, closes #7618 (#7619)
* feat(tauri): impl Send for app::Builder

* chore: add .changes/app-builder-send.md
2023-08-16 11:21:23 +09:00
Angelo II
04949d1658 feat(bundler/NSIS): Add Bulgarian to supported NSIS languages. (#7624)
* Create Bulgarian.nsh

* Update nsis.rs

* Create nsis-bulgarian.md
2023-08-15 23:06:22 +03:00
Lucas Fernandes Nogueira
7f818384d3 chore: enable tray-icon feature for docs.rs build (#7620) 2023-08-15 08:26:31 -03:00
github-actions[bot]
3bf1bce9ec Apply Version Updates From Current Changes (#7612)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-08-14 12:19:36 -03:00
Lucas Fernandes Nogueira
e27b829b36 fix(ci): adjust publish-cli-rs workflow tag (#7609) 2023-08-14 07:34:25 -07:00
Lucas Fernandes Nogueira
4af5c5a829 chore(api): add change file for #7170 (#7611) 2023-08-14 07:24:44 -07:00
Lucas Fernandes Nogueira
560b34dd2a fix(tauri-build): skip validating tray-icon feature flag (#7610) 2023-08-14 07:24:13 -07:00
github-actions[bot]
28382fdf9e Apply Version Updates From Current Changes (#7270)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-08-14 08:30:01 -03:00
Jonas Kruckenberg
02eb08bbd7 perf: remove lto setting from CLI (#6861)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-08-14 07:28:11 -03:00
renovate[bot]
d928d23cdb chore(deps) Update Tauri Core - abandoned (#5253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-08-13 22:41:00 -03:00
Amr Bashir
7fb419c326 refactor: move to muda and tray_icon crates (#7535)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-08-13 22:25:50 -03:00
Lucas Fernandes Nogueira
ec827760ab fix(tauri-runtime-wry): adjust docs.rs features to fix doc build (#7583) 2023-08-13 20:40:03 -03:00
chip
e21a449b27 use mime crate for manager (#7584) 2023-08-12 07:24:24 -03:00
Lucas Fernandes Nogueira
fbeb5b9185 refactor(core): use webview's URI schemes for IPC (#7170)
Co-authored-by: chip <chip@chip.sh>
2023-08-10 10:12:38 -03:00
renovate[bot]
85efd0ae43 chore(deps) Update Rust crate swift-rs to 1.0.6 (dev) (#7578)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-10 07:22:20 -03:00
renovate[bot]
82c3f6be4a chore(deps) Update Tauri Bundler (dev) (#7579)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-10 07:21:36 -03:00
Lucas Fernandes Nogueira
e1a5e89ac3 feat(renovate): run on 1.x branch (#7564) 2023-08-09 17:39:07 -03:00
renovate[bot]
6a76d0abca chore(deps) Update Tauri API Definitions (#7496)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2023-08-08 15:50:11 -03:00
renovate[bot]
56714ede4d chore(deps) Update Rust crate tempfile to 3.7.0 (#7497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-08 15:17:53 -03:00
Lucas Fernandes Nogueira
8af2497496 feat(cli): automate API -> plugin migration (#7561) 2023-08-08 13:21:46 -03:00
Lucas Fernandes Nogueira
d010bc07b8 feat(ios): properly set iOS product name (#7554) 2023-08-05 08:59:19 -03:00
Stanislas Michalak
6c38924aa2 fix: improve French translations for nsis installer (#7523) 2023-08-05 08:58:33 -03:00
Kris Krolak
4db363a03c feat: add visible_on_all_workspaces, closes #6589 (#7437)
* feat: add visible_on_all_workspaces, closes #6589

* add changes file

* Apply suggestions from code review

* Update core/tauri-config-schema/schema.json

* Update tooling/cli/schema.json

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-07-26 19:38:09 +08:00
Jeffrey Hutchins
3a2c3e7471 feat: Add ordered navigation handler for plugins, closes #7306 (#7439)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-07-24 14:36:16 -03:00
renovate[bot]
b7277357b9 chore(deps) Update Tauri API Definitions (#7311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-20 09:23:58 -03:00
dependabot[bot]
3788fb1476 chore(deps-dev): bump vite from 3.0.9 to 3.2.7 in /examples/api (#7223)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-20 09:18:12 -03:00
dependabot[bot]
339cfa1124 chore(deps): bump word-wrap from 1.2.3 to 1.2.4 in /tooling/api (#7451)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-20 09:17:55 -03:00
renovate[bot]
c40b8ae15f chore(deps) Update Rust crate tar to 0.4.39 (#7452)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-20 09:17:12 -03:00
Lucas Fernandes Nogueira
7b45e7fa1b feat(build): trigger rerun if plugin config env var changes (#7458) 2023-07-19 13:16:43 -03:00
Lucas Fernandes Nogueira
ecffaa2524 feat(build): skip writing manifest/entitlements when no changes found (#7457) 2023-07-19 13:16:35 -03:00
Lucas Fernandes Nogueira
1e1d839e7e feat(build): add function to rewrite AndroidManifest.xml (#7450) 2023-07-19 08:15:08 -03:00
Lucas Fernandes Nogueira
522de0e788 feat(core): allow a plugin build script to read the plugin config object (#7447) 2023-07-18 11:04:15 -03:00
Lucas Fernandes Nogueira
aba04fa823 feat(build): add API to update the iOS entitlements file (#7448) 2023-07-18 10:20:55 -03:00
Lucas Fernandes Nogueira
aa94f7197e feat(ios): add empty entitlements file to iOS project (#7445) 2023-07-18 10:20:32 -03:00
Lucas Fernandes Nogueira
c7dacca466 feat(cli): expose iOS project path and app name as env vars (#7446) 2023-07-18 10:19:01 -03:00
Lucas Fernandes Nogueira
753900dd6e feat(ios): expose RunEvent::Opened (#7440) 2023-07-17 19:44:34 -03:00
Fabian-Lars
a5752db985 feat(core): forward onNewIntent event to android plugins (#7436) 2023-07-17 10:20:16 -03:00
Bo
3b98141aa2 feat: add file association support, closes #3736 (#4320)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Raphii <iam@raphii.co>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-07-16 18:34:43 -03:00
Amr Bashir
84c4159754 feat(core): add monitor functions for App/AppHandle, closes #6394 (#6403)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-07-12 17:14:04 -03:00
renovate[bot]
f280dcfb7c chore(deps) Update Rust crate libflate to v2 (#7410)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-12 07:40:43 -03:00
Amr Bashir
74b1f4fc66 feat(core): add dark/light mica option (#7384)
* feat(core): add dark/light mica option

* Update .changes/dark-light-mica-effect.md

* fix macos build
2023-07-10 14:31:29 +03:00
Amr Bashir
fd5dc788d1 refactor: cleanup and remove unused tauri::api modules (#7352) 2023-07-10 12:17:17 +09:00
Davide Baldo
43c6285e90 chore(deps): update unmaintained dependency from kuchiki to kuchikiki (#7359)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-07-05 17:41:46 -03:00
Amr Bashir
23b0e1b9e5 fix: add resolution for semver npm package to fix cve (#7353) 2023-07-04 17:00:01 +03:00
Fabian-Lars
3065c8aea3 fix(bundler): Enable zip's deflate feature flag (#7296) 2023-06-26 11:43:43 -03:00
i-c-b
5eb8554331 fix(cli): Apple Dev Teams format for info::Section::Display (#7282)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-06-24 08:30:34 -03:00
Fabian-Lars
38d0bed8eb fix(cli): Split metadata.json per major version. (#7276) 2023-06-22 10:43:47 -03:00
renovate[bot]
0ef9c6b7ec chore(deps) Update Rust crate serde_json to 1.0.97 (#7271)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-21 10:56:25 -03:00
renovate[bot]
5cbf4df390 chore(deps) Update Rust crate swift-rs to 1.0.5 (#7272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-21 07:50:27 -03:00
renovate[bot]
6db81ec879 chore(deps) Update Rust crate ureq to 2.7 (#7274)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-21 07:50:11 -03:00
renovate[bot]
180eeb7363 chore(deps) Update Tauri API Definitions (#7275)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-21 07:49:53 -03:00
Jeffrey Hutchins
2a000e150d feat: add navigate method (#7235) 2023-06-20 16:56:17 -03:00
Amr Bashir
b04444928c ci: fix version-or-publish PR naming (#7268) 2023-06-20 16:54:11 -03:00
yydcnjjw
33f6aa438e fix: ipc scope not found error at windows (#7264)
The incorrect value ("window") was utilized when determining the Windows platform.
2023-06-20 17:33:52 +08:00
Simon Hyll
c4e9740c83 added missing futures-util (#7260) 2023-06-20 12:39:31 +08:00
Simon Hyll
c34e37b1f7 docs: added rustdoc icons (#7253)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-06-19 21:51:05 -03:00
Lucas Fernandes Nogueira
e63111b65a chore: remove v1 references on documentation and benchmark (#7258)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-06-19 09:47:51 -03:00
Lucas Fernandes Nogueira
d1a6e2f333 chore(deps): update state to 0.6 (#7252) 2023-06-18 20:57:36 -03:00
Lucas Fernandes Nogueira
7036bc93ed fix(ci): use native-tls-vendored for @tauri-apps/cli darwin arm64 build (#7245) 2023-06-17 19:14:02 -03:00
github-actions[bot]
bd29b05f15 Apply Version Updates From Current Changes (v2) (#7242)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-06-17 15:05:12 -03:00
Lucas Nogueira
3d707ddf5f fix(ci): run covector workflow on dev branch 2023-06-17 14:15:34 -03:00
Lucas Fernandes Nogueira
6252380f44 fix(cli): kill beforeDevCommand process if mobile dev command fails (#7241) 2023-06-17 14:10:01 -03:00
Lucas Fernandes Nogueira
655c714e41 fix(cli): do not panic on Ctrl+C on ios dev (#7240) 2023-06-17 14:09:37 -03:00
Lucas Fernandes Nogueira
1542ad17d6 chore(ci): delete workflow from next branch (#7239) 2023-06-17 08:10:20 -07:00
Lucas Fernandes Nogueira
84695cb83b chore(changes): delete change files from 1.4 release (#7238) 2023-06-17 08:08:51 -07:00
Lucas Nogueira
1e9c463d12 Merge remote-tracking branch 'origin/1.x' into dev 2023-06-17 11:02:14 -03:00
Jeffrey Hutchins
c7534e732d feat(android): disable action bar in dark mode themes.xml (#7226) 2023-06-17 04:57:33 +03:00
Amr Bashir
8922be591c feat(android): disable action bar in themes.xml (#7164) 2023-06-16 13:02:11 -03:00
Amr Bashir
4847b87b10 fix(cli): handle npx for mobile commands, closes #7209 (#7218)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-06-16 12:28:57 -03:00
Ngo Iok Ui (Wu Yu Wei)
535f223eca Merge pull request #7214 from tauri-apps/next
chore: merge `next` into `dev`
2023-06-16 19:39:22 +08:00
Lucas Fernandes Nogueira
6b81d70a1a Merge pull request #7217 from tauri-apps/fix/unused-deps 2023-06-15 08:59:14 -07:00
Lucas Nogueira
d0e5dbf33e fix(core): remove unused dependencies 2023-06-15 12:29:37 -03:00
Lucas Fernandes Nogueira
cafaf69fd7 fix(ci): add missing license headers, adjust script to properly ignore (#7216) 2023-06-15 11:05:59 -03:00
Lucas Nogueira
93afa71d9a chore: fix merge conflicts from dev 2023-06-15 10:37:02 -03:00
Lucas Fernandes Nogueira
7bbc626cc3 Merge remote-tracking branch 'origin/dev' into next (#7212) 2023-06-15 09:52:33 -03:00
Amr Bashir
2d2fd6abe2 fix(core): use correct http method for proxied server, closes #7191 (#7208) 2023-06-15 08:29:20 -03:00
Amr Bashir
0fa0fa4ccf fix: check if url local with platform custom protocol, closes #7176 (#7202)
* fix: check if url local with platform custom protocol, closes #7176

* Update core/tauri/src/window.rs
2023-06-14 19:39:38 +03:00
Amr Bashir
b66e7d60f2 feat(core): impl clone for Channel (#7174) 2023-06-10 14:38:02 -03:00
Lucas Fernandes Nogueira
8124145d6c fix(core): path commands not added (#7171) 2023-06-08 17:08:46 -07:00
Amr Bashir
6d3f3138b9 fix(core/path): change sep and delimiter to functions (#7160)
* fix(core/path): change `sep` and `delimiter` to functions

* fix impl

* semicolons

* return types

* generated

* fix init js

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-06-08 03:40:14 +03:00
Amr Bashir
bfaf624a4c chore: fix doc link (#7147) 2023-06-07 15:11:48 +03:00
Amr Bashir
4652c446b3 feat: add tempDir to path plugin (#7144)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2023-06-06 14:51:29 -03:00
Hyph
f2d68cf7d4 feat(core): expose Wry's with_incognito to Tauri on the WindowBuilder::incognito function. (#6767) 2023-06-06 18:30:37 +03:00
Fabian-Lars
3480047ec1 feat(cli): Build the CLI for Windows ARM64, closes #7015 (#7098) (#7106)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
closes #7015 (#7098)
2023-06-06 09:21:57 -03:00
Lucas Fernandes Nogueira
9e3a18e046 feat(api): expose window target option on event APIs (#7132) 2023-06-05 16:00:44 -03:00
Lucas Fernandes Nogueira
a50f24b2bd Merge remote-tracking branch 'origin/dev' into next (#7067)
Co-authored-by: wusyong <wusyong@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Simon Hyll <hyllsimon@gmail.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: chip <chip@chip.sh>
Co-authored-by: Raphii <iam@raphii.co>
Co-authored-by: Ronie Martinez <ronmarti18@gmail.com>
Co-authored-by: hanaTsuk1 <101488209+hanaTsuk1@users.noreply.github.com>
Co-authored-by: nathan-fall <39990940+nathan-fall@users.noreply.github.com>
Co-authored-by: Akshay <nerdy@peppe.rs>
Co-authored-by: KurikoMoe <kurikomoe@gmail.com>
Co-authored-by: Guilherme Oenning <me@goenning.net>
Co-authored-by: Pierre Cashon <biaocy91@gmail.com>
Co-authored-by: Jack Wills <32690432+mrjackwills@users.noreply.github.com>
Co-authored-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Co-authored-by: Risto Stevcev <me@risto.codes>
Co-authored-by: Soumt <rltks1305@naver.com>
Co-authored-by: yutotnh <57719497+yutotnh@users.noreply.github.com>
Co-authored-by: Gökçe Merdun <agmmnn@gmail.com>
Co-authored-by: Nathanael Rea <Nathan@NathanaelRea.com>
Co-authored-by: Usman Rajab <usman.rajab@gmail.com>
Co-authored-by: Francis The Basilisk <36006338+snorkysnark@users.noreply.github.com>
Co-authored-by: Lej77 <31554212+Lej77@users.noreply.github.com>
Co-authored-by: Tomáš Diblík <dibla.tomas@post.cz>
Co-authored-by: Jonas Kruckenberg <iterpre@protonmail.com>
Co-authored-by: Pascal Sommer <Pascal-So@users.noreply.github.com>
Co-authored-by: Bo <bertonzh@gmail.com>
Co-authored-by: Kevin Yue <k3vinyue@gmail.com>
fixed grammar and typos (#6937)
Fix api.js docs pipeline with updated typedoc dependencies (#6945)
closes #6887 (#6922)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865 (#6921)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865
fix broken symlinks in license files (#6336)
fix(cli): fix cli connection timeout to dev server (fix #6045) (#6046)
fix(bundler): ensure that there are no duplicate extension arguments when bundling on Windows, fixes #6103 (#6917)
fix(bundler): ensure that there are no duplicate extension arguments during bundling on Windows (fix #6103)
closes #5491 (#6408)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928 (#6935)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928
fix(updater): emit `UPTODATE` when server responds with 204, closes #6934 (#6970)
fix(core): unpin all dependencies, closes #6944 (#6966)
fix(bundler): Add new lang_file option in persian variant. (#6972)
fix(core/ipc): access url through webview native object, closes #6889 (#6976)
fix(core): remove trailing slash in http scope url, closes #5208 (#6974)
fix(core): remove trailing slash in http scope url, closes #5208
fix(cli): find correct binary when `--profile` is used, closes #6954 (#6979)
fix(cli): find correct binary when `--profile` is used, closes #6954
closes #6955 (#6987)
closes #6955
closes #6158 (#6969)
closes #6158
fix(cli): improve vs build tools detection (#6982)
fix: updated appimage script to follow symlinks for /usr/lib* (fix: #6992) (#6996)
fix(cli): correctly remove Cargo features (#7013)
Fix typo (#7012)
fix(cli): revert metadata.json field rename from #6795 (#7029)
closes #6732 (#6736)
fix: add missing file properties on Windows, closes #6676 (#6693)
fix(cli.js): detect node-20 binary (#6667)
fix version-or-publish workflow (#7031)
fix(cli/devserver): inject autoreload into HTML only, closes #6997 (#7032)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036 (#7040)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036
fix(core): rewrite `asset` protocol streaming, closes #6375 (#6390)
closes #5939 (#5960)
fix(core): use `safe_block_on` (#7047)
closes #6859 (#6933)
closes #6955 (#6998)
fix(core): populate webview_attrs from config, closes #6794 (#6797)
closes #5176 (#5180)
fix: sound for notifications on windows (fix #6652) (#6680)
close native window's buttons, closes #2353 (#6665)
fix(bundler/nsis): calculate accurate app size, closes #7056 (#7057)
fix(tests): only download update when it is available (#7061)
closes #6706 (#6712)
fix(doc): correct the doc of `content_protected()` (#7065)
closes #6472 (#6530)
fix(macros): use full path to Result to avoid issues with type aliases (#7071)
2023-05-29 21:29:24 -03:00
Amr Bashir
1ed2600da6 fix(cli): set current dir to tauri dir before reading config, closes #6771 (#6782)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
fix(cli): set current dir to tauri dir before reading config, closes #6771
2023-05-26 13:45:20 -03:00
Lucas Fernandes Nogueira
735db1ce83 feat(cli/mobile/init): add --skip-targets-install, ref #7044 #7058 (#7062) 2023-05-26 12:49:51 -03:00
chip
7fee3d3a2a use cargo workspace package table (#6885) 2023-05-26 10:04:01 -03:00
chip
160489454d fix clippy errors on macOS (#7064)
* fix clippy errors on macOS

* cargo clippy --fix
2023-05-26 15:24:23 +08:00
Amr Bashir
a28fdf7ec7 feat(cli/mobile/init): skip installing already installed targets, closes #7044 (#7058)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
closes #7044
2023-05-25 23:36:06 -03:00
Amr Bashir
e0f0dce220 feat: add window effects api (#6442)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-05-23 15:29:46 -03:00
Lucas Fernandes Nogueira
7e5905ae1d feat(cli): plugin add command (#7023) 2023-05-23 11:39:42 -03:00
Philipp Renoth
9770032860 feat(cli): improve logic to copy Rust library to iOS project Externals folder (#6610)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-05-22 13:54:44 -03:00
Amr Bashir
3f4c4ce88b fix(cli/android): fallback to all targets (#7028)
fix regression introduced in d03e47d141
2023-05-22 19:00:18 +03:00
Flysoft
aa6c9164e6 fix(cli): don't build library when building desktop targets, closes #7007 (#7014)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-05-22 11:32:20 -03:00
Andzej Korovacki
8e85576506 fix: default log path for linux and windows updated (fix: #6809) (#6827)
* fix: default log path for linux and windows updated (fix: #6809)

* fix impl after reset
2023-05-21 16:38:20 +03:00
Lucas Fernandes Nogueira
3256a37263 fix(build): inject Android proguard rules, closes #7016 (#7017) 2023-05-21 13:03:20 +08:00
Lucas Fernandes Nogueira
b0f947752a feat(cli): add migrate command (#7008) 2023-05-20 20:28:46 -03:00
github-actions[bot]
d1304ffa12 (NEXT) Apply Version Updates From Current Changes (#6707)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-05-18 09:10:12 -03:00
Lucas Fernandes Nogueira
8ce32e74b5 feat(core): expose default_window_icon on App and AppHandle (#6986) 2023-05-17 19:54:15 -03:00
Lucas Fernandes Nogueira
2344aea176 fix(ci): use workflow-dispatch action to trigger next branch workflow (#6977) 2023-05-16 20:44:52 -03:00
Amr Bashir
994e4fd6d9 chore: reuse defaultArchList (#6978) 2023-05-17 02:08:05 +03:00
Lucas Fernandes Nogueira
e5bd34cb34 refactor(core): remove init scripts related to plugin APIs (#6975) 2023-05-16 11:46:32 -03:00
Lucas Fernandes Nogueira
59db76af4c refactor(android): fix race conditions processing Android plugin project as dependency (#6968) 2023-05-16 10:22:46 -03:00
Lucas Fernandes Nogueira
6fb5734d2f feat(mobile): add event APIs for plugins (#6946) 2023-05-15 11:36:25 -03:00
Lucas Fernandes Nogueira
6d25c4d07f fix(config): properly reference updater configuration on ToTokens impl (#6957) 2023-05-13 10:30:35 -03:00
Amr Bashir
e1e85dc2a5 chore: fix ci and cleanup leftovers (#6925)
* chore: fix ci and cleanup leftovers

1. removed leftover feature flags
2. remove zip/extract apis which are not used anymore
3. removed leftoever scopes
4. removed leftover allowlist and updater options
5. updated the example api

* remove leftover updater structs

* move updater under bundle and remove uneeded options

* fix cli on linux

* remove create_proxy

* clippy

* more clippy

* clippppy

* readd path api

* fix api example

* remove window allowlist

* remove window from allowlist config

* remove `all` allowlist option

* remove file_move

* lint

* fix windows build

* remvoe unused deps

* remvoe allowlist config option, move protocol to `security > asset_protocol`

* fix diffing features

* fmt and test

* fix scope alias

* change files

* android lint

* simplify allow_file impl

* Revert "simplify allow_file impl"

This reverts commit b8882f2fd0.

* expose scopes

* remove unused error variants

* protocol-asset on docs.rs

* ignore reqwest on udeps

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-05-13 13:48:28 +03:00
Lucas Fernandes Nogueira
9a79dc0858 refactor(core): remove window endpoints (#6947) 2023-05-12 08:18:00 -03:00
Amr Bashir
5a9307d11c feat(cli): update android template to gradle 8.0 (#6890)
* feat(cli): update android template to gradle 8.0

* update java in CI to 17

* updat to latest tauri-mobile
2023-05-12 14:06:50 +03:00
Lucas Fernandes Nogueira
39f1b04f7b refactor(core): move event JS API to a core plugin (#6943) 2023-05-12 07:55:39 -03:00
Lucas Fernandes Nogueira
0ab5f40d3a feat(core): add IPC channel (#6813) 2023-05-11 07:25:32 -03:00
Lucas Fernandes Nogueira
b072daa3bd refactor(core): move updater to a plugin (#6919) 2023-05-09 16:43:31 -07:00
Lucas Fernandes Nogueira
60cf9ed2fc refactor(core): move process endpoints to plugins-workspace (#6905) 2023-05-09 12:00:41 -03:00
Amr Bashir
c4171152c1 fix: enable shadows by default, closes #6909 (#6916) 2023-05-09 15:56:13 +03:00
Lucas Fernandes Nogueira
29ce9ce2ce refactor(core): move os endpoints to a dedicated plugin (#6902)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2023-05-08 12:05:12 -03:00
Lucas Fernandes Nogueira
3245d14b9e refactor(core): remove app module (#6895) 2023-05-08 10:29:36 -03:00
Lucas Fernandes Nogueira
2cc282c129 fix(build): rerun plugin build when plugins.json changes, wait write (#6893) 2023-05-08 10:29:09 -03:00
Lucas Fernandes Nogueira
d48aaa150a fix(cli): readd plugin example template Cargo.toml files (#6894) 2023-05-07 17:19:51 -07:00
Lucas Nogueira
4585a1cbb0 Merge branch 'dev' into next 2023-05-07 10:42:44 -03:00
Lucas Fernandes Nogueira
5a768d5ce6 refactor(build): remove WindowsAttributes::sdk_dir (#6886) 2023-05-06 17:49:22 -03:00
Lucas Fernandes Nogueira
3188f37649 feat: update MSRV to 1.65 (#6883) 2023-05-06 17:16:52 -03:00
Lucas Fernandes Nogueira
6d1fa49fce fix(cli): clear plugin JSON file before rebuilding (#6881) 2023-05-06 15:59:33 -03:00
Lucas Fernandes Nogueira
7a4b1fb96d feat(macros): add support to attributes on generate_handler (#6839) 2023-05-06 10:44:24 -07:00
Lucas Fernandes Nogueira
256c30c72b feat(android): support private plugin callbacks and commands (#6863) 2023-05-05 09:19:02 -03:00
Lucas Fernandes Nogueira
73c803a561 feat(android): inject tauri.conf.json asset, add plugin config load API (#6837) 2023-05-03 08:16:05 -03:00
Lucas Fernandes Nogueira
bb2a8ccf13 fix(ios): use correct class to call plugin command with throws (#6830) 2023-05-01 14:19:28 -03:00
Lucas Fernandes Nogueira
edb16d13a5 fix(android): adjust Android plugin command exception to use e.message (#6831) 2023-05-01 14:16:05 -03:00
Lucas Nogueira
e68a08da51 feat(android): allow JSObject::getString to return null 2023-04-29 12:50:04 -03:00
Amr Bashir
19cd0e4960 feat: add key.properties to android gitignore (#6811) 2023-04-27 16:04:53 +02:00
Lucas Fernandes Nogueira
41cb06172a fix(ios): update wry, fix plugin config load (#6810) 2023-04-27 05:55:48 -07:00
Amr Bashir
124d5c5adf fix(cli): use snake_case fallback of app_name (#6788)
fix regression introduced in 2b22f64972
2023-04-25 18:21:06 -03:00
Lucas Fernandes Nogueira
942249060e refactor(core): generate TauriActivity on build script (#6783) 2023-04-24 11:17:59 -03:00
Amr Bashir
ecc9ac9603 fix(tauri-build): escape path to tauri-android project (#6785) 2023-04-24 11:14:43 -03:00
Lucas Fernandes Nogueira
d693e526e8 feat(android): add onNewIntent plugin hook (#6780) 2023-04-23 19:59:46 -03:00
Lucas Fernandes Nogueira
2a5175a8f8 feat(android): enhance JSObject return types (#6779) 2023-04-23 17:06:31 -03:00
Amr Bashir
31444ac196 chore(deps): update wry to 0.28 (#6725)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-04-23 16:59:39 -03:00
Lucas Fernandes Nogueira
cdad6e0837 refactor(core): use absolute path for the tauri Android library (#6774) 2023-04-23 15:40:47 -03:00
Lucas Fernandes Nogueira
2969d1cbba refactor(core): use absolute path to plugin Android project (#6773) 2023-04-23 11:21:36 -03:00
Lucas Fernandes Nogueira
dfa407ffcb feat(mobile): add plugin config to the Plugin class (#6763) 2023-04-23 09:15:13 -03:00
Lucas Fernandes Nogueira
41f49aeae6 fix(cli.js): adb commands not working, closes #6659 (#6708)
fix(cli.js): adb commands not working, closes #6659
2023-04-23 09:14:54 -03:00
Lucas Fernandes Nogueira
96639ca239 refactor(core): remove shell APIs (#6749) 2023-04-20 09:19:47 -03:00
Lucas Fernandes Nogueira
0c11023bcf refactor(core): remove http-multipart Cargo feature (#6748) 2023-04-19 20:17:41 -03:00
Lucas Fernandes Nogueira
ae102980fc refactor(core): read tray icon only on desktop, refactor Context (#6719) 2023-04-19 19:44:10 -03:00
Lucas Fernandes Nogueira
86488a6ad8 refactor(core): remove notification API (#6745) 2023-04-19 19:03:34 -03:00
Lucas Fernandes Nogueira
f78a378344 refactor(core): remove http features (#6742) 2023-04-19 11:47:29 -03:00
Lucas Fernandes Nogueira
2d5378bfc1 refactor(core): move dialog API to its own plugin (#6717) 2023-04-18 22:18:22 -03:00
Lucas Fernandes Nogueira
3f17ee82f6 refactor(core): remove global shortcut APIs (#6737) 2023-04-18 14:57:51 -03:00
Lucas Fernandes Nogueira
db9c12c1ad refactor(runtime): remove clipboard APIs (#6735) 2023-04-18 09:11:27 -03:00
Lucas Fernandes Nogueira
8e46695b7e Revert "feat(core): expose runtime_handle on AppHandle (#6727)"
This reverts commit 276e4a3fdb.
2023-04-18 08:30:25 -03:00
Lucas Fernandes Nogueira
cebd75261a refactor(core): remove the clipboard APIs (#6728) 2023-04-17 15:35:12 -03:00
Lucas Fernandes Nogueira
276e4a3fdb feat(core): expose runtime_handle on AppHandle (#6727) 2023-04-17 13:49:09 -03:00
Lucas Fernandes Nogueira
e6e586ad75 chore(examples): update API example plugin usage (#6715) 2023-04-16 09:31:38 -03:00
Lucas Fernandes Nogueira
fc4d687ef0 refactor(core): move file system endpoints to its own plugin (#6716) 2023-04-16 09:20:58 -03:00
Lucas Fernandes Nogueira
22a7633816 feat(core): expose SafePathBuf (#6713) 2023-04-15 15:44:05 -03:00
Lucas Fernandes Nogueira
09376af594 refactor(core): remove cli feature (#6704) 2023-04-14 15:33:53 -03:00
Lucas Fernandes Nogueira
34b8f339a4 feat(core): add app method on PluginApi (#6705) 2023-04-14 15:33:41 -03:00
github-actions[bot]
06fdcc0edd (NEXT) Apply Version Updates From Current Changes (#6701)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-04-13 19:43:17 -03:00
Lucas Fernandes Nogueira
ee2d3b971d fix(cli): remove buildSrc from Android project gitignored paths (#6702) 2023-04-13 19:29:18 -03:00
Lucas Fernandes Nogueira
9de897919a fix(core): iOS plugin freezing when receiving a bool parameter (#6700) 2023-04-13 18:26:45 -03:00
Lucas Fernandes Nogueira
abc5f91fa3 fix(cli): iOS Xcode script using incorrect library path (#6699) 2023-04-13 18:26:32 -03:00
Lucas Fernandes Nogueira
57fa569161 fix(ci): send ref to publish CLI workflows (#6674) 2023-04-12 11:32:23 -03:00
github-actions[bot]
f3917e7ee8 (NEXT) Apply Version Updates From Current Changes (#6633)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-04-10 10:12:04 -03:00
Lucas Fernandes Nogueira
055e9b3997 chore(deps): update wry, closes #6658 (#6671) 2023-04-10 09:55:24 -03:00
Lucas Fernandes Nogueira
f436cf8609 refactor(core): remove PathExt trait, add path function to Manager (#6670) 2023-04-09 11:25:08 -03:00
Lucas Nogueira
a8153b9ff4 chore(cli): gitignore iOS Externals folder 2023-04-07 21:03:26 -03:00
Lucas Fernandes Nogueira
f0570d9fee feat(core): improve run_mobile_plugin error handling (#6655) 2023-04-07 17:08:25 -03:00
Lucas Fernandes Nogueira
be941b9719 feat(core): add path plugin, implement mobile APIs (#6339) 2023-04-07 12:48:14 -03:00
Vilian Gerdzhikov
1eacd51d18 overloaded the open function for convenient type inference (#5619)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-04-07 12:40:25 -03:00
Lucas Fernandes Nogueira
db4c9dc655 feat(core): add option to configure Android's minimum SDK version (#6651) 2023-04-07 11:21:42 -03:00
Amr Bashir
63f088e5fc feat(cli): add --release for android dev (#6638)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
closes #6594
2023-04-05 16:10:43 -03:00
Amr Bashir
d03e47d141 fix: only build specified rust targets for aab/apk build (#6625)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-04-05 15:14:14 -03:00
Lucas Fernandes Nogueira
052c5822b5 feat(core): implement Clone for PluginHandle (#6644) 2023-04-05 12:32:10 -03:00
Lucas Nogueira
d37808197d chore(cli): only create .tauri/plugins folder on Android 2023-04-04 15:52:48 -03:00
Lucas Nogueira
ec7d24b1ac chore(cli): update Android template gitignore files 2023-04-04 15:46:16 -03:00
Lucas Fernandes Nogueira
5288a386f1 fix(cli): readd Cargo.toml to the plugin template (#6637) 2023-04-04 15:11:47 -03:00
Lucas Fernandes Nogueira
5769ee6d29 fix(ci): use ubuntu-20.04 to build the CLI (#6632) 2023-04-04 10:58:09 -03:00
Amr Bashir
7fec0f083c fix(cli): use local ip addr for built-in server on mobile, closes #6454 (#6631)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
fix(cli): use local ip addr for built-in server on mobile, closes #6454
2023-04-04 09:59:29 -03:00
github-actions[bot]
29ee62342a (NEXT) Apply Version Updates From Current Changes (#6622)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-04-03 16:19:10 -03:00
Lucas Fernandes Nogueira
a813792786 fix(core): compilation issues without execute or sidecar features (#6621) 2023-04-03 16:10:03 -03:00
Si Yang
09d5dd520f style: warn(clippy::useless_format) (#6619) 2023-04-03 12:04:08 -03:00
Lucas Nogueira
f6c373e989 chore(cli): update lockfile 2023-04-03 12:03:30 -03:00
Lucas Nogueira
e9482430ff chore(changes): add changes for 1.3 release merge 2023-04-03 11:32:53 -03:00
github-actions[bot]
afc3237d0c (NEXT) Apply Version Updates From Current Changes (#6593)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-04-03 10:56:08 -03:00
Lucas Nogueira
f992e7f58b chore(changes): readd change file 2023-04-03 10:40:57 -03:00
Lucas Nogueira
f84fbe459f chore(cli): cherry pick #6603, fix webkit2gtk version 2023-04-03 10:01:59 -03:00
Lucas Nogueira
55900a2968 Merge branch 'dev' into next 2023-04-03 09:58:27 -03:00
Lucas Fernandes Nogueira
4c3b9ecfdc fix(build): iOS deployment target env var is IPHONEOS_DEPLOYMENT_TARGET (#6602) 2023-03-31 14:32:30 -03:00
filip
509d4678b1 Support sending raw byte data to the "data" event for child command's stdout and stderr (#5789)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-03-31 12:51:27 -03:00
Lucas Fernandes Nogueira
adf4627b73 fix(core): adjust ProGuard rules (#6588) 2023-03-31 10:03:50 -03:00
Lucas Nogueira
56fa900dbe fix(core): adjust TLS feature usage on dev 2023-03-30 12:09:02 -03:00
Lucas Fernandes Nogueira
cfdee00f2b refactor(core): fix tls features, use rustls on mobile (#6591) 2023-03-30 10:59:08 -03:00
Lucas Fernandes Nogueira
76668b3196 chore(cli): update dependencies (#6587) 2023-03-29 20:19:07 -03:00
github-actions[bot]
249db9e49b (NEXT) Apply Version Updates From Current Changes (#6586)
* apply version updates

* fix changelog

* typo

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-03-29 16:11:42 -03:00
Lucas Nogueira
6b469c40c6 chore(changes): adjust change file for Android script execution fix 2023-03-29 16:01:09 -03:00
github-actions[bot]
1c7e5cae10 Revert "apply version updates (#6582)"
This reverts commit 3ad7414a3e.
2023-03-29 15:59:29 -03:00
github-actions[bot]
3ad7414a3e apply version updates (#6582)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-03-29 15:56:38 -03:00
Amr Bashir
39df2c982e fix(cli/android): fallback to ${program}.cmd (#6576)
* fix(cli/android): fallback to `${program}.cmd`

* cleanup [skip ci]

* revert variable to tauri-binary [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-03-29 14:44:19 -03:00
Lucas Fernandes Nogueira
6e3e4c22be fix(cli): use correct variable on script to build Rust iOS code (#6581) 2023-03-29 11:35:18 -03:00
Lucas Fernandes Nogueira
332b3fc419 fix(cli): adjust jsonrpsee feature flags for CI (#6521) 2023-03-21 19:10:42 -03:00
github-actions[bot]
a031e4a8a0 apply version updates (#6518) 2023-03-21 14:42:18 -03:00
Lucas Fernandes Nogueira
00241fa92d fix(cli): append .cmd on the gradle plugin binary on Windows, fix #6502 (#6503) 2023-03-21 13:43:09 -03:00
Amr Bashir
c787f749de fix(cli): only add -- to generated android template for npm (#6508) 2023-03-21 13:42:37 -03:00
Amr Bashir
d5ac76b53c chore(deps): update napi-rs, closes #6502 (#6513) 2023-03-21 13:40:21 -03:00
Lucas Fernandes Nogueira
8a1b1281ac fix(ci): adjust publish cli.js workflow (#6500)
* fix(ci): enable openssl vendored feature for cli.js

* enable feature on CI

* add openssl dep

* avoid openssl on Linux

* vendored openssl on macOS CI

* fix dep install

* lint [skip ci]
2023-03-20 11:54:33 -03:00
Lucas Fernandes Nogueira
1a24e4cafd chore(deps): unpin dependencies from 1.59 MSRV (#6499) 2023-03-20 11:54:09 -03:00
Lucas Nogueira
9c324bae61 chore(examples): update tauri-plugin-log 2023-03-20 09:06:49 -03:00
Lucas Nogueira
46e2def0ee fix(ci): set tauri-build dependency version on tauri crate 2023-03-20 08:45:26 -03:00
github-actions[bot]
be12ad3a6f apply version updates (#6211)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-03-20 08:14:51 -03:00
Lucas Nogueira
bfd97a5802 Merge remote-tracking branch 'origin/dev' into next 2023-03-19 08:56:36 -03:00
Lucas Nogueira
31a205247a chore(examples): update tauri-plugin-log 2023-03-19 08:53:03 -03:00
Lucas Fernandes Nogueira
9c8276fe03 refactor(mobile): use shared .tauri folder to inject dependencies (#6495) 2023-03-19 08:51:01 -03:00
Lucas Nogueira
6669f1659a chore(cli): pin tauri-mobile to crates.io 0.2.5 2023-03-18 11:33:38 -03:00
Lucas Nogueira
02b8bfb989 chore(examples): update tauri-plugin-log 2023-03-18 11:32:26 -03:00
Lucas Fernandes Nogueira
56b528e481 refactor(build): change tauri-api dependency path to skip rebuilds (#6490)
* refactor(build): change tauri-api dependency path to skip rebuilds

The tauri-api Swift package cannot be injected inside the iOS plugin project because swift-rs reruns when the project folder changes. We will now inject the project in the parent folder instead.

* revert tauri-plugin-log [skip ci]
2023-03-18 11:31:11 -03:00
Lucas Nogueira
153b4627e5 chore(build): remove rerun-if-changed instruction for Swift package
Let's leave that to swift-rs
2023-03-18 10:59:38 -03:00
Lucas Fernandes Nogueira
6a8888dc85 refactor(ios): add macro to generate plugin glue fn, pass name parameter (#6489) 2023-03-18 10:57:05 -03:00
Lucas Nogueira
88838e2898 chore(deps): update swift-rs to 1.0.3, fixing iOS simulator support 2023-03-18 10:49:22 -03:00
Lucas Fernandes Nogueira
aefc5bcb08 chore(cli): remove unused dependencies (#6481) 2023-03-17 16:16:10 -03:00
Lucas Nogueira
5bc8322f7d chore(android): simplify PermissionState code 2023-03-17 15:25:22 -03:00
Lucas Nogueira
c88fdbca3a chore(android): remove deprecated AndroidManifest package id setter 2023-03-17 15:24:11 -03:00
Lucas Nogueira
a6fea4644e refactor(android): rename PluginMethod to Command 2023-03-17 15:20:39 -03:00
Lucas Fernandes Nogueira
22c09871c3 fix(ios): link clang_rt.ios to include isPlatformVersionAtLeast (#6476)
* fix(ios): link clang_rt.ios to include isPlatformVersionAtLeast

See https://github.com/alexcrichton/curl-rust/pull/283

* lint [skip ci]

* update swift-rs to 1.0.2
2023-03-17 13:07:39 -03:00
Lucas Nogueira
7765bbcba1 chore(ios): use semver on SwiftRs dependency instead of git revision 2023-03-17 10:56:45 -03:00
Lucas Fernandes Nogueira
ae296f3de1 refactor(tauri-runtime-wry): register runtime plugin after run() (#6478) 2023-03-17 10:28:28 -03:00
Lucas Fernandes Nogueira
30e94677b0 chore(deps): pin wry to 0.27 (#6477)
* chore(deps): pin wry to 0.27

* update index.js [skip ci]

* fmt
2023-03-17 09:23:11 -03:00
Lucas Fernandes Nogueira
dddaa943e7 refactor(core): remove attohttpc client, closes #6415 (#6468)
* refactor(core): remove attohttpc client, closes #6415

* lint [skip ci]
2023-03-17 09:09:13 -03:00
Amr Bashir
1798c5901d feat: use start detached for emulators (#6465) 2023-03-16 22:06:14 -03:00
amrbashir
2ec736721e chore: provide a helpful message when waiting for emulator 2023-03-16 15:00:28 +02:00
Lucas Nogueira
9c1029e11a chore(changes): remove changelog from 1.3 2023-03-16 09:56:46 -03:00
Lucas Nogueira
9639caf33f Merge remote-tracking branch 'origin/dev' into next 2023-03-16 09:51:07 -03:00
Lucas Nogueira
8241ef13e9 chore(examples): update tauri-plugin-log 2023-03-16 09:37:46 -03:00
Lucas Fernandes Nogueira
5d94eaa3bc feat(core): update swift-rs (#6355)
* feat(core): update swift-rs

* update tauri-plugin-log

* use env var for min iOS version

* test x86_64-apple-ios

* Revert "test x86_64-apple-ios"

This reverts commit 3ae6b79e5f.

* chore: swift min version 5.3 [skip ci]

* fix build [skip ci]

* fix cgrect usage

* test CI

* Revert "test CI"

This reverts commit 76ce0c5992.

* update swift-rs to 1.0.1

* lint

* lint [skip ci]
2023-03-16 09:34:41 -03:00
Bo
1b343bd116 fix(cli): use npm run tauri -- foo for correctly passing args to tauri (#6448)
* fix(cli): use `npm run tauri -- foo` for correctly pass args to tauri

* fix xcode-script current dir, GCC_PREPROCESSOR_DEFINITIONS optional

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-03-16 09:27:40 -03:00
Amr Bashir
4d09074454 feat(cli): add --force-ip-prompt (#6406)
* feat(cli): add `--force-ip-prompt`

* Restore tooling/cli/Cargo.lock

* Restore tooling/cli/Cargo.toml

* fix macos build
2023-03-16 09:04:09 -03:00
Amr Bashir
58d4709f7e fix: update nodejs detection in mobile commands (#6451)
* fix: update nodejs detection in mobile commands

* changefile
2023-03-16 07:53:12 -03:00
Lucas Nogueira
2b22f64972 fix(ios): correctly use lib-name field 2023-03-15 13:43:31 -03:00
Amr Bashir
d1752fb1f6 fix(cli): use correct lib name in xcode project (#6387) 2023-03-08 16:19:37 +01:00
Lucas Nogueira
8631eec038 chore(android): remove unused returnType field 2023-02-25 08:37:26 -03:00
Lucas Fernandes Nogueira
971ad7ae06 fix(cli): fix template and Xcode script to work when running with Xcode (#6350) 2023-02-24 10:22:59 -03:00
Lucas Nogueira
4eae21ffeb chore(examples): ignore changes on tauri-plugin-sample on dev watcher 2023-02-24 10:22:43 -03:00
Lucas Fernandes Nogueira
d11af5be8d fix(cli): adjust iOS project to work on simulator again (#6349) 2023-02-23 18:01:17 -03:00
Lucas Nogueira
c4cb609bcd chore(cli): update iOS template comments 2023-02-23 14:37:01 -03:00
Lucas Fernandes Nogueira
105fe3fa24 refactor(build): fill settings.gradle and build.gradle.kts on app build (#6342) 2023-02-22 13:57:19 -03:00
Lucas Fernandes Nogueira
1035a83187 feat(core): use camel case on mobile command name (#6340) 2023-02-22 13:55:04 -03:00
Lucas Fernandes Nogueira
9cd8735574 fix(core): properly handle command not found error (#6341) 2023-02-22 13:54:52 -03:00
Lucas Nogueira
ed879513d3 feat(templates): fill AndroidManifest.xml manifest.package field 2023-02-20 17:21:38 -03:00
Lucas Nogueira
12c947632d feat(plugin): add app getter on PluginHandle 2023-02-20 15:55:25 -03:00
Lucas Fernandes Nogueira
037d488dee feat(mobile): add command member to Invoke class (#6323) 2023-02-20 13:09:30 -03:00
Lucas Nogueira
6fca895695 fix(cli): create WRY_ANDROID_KOTLIN_FILES_OUT_DIR folder 2023-02-20 13:08:55 -03:00
Lucas Nogueira
3a8488ddb5 chore(cli): update tauri-mobile to 0.2.3 2023-02-19 19:21:53 -03:00
Lucas Nogueira
dc26cc839a feat(cli): update tauri-mobile to 0.2.2 2023-02-19 11:38:09 -03:00
Lucas Nogueira
1fd329935e Merge branch 'dev' into next 2023-02-19 11:34:02 -03:00
Lucas Fernandes Nogueira
60a8b07dc7 fix: handle single word bundle identifier when resolving Android domain (#6313) 2023-02-19 11:12:04 -03:00
Lucas Fernandes Nogueira
79eb054292 feat(cli): handle Android package identifier change (#6314) 2023-02-19 11:08:55 -03:00
Lucas Fernandes Nogueira
dffd8eb5a8 feat(android): add Plugin assetUrl function (#6299) 2023-02-17 12:44:28 -03:00
Lucas Fernandes Nogueira
897a1547a1 feat(cli): update plugin template including trait to access mobile APIs (#6293) 2023-02-17 12:12:05 -03:00
Lucas Nogueira
2b55f47c2c fix(cli): force Cargo build logs to show on ios build 2023-02-17 10:51:03 -03:00
Lucas Fernandes Nogueira
df5766ec2f refactor(plugin): simplify run_mobile_plugin return types (#6298) 2023-02-17 10:15:57 -03:00
Amr Bashir
4a82da2919 fix(cli): use local ip address for reload (#6285)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-02-16 14:59:56 -03:00
Lucas Nogueira
2dc71a4793 chore(android): remove unnecessary not-null assertion operator 2023-02-16 14:54:35 -03:00
Lucas Fernandes Nogueira
6aaba83476 refactor(plugin): add PluginApi and PluginHandle, expose on setup hook (#6291) 2023-02-16 13:33:50 -03:00
Amr Bashir
ec007ef0d0 feat: use local_ip() and fallback to prompt (#6290) 2023-02-16 13:00:49 -03:00
Lucas Fernandes Nogueira
14d03d426e refactor(cli): enhance plugin commands for mobile (#6289) 2023-02-16 12:24:49 -03:00
Lucas Nogueira
f5e272b0ef chore(android): remove unused code 2023-02-15 19:01:54 -03:00
Lucas Fernandes Nogueira
ea7fd016ca feat(ios): add Logger class (#6284) 2023-02-15 18:00:18 -03:00
Lucas Fernandes Nogueira
d42fd0710c feat(ios): expose UIViewController (#6281) 2023-02-15 11:42:47 -03:00
Lucas Fernandes Nogueira
1b75839701 fix(ios): properly access IPC data (#6280) 2023-02-15 10:56:04 -03:00
Lucas Fernandes Nogueira
bce87c1a67 feat(android): implement plugin permissions and startActivityForResult (#6272) 2023-02-14 21:36:44 -03:00
Lucas Fernandes Nogueira
b9c303a0dc fix(tauri-runtime-wry): tray event listener not registered (#6270) 2023-02-14 14:57:00 -03:00
Lucas Nogueira
5ab78fcafa feat(tauri-build): enhance mobile build script 2023-02-14 14:38:01 -03:00
Lucas Nogueira
aeade94d5e fix(tauri-runtime-wry): re-export wry
Regression from the latest merge from dev
2023-02-14 14:37:50 -03:00
Lucas Nogueira
3d5cc7ab86 Merge remote-tracking branch 'origin/dev' into next 2023-02-14 10:58:46 -03:00
Lucas Fernandes Nogueira
947eb391ca fix(android): crash on orientation change due to activity recreation (#6261) 2023-02-13 20:20:52 -03:00
Lucas Fernandes Nogueira
65e487f344 fix(cli): adjust plugin template to use correct package name (#6258) 2023-02-13 10:54:48 -03:00
Lucas Fernandes Nogueira
bef4ef51bc feat(android): enable minify on release, add proguard rules (#6257) 2023-02-13 10:22:03 -03:00
Lucas Fernandes Nogueira
7258a64730 fix(android): force build script to rerun project injection on dir clear (#6249) 2023-02-13 09:50:29 -03:00
Lucas Fernandes Nogueira
677554257e feat(cli): add --ios-color option to set iOS icon background color (#6247) 2023-02-12 15:29:43 -03:00
Lucas Fernandes Nogueira
96b5e92169 refactor(core): inject API project on plugin's Android and iOS projects (#6246) 2023-02-12 15:29:34 -03:00
Lucas Nogueira
0b51e2f657 chore(ci): rename test-mobile workflow to test-android, fix paths 2023-02-12 14:11:59 -03:00
Lucas Fernandes Nogueira
98867a9680 feat(build): use swift workspace to resolve tauri dep path (#6243) 2023-02-12 10:04:14 -03:00
Lucas Fernandes Nogueira
bfb2ab24e0 feat: add API to call iOS plugin (#6242) 2023-02-11 19:45:51 -03:00
Lucas Fernandes Nogueira
05dad08768 feat: initial work for iOS plugins (#6205) 2023-02-11 10:30:44 -03:00
Lucas Nogueira
f379e2f3da chore: remove unused code 2023-02-10 17:46:53 -03:00
Lucas Fernandes Nogueira
f28a181039 refactor: move Android project to the tauri crate (#6241) 2023-02-10 17:43:50 -03:00
Lucas Fernandes Nogueira
9feab904bf feat(core): add API to call Android plugin (#6239) 2023-02-10 16:32:01 -03:00
Lucas Fernandes Nogueira
62f1526592 fix(cli): generate build script using NPM runner if it was used (#6233) 2023-02-10 08:31:13 -03:00
Lucas Fernandes Nogueira
6f8ba2850e feat(ci): improve test-mobile.yml run conditions (#6231) 2023-02-10 08:16:21 -03:00
Lucas Fernandes Nogueira
cab4ff95b9 fix(cli): ignore the gen folder on the dev watcher (#6232) 2023-02-09 14:50:33 -03:00
Lucas Fernandes Nogueira
da57e7c087 fix(cli): use Target::build to run initial Android build (#6220) 2023-02-09 14:50:23 -03:00
Lucas Fernandes Nogueira
78176edf4a fix: keep build artifacts on Android lib and plugins (#6229) 2023-02-09 13:11:31 -03:00
Lucas Fernandes Nogueira
f2da21c7b4 refactor(cli): use environment variables instead of .config/cargo (#6230) 2023-02-09 13:11:02 -03:00
Lucas Fernandes Nogueira
894a8d060c refactor(cli): use temp file to communicate IPC websocket address (#6219) 2023-02-08 23:19:34 -03:00
Lucas Fernandes Nogueira
481d9de739 refactor(android): use tauri.settings.gradle and tauri.build.gradle.kts to define tauri plugins (#6217) 2023-02-08 12:52:53 -03:00
Amr Bashir
a81750d779 feat(core): add shadow APIs (#6206)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-02-07 19:38:10 -03:00
Lucas Fernandes Nogueira
17f26764c8 feat: initial work for Android plugins (#6167) 2023-02-06 08:56:00 -03:00
Lucas Fernandes Nogueira
84998532d6 fix(ci): use vendored openSSL on the CLI (#6191) 2023-02-03 13:19:49 -03:00
Lucas Nogueira
7500a0e23a chore(ci): use jbolda/covector again
The patches we needed have been released!
2023-02-02 18:22:34 -03:00
github-actions[bot]
0111b88d75 (NEXT) Apply Version Updates From Current Changes (#5924)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-02-02 17:55:23 -03:00
Ngo Iok Ui (Wu Yu Wei)
f0a1d9cdbc chore: update rfd and wry versions (#6174)
Co-authored-by: Wu Yu Wei <wusyong9104@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-02-02 16:44:57 -03:00
Lucas Nogueira
553a81f48c feat(examples): add tauri-plugin-log to API example 2023-01-30 12:04:42 -03:00
Ngo Iok Ui (Wu Yu Wei)
7eb9aa75cf Update gtk to 0.16 (#6155)
Co-authored-by: Wu Yu Wei <wusyong9104@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-01-29 15:08:27 -03:00
Lucas Nogueira
8835633955 fix(cli): do not prompt for device when --open is provided 2023-01-26 12:33:52 -03:00
Lucas Fernandes Nogueira
1af9be904a feat(cli): properly fill target for TAURI_ env vars on mobile (#6116) 2023-01-23 18:26:13 -03:00
Lucas Fernandes Nogueira
78eaadae2e refactor(core): only proxy on mobile (#6126)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-01-23 18:25:25 -03:00
Lucas Nogueira
8cc111494d fix(cli): print Android logs for all tags 2023-01-17 19:27:23 -03:00
Lucas Fernandes Nogueira
630a7f4b18 refactor: remove mobile log initialization, ref #6049 (#6081) 2023-01-17 13:13:53 -03:00
Lucas Nogueira
276a0362de chore(deps): update wry 2023-01-17 12:42:27 -03:00
Simon Hyll
c36d451bcd fix: removed greet from template (#6066)
* fix: removed greet from template

* fix: removed the entire line instead as per request
2023-01-16 17:35:23 +02:00
Amr Bashir
50f6dd87b1 feat: improvements to support hyphens in crate name (#5989)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-01-06 14:31:48 -03:00
Lucas Fernandes Nogueira
2c4a0bbd1f feat(cli): force colored logs on mobile commands (#5934) 2022-12-28 17:58:14 -03:00
Lucas Fernandes Nogueira
17d80ab236 feat(cli): improve error message when lib is not found, closes #5867 (#5933) 2022-12-28 15:02:07 -03:00
Lucas Fernandes Nogueira
e873bae09f fix(cli): Cargo target dir detection on Android, closes #5865 (#5932) 2022-12-28 14:46:58 -03:00
Lucas Fernandes Nogueira
dee9460f9c feat: keep CLI alive when iOS app exits, show logs, closes #5855 (#5902) 2022-12-27 18:12:01 -03:00
Jonas Kruckenberg
ced8e9a7be docs: iOS config is under the bundlekey (#5856) 2022-12-27 10:41:23 -03:00
github-actions[bot]
7945e549b7 (NEXT) Apply Version Updates From Current Changes (#5892)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2022-12-22 11:42:10 -03:00
Lucas Nogueira
6999cdf99e chore(ci): update covector 2022-12-22 11:38:44 -03:00
Amr Bashir
9ad0a9a0aa Merge pull request from GHSA-6mv3-wm7j-h4w5
* fix(core): use `require_literal_separator` when matching paths

* document the need for `require_literal_separator`

* use `require_literal_leading_dot`
2022-12-22 11:37:58 -03:00
Lucas Nogueira
0189c1dbef chore: remove println statement 2022-12-19 11:13:30 -03:00
github-actions[bot]
61af5ce1ed (NEXT) Apply Version Updates From Current Changes (#5814)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2022-12-15 18:32:12 -03:00
Lucas Nogueira
d21c4a0a89 chore: fix clippy warnings 2022-12-15 17:56:23 -03:00
Lucas Nogueira
d600405a10 chore(deps): bump wry to 0.23.4 2022-12-15 17:21:27 -03:00
Lucas Nogueira
8301d17ab8 chore: use covector branch that sets the target_commitish release field 2022-12-15 17:14:17 -03:00
Lucas Nogueira
fc33c4218c fix(ci): use client-payload input to trigger cli.js publish workflow 2022-12-14 12:18:20 -03:00
Lucas Fernandes Nogueira
3ad5e72ff1 feat(core): cache dev server proxy responses for 304 status code (#5818) 2022-12-12 23:00:03 -03:00
Lucas Fernandes Nogueira
76204b8938 feat(cli): improve local IP detection (#5817) 2022-12-12 22:59:51 -03:00
Lucas Fernandes Nogueira
a9b4cf20a3 fix(core): use entire request URL on dev server proxy (#5819) 2022-12-12 22:59:39 -03:00
Lucas Nogueira
8f47825aac chore: remove unused imports on mobile builds 2022-12-12 15:14:04 -03:00
Lucas Fernandes Nogueira
1e4a675843 fix(cli): run on iOS device on Xcode 14 (#5807) 2022-12-12 10:36:47 -03:00
三咲智子 Kevin Deng
2620ab294d fix(cli): ios build description (#5809) 2022-12-12 09:41:26 -03:00
Lucas Fernandes Nogueira
be446a8665 fix(cli): use vendored openSSL (#5805) 2022-12-10 11:37:16 -03:00
Lucas Nogueira
dd65bc99b2 chore(ci): remove integration tests 2022-12-09 15:17:14 -03:00
Lucas Nogueira
1d20db7410 chore: update bundle.global.js 2022-12-09 15:11:15 -03:00
github-actions[bot]
25416a64ba (NEXT) Apply Version Updates From Current Changes (#5787)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-12-09 14:27:41 -03:00
Lucas Nogueira
35040076ea feat(ci): publish cli.js with --tag next 2022-12-09 10:11:41 -03:00
Lucas Fernandes Nogueira
fa3a10988a feat(ci): prepare 2.0.0-alpha.0 (#5786) 2022-12-08 16:28:12 -03:00
Lucas Nogueira
1092865e67 Merge branch 'dev' into next 2022-12-08 14:19:44 -03:00
Lucas Nogueira
aa18c7d671 chore(cli): pin tauri-mobile to v0.1.0 2022-12-07 15:53:41 -03:00
Lucas Nogueira
02706c92f6 chore(cli): force iOS cargo build stdout 2022-12-06 14:04:30 -03:00
Lucas Nogueira
1172783506 fix(cli): update cargo-mobile fixing adb pidof check 2022-12-06 09:58:59 -03:00
Lucas Nogueira
b874d139f9 fix(cli): emulator.start called twice 2022-12-06 09:50:37 -03:00
Lucas Nogueira
c1cd0f5253 chore(deps): rename cargo-mobile to tauri-mobile 2022-12-06 09:19:04 -03:00
Lucas Nogueira
626faf9ec1 chore(examples): move API dev server config from CLI to vite.config.js 2022-12-03 10:20:04 -03:00
Lucas Nogueira
5024f7905c chore(cli): update cargo-mobile including logcat improvement 2022-11-30 12:48:24 -03:00
Lucas Nogueira
ad65b95070 refactor(core): move local ip address resolve to CLI 2022-11-30 11:53:17 -03:00
Lucas Nogueira
debe73ab0e fix(core): remove window setters command handlers on mobile 2022-11-30 11:45:22 -03:00
Lucas Fernandes Nogueira
fa6d10e39c refactor(core): remove window APIs on mobile (#5713) 2022-11-30 10:30:25 -03:00
Lucas Nogueira
e938c3dff5 feat(core): map 304 status code to 200 on dev proxy
Fixes an Android issue when reloading Vite pages
2022-11-30 10:00:44 -03:00
Lucas Nogueira
eca131dfbb feat(cli): show all Android error logs 2022-11-30 09:59:52 -03:00
Lucas Fernandes Nogueira
4a72d5e0ca feat(cli): replace $HOST variable on beforeDevCommand - public IP usage (#5709) 2022-11-28 08:53:26 -03:00
Lucas Fernandes Nogueira
d38204907e feat(cli): run local dev server on public IP on mobile development (#5705) 2022-11-28 08:30:48 -03:00
Lucas Fernandes Nogueira
87e47ce1dc feat(core): proxy request headers, simplify response headers (#5704) 2022-11-28 08:27:02 -03:00
Lucas Fernandes Nogueira
d33fcbc81c feat(cli): generate icons for iOS (#5667) 2022-11-22 11:18:56 -03:00
Lucas Fernandes Nogueira
c1f31ebe5e feat(cli): generate icons for Android (#5665) 2022-11-21 17:56:22 -03:00
Lucas Fernandes Nogueira
8baf20dd34 feat(cli): update Android project dependencies (#5663) 2022-11-21 12:50:41 -03:00
Lucas Fernandes Nogueira
be808a9f5c feat(ci): add Android test workflow (#5661) 2022-11-21 11:47:12 -03:00
Lucas Fernandes Nogueira
6dcb7fbb81 fix(core): manage mobile logs, fix Android logcat filtering (#5659) 2022-11-20 10:55:38 -03:00
Lucas Fernandes Nogueira
f6f9192aa5 fix(core): Android compilation on Windows (#5658) 2022-11-20 09:49:23 -03:00
Lucas Fernandes Nogueira
03d6c6a68f refactor(cli): use jsonrpsee for mobile CLI options communication (#5657) 2022-11-20 09:48:02 -03:00
Lucas Nogueira
538e21e2e7 fix(cli): iOS development team is required on init 2022-11-19 14:25:23 -03:00
Lucas Fernandes Nogueira
658bb1165e feat(cli): automatically enable native-tls-vendored feature on mobile (#5651) 2022-11-18 13:10:20 -03:00
Lucas Nogueira
634c6b832c feat(cli): update cargo-mobile including Android env var cleanup 2022-11-14 19:59:46 -03:00
Lucas Fernandes Nogueira
8c576222ba feat(cli): find development teams for iOS development (#5627) 2022-11-14 18:31:51 -03:00
Lucas Nogueira
169d2434ff Merge remote-tracking branch 'origin/dev' into next 2022-11-11 11:46:15 -03:00
Lucas Nogueira
f9b529a96e feat(cli): update project.yml syntax 2022-11-11 11:43:25 -03:00
Lucas Nogueira
7c26514340 fix(cli): kill beforeDevCommand process when mobile fails to compile 2022-11-11 11:41:20 -03:00
Lucas Nogueira
69414a487f chore(cli): lint 2022-11-09 11:50:41 -03:00
Lucas Nogueira
602d3ed3f6 Merge branch 'dev' into next 2022-11-09 11:04:54 -03:00
Lucas Nogueira
348b26ffed fix(ci): minimum rustc is now 1.59 2022-10-31 13:27:22 -03:00
Lucas Nogueira
d0ad0d2f48 Merge remote-tracking branch 'origin/dev' into next 2022-10-31 10:13:57 -03:00
Amr Bashir
10ab3e2f5e feat(cli/mobile): allow checking gen folder into source control (#5146)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-09-12 16:46:09 -03:00
Jeffrey Hutchins
8ea87e9c9c feat(android): with_webview access for jni execution (#5148) 2022-09-08 10:57:10 -03:00
Amr Bashir
c9ad2a73af fix(cli/mobile): use one write_all call (#5155)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-09-07 12:05:11 -03:00
Lucas Fernandes Nogueira
bc1622c5ab feat(core): use native window dialogs on Android (#5137) 2022-09-05 16:16:59 -03:00
Lucas Nogueira
e1b8ee2b7a refactor(cli): move generated Kotlin files to the generated folder 2022-09-04 22:06:56 -03:00
Lucas Nogueira
f333656876 fix(core): set response mimetype on dev 2022-09-04 14:16:52 -03:00
Lucas Nogueira
4c1c78ebf0 chore(cli): update lockfile 2022-09-04 13:49:49 -03:00
Lucas Nogueira
610aab7045 Merge branch 'dev' into next 2022-09-04 13:45:59 -03:00
Amr Bashir
30d0e190bb fix(cli/templates): fix desktop entrypoint template (#5127) 2022-09-02 12:21:15 -03:00
Amr Bashir
5643ece77c fix(cli/mobile): strip \n before parsing json (#5126) 2022-09-02 10:30:42 -03:00
Lucas Nogueira
aae91a9b53 refactor(tauri-codegen): panic if local IP address cannot be resolved 2022-09-01 16:58:41 -03:00
Lucas Nogueira
349895b296 refactor(cli): remove mobile assets folder symlink 2022-09-01 12:25:08 -03:00
Lucas Nogueira
5d82357166 feat(cli): add --reinstall-deps option to ios init 2022-09-01 12:07:06 -03:00
Lucas Fernandes Nogueira
8f3a9c5cf6 feat(cli): improve device/simulator prompt logic (#5114) 2022-09-01 12:00:17 -03:00
Lucas Fernandes Nogueira
6593f267b3 feat(cli): iOS simulator support on Intel based devices (#5112) 2022-08-31 21:40:51 -03:00
Lucas Nogueira
5d3242c496 fix(examples): keep the target fallback 2022-08-31 20:53:21 -03:00
Lucas Fernandes Nogueira
68e80ffaa9 feat(cli): add option to run on specific iOS simulator/device (#5098) 2022-08-30 16:09:06 -03:00
Lucas Nogueira
9f9e3ae54d fix: improve target check on context codegen 2022-08-30 13:22:26 -03:00
Lucas Fernandes Nogueira
82e8751ae8 feat(cli): add option to run on specific Android emulator/device (#5093) 2022-08-30 10:27:53 -03:00
Lucas Fernandes Nogueira
e22d21beaf fix(cli): add timeout on interprocess communication (#5090) 2022-08-29 14:46:37 -03:00
Lucas Fernandes Nogueira
b36ccb7e99 feat(ci): test mobile targets (#5078) 2022-08-28 23:02:32 -03:00
Lucas Nogueira
65e7085d2f fix(ci): checkout repo in udeps.yml 2022-08-28 17:57:36 -03:00
Lucas Nogueira
c4d323b70f fix(ci): set target on test-core.yml 2022-08-28 17:57:31 -03:00
Lucas Nogueira
914c5f299f Merge remote-tracking branch 'origin/dev' into next 2022-08-28 16:27:01 -03:00
Lucas Fernandes Nogueira
1d9226b28c refactor:move iOS configuration to the bundle object (#5072) 2022-08-28 15:34:41 -03:00
Lucas Fernandes Nogueira
8cf9af93eb refactor(cli): remove mobile Error enum, use anyhow instead (#5076) 2022-08-28 15:32:50 -03:00
Jeffrey Hutchins
0a203a13ae fix(cli): config issues on macos (#5075)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-08-28 14:48:15 -03:00
Lucas Fernandes Nogueira
dee19784f9 fix(cli): only require development team when running iOS commands (#5071) 2022-08-27 16:35:57 -03:00
Lucas Fernandes Nogueira
53a3398beb feat(cli): improve DX on android dev and ios dev commands (#5059) 2022-08-26 16:08:44 -03:00
Lucas Fernandes Nogueira
69aaff5507 feat(cli): persist verbosity for the IDE scripts (#5047) 2022-08-26 09:24:23 -03:00
Lucas Fernandes Nogueira
80a301ea63 feat(cli): add mobile support to the app template (#5046) 2022-08-25 16:43:29 -03:00
Lucas Fernandes Nogueira
badad2b9a1 feat(cli): implement verbosity on mobile commands (#5044) 2022-08-25 16:06:00 -03:00
Lucas Fernandes Nogueira
927ccc465d refactor(cli): improve security of android dev/build (#5043) 2022-08-25 15:30:05 -03:00
Lucas Fernandes Nogueira
4a5f2ec1ae feat(android): enable dev HMR in both HTTP and HTTPS dev servers (#5033) 2022-08-25 00:19:47 -03:00
Lucas Fernandes Nogueira
752ad3b203 feat(cli): use templates from wry (#5030) 2022-08-24 16:06:14 -03:00
Lucas Fernandes Nogueira
ff4cb56b2e fix(tauri-macros): escape _ in mobile entry point's app name (#5029) 2022-08-24 14:02:08 -03:00
Lucas Fernandes Nogueira
641d56dcb3 feat(android): improve initialization scripts (#5028) 2022-08-24 13:06:45 -03:00
Lucas Fernandes Nogueira
0500d3b4b1 fix(core): mobile app name must match the crate name (#5027) 2022-08-24 12:41:57 -03:00
Amr Bashir
1f84385e8a chore: update cargo-mobile to latest (#5025)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-08-24 10:01:32 -03:00
Lucas Fernandes Nogueira
3668a1fdc8 fix(cli): resolve absolute tauri binary path for the android template (#5015) 2022-08-23 13:54:41 -03:00
Amr Bashir
2b846f413c feat(examples/api): use strict port (#5013) 2022-08-23 12:40:02 -03:00
Amr Bashir
4e26b05d20 fix(cli/template/android): use raw string for executable (#5012) 2022-08-23 12:39:26 -03:00
Lucas Nogueira
a70f7b26bc feat(cli): improve error messages in mobile commands 2022-08-23 11:34:16 -03:00
Lucas Fernandes Nogueira
e56a9dd729 refactor(cli): move mobile commands to their own module (#5005) 2022-08-22 21:59:17 -03:00
Lucas Fernandes Nogueira
403859d47e feat(cli): add ios build command (#5002) 2022-08-22 17:47:52 -03:00
Lucas Fernandes Nogueira
4c9ea450c3 feat(cli): add android build command (#4999) 2022-08-22 12:49:58 -03:00
Lucas Fernandes Nogueira
b3a3afc7de feat(core): detect android and ios platform configuration files (#4997) 2022-08-22 10:48:06 -03:00
Lucas Nogueira
3d992a8899 Merge branch 'dev' into next 2022-08-21 17:48:56 -03:00
Lucas Fernandes Nogueira
9bb81bc328 refactor(android): rename BuildTask.kt command to android-studio-script (#4991) 2022-08-21 17:48:38 -03:00
Lucas Fernandes Nogueira
9890486321 feat(core): add mobile_entry_point macro (#4983) 2022-08-21 10:35:34 -03:00
Lucas Nogueira
16360aed33 chore(cli): update cargo-mobile to fix cli.js mobile script running 2022-08-21 10:35:11 -03:00
Lucas Fernandes Nogueira
e55d96acc1 feat(cli): enhance iOS build task arguments (#4987) 2022-08-21 10:34:38 -03:00
Lucas Fernandes Nogueira
8aad710064 feat(cli): enhance android build task arguments (#4986) 2022-08-21 09:58:27 -03:00
Lucas Fernandes Nogueira
6f0615044d feat(cli): add android dev and ios dev commands (#4982) 2022-08-20 16:53:07 -03:00
Lucas Nogueira
f445f374a3 feat(android): update project dependencies 2022-08-18 11:31:07 -03:00
Lucas Nogueira
a3680ef2bc feat(cli): skip dev tools installation on mobile init 2022-08-17 16:40:04 -03:00
Lucas Nogueira
e20145cccc fix(examples): change API example domain, export mobile mod 2022-08-16 11:48:01 -03:00
Lucas Nogueira
c2b120be51 Merge branch 'dev' into next 2022-08-16 10:13:55 -03:00
Lucas Fernandes Nogueira
3f655d6280 refactor: pull mobile config from tauri config instead of mobile.toml (#4948) 2022-08-16 09:44:55 -03:00
Lucas Fernandes Nogueira
a9c8e565c6 feat: add android open and ios open commands (#4946) 2022-08-15 13:38:17 -03:00
Lucas Nogueira
a9f8ac7f96 fix(examples): set API lib crate-type 2022-08-15 13:24:26 -03:00
Lucas Fernandes Nogueira
d44f67f7af feat: add android init and ios init commands (#4942) 2022-08-15 12:43:50 -03:00
Lucas Nogueira
d3179b84b5 chore(examples): readd gitignore rules for mobile api example 2022-08-14 20:54:14 -03:00
Lucas Nogueira
4c9c64c429 Merge branch 'dev' into next 2022-08-14 18:40:06 -03:00
Lucas Nogueira
d14322de68 chore(deps): update to wry 0.20.2 refactor 2022-08-14 17:52:20 -03:00
Lucas Nogueira
899f9b917a Merge remote-tracking branch 'origin/dev' into next 2022-08-12 20:34:51 -03:00
Lucas Nogueira
11d50e8474 Merge remote-tracking branch 'origin/dev' into next 2022-08-12 20:09:23 -03:00
Lucas Nogueira
6aee91a181 feat(core): prepare for Android 2022-08-12 14:11:14 -03:00
Lucas Fernandes Nogueira
b4622ea4d3 refactor(app): run setup and window creation when event loop is ready (#4914) 2022-08-11 10:30:55 -03:00
1334 changed files with 136371 additions and 107200 deletions

9
.cargo/audit.toml Normal file
View File

@@ -0,0 +1,9 @@
[advisories]
ignore = [
# rsa Marvin Attack
"RUSTSEC-2023-0071",
# difference is unmaintained
"RUSTSEC-2020-0095",
# proc-macro-error is unmaintained
"RUSTSEC-2024-0370",
]

View File

@@ -1,2 +0,0 @@
[env]
__TAURI_WORKSPACE__ = "true"

4
.cargo/config.toml Normal file
View File

@@ -0,0 +1,4 @@
[env]
# workaround needed to prevent `STATUS_ENTRYPOINT_NOT_FOUND` error in tests
# see https://github.com/tauri-apps/tauri/pull/4383#issuecomment-1212221864
__TAURI_WORKSPACE__ = "true"

View File

@@ -10,8 +10,8 @@ Use the following format:
```md
---
'package-a': patch
'package-b': patch
'package-a': 'patch:enhance'
'package-b': 'patch:enhance'
---
Change summary goes here
@@ -33,7 +33,7 @@ Additionally you could specify a tag for the change file to group it with other
```md
---
'package-a': patch:bug
'package-a': 'patch:enhance'
---
Change summary goes here

View File

@@ -13,24 +13,26 @@
"defaultChangeTag": "changes",
"pkgManagers": {
"rust": {
"errorOnVersionRange": "^2.0.0-0",
"version": true,
"getPublishedVersion": "node ../../.scripts/covector/package-latest-version.js cargo ${ pkgFile.pkg.package.name } ${ pkgFile.pkg.package.version }",
"getPublishedVersion": {
"use": "fetch:check",
"options": {
"url": "https://crates.io/api/v1/crates/${ pkg.pkgFile.pkg.package.name }/${ pkg.pkgFile.version }"
}
},
"prepublish": [
"sudo apt-get update",
"sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev",
"cargo install cargo-audit --features=fix",
{
"command": "echo '<details>\n<summary><em><h4>Cargo Audit</h4></em></summary>\n\n```'",
"dryRunCommand": true,
"pipe": true
},
{
"command": "cargo generate-lockfile",
"dryRunCommand": true,
"runFromRoot": true,
"pipe": true
},
{
"command": "echo '<details>\n<summary><em><h4>Cargo Audit</h4></em></summary>\n\n```'",
"dryRunCommand": true,
"pipe": true
},
{
"command": "cargo audit ${ process.env.CARGO_AUDIT_OPTIONS || '' }",
"dryRunCommand": true,
@@ -44,11 +46,6 @@
}
],
"publish": [
"sleep 15s",
{
"command": "cargo package --no-verify",
"dryRunCommand": true
},
{
"command": "echo '<details>\n<summary><em><h4>Cargo Publish</h4></em></summary>\n\n```'",
"dryRunCommand": true,
@@ -65,34 +62,34 @@
"pipe": true
}
],
"postpublish": [
"git tag ${ pkg.pkg }-v${ pkgFile.versionMajor } -f",
"git tag ${ pkg.pkg }-v${ pkgFile.versionMajor }.${ pkgFile.versionMinor } -f",
"git push --tags -f"
],
"assets": [
{
"path": "${ pkg.path }/target/package/${ pkg.pkg }-${ pkgFile.version }.crate",
"name": "${ pkg.pkg }-${ pkgFile.version }.crate"
}
]
"postpublish": {
"use": "fetch:check",
"options": {
"url": "https://crates.io/api/v1/crates/${ pkg.pkgFile.pkg.package.name }/${ pkg.pkgFile.version }"
},
"retries": [5000, 5000, 5000]
}
},
"javascript": {
"errorOnVersionRange": "^2.0.0-0",
"version": true,
"getPublishedVersion": "node ../../.scripts/covector/package-latest-version.js npm ${ pkgFile.pkg.name } ${ pkgFile.pkg.version }",
"getPublishedVersion": {
"use": "fetch:check",
"options": {
"url": "https://registry.npmjs.com/${ pkg.pkgFile.pkg.name }/${ pkg.pkgFile.version }"
}
},
"prepublish": [
{
"command": "yarn",
"dryRunCommand": true
},
{
"command": "echo '<details>\n<summary><em><h4>Yarn Audit</h4></em></summary>\n\n```'",
"command": "echo '<details>\n<summary><em><h4>PNPM Audit</h4></em></summary>\n\n```'",
"dryRunCommand": true,
"pipe": true
},
{
"command": "yarn audit",
"command": "pnpm i --frozen-lockfile",
"dryRunCommand": true
},
{
"command": "pnpm audit",
"dryRunCommand": true,
"runFromRoot": true,
"pipe": true
@@ -101,22 +98,17 @@
"command": "echo '```\n\n</details>\n'",
"dryRunCommand": true,
"pipe": true
},
{
"command": "npm pack",
"dryRunCommand": true
}
],
"publish": [
"sleep 15s",
{
"command": "echo '<details>\n<summary><em><h4>Yarn Publish</h4></em></summary>\n\n```'",
"command": "echo '<details>\n<summary><em><h4>PNPM Publish</h4></em></summary>\n\n```'",
"dryRunCommand": true,
"pipe": true
},
{
"command": "yarn publish --access public --loglevel silly",
"dryRunCommand": "npm publish --dry-run --access public",
"command": "pnpm publish --access public --loglevel silly --no-git-checks",
"dryRunCommand": "npm publish --dry-run --access public --no-git-checks",
"pipe": true
},
{
@@ -125,57 +117,27 @@
"pipe": true
}
],
"postpublish": [
"git tag ${ pkg.pkg }-v${ pkgFile.versionMajor } -f",
"git tag ${ pkg.pkg }-v${ pkgFile.versionMajor }.${ pkgFile.versionMinor } -f",
"git push --tags -f"
]
"postpublish": {
"use": "fetch:check",
"options": {
"url": "https://registry.npmjs.com/${ pkg.pkgFile.pkg.name }/${ pkg.pkgFile.version }"
},
"retries": [5000, 5000, 5000]
}
}
},
"packages": {
"@tauri-apps/api": {
"path": "./tooling/api",
"path": "./packages/api",
"manager": "javascript",
"assets": [
{
"path": "./tooling/api/dist/tauri-apps-api-${ pkgFile.version }.tgz",
"name": "tauri-apps-api-${ pkgFile.version }.tgz"
}
],
"prepublish": [
{
"command": "yarn",
"dryRunCommand": true
},
{
"command": "echo '<details>\n<summary><em><h4>Yarn Audit</h4></em></summary>\n\n```'",
"dryRunCommand": true,
"pipe": true
},
{
"command": "yarn audit",
"dryRunCommand": true,
"runFromRoot": true,
"pipe": true
},
{
"command": "echo '```\n\n</details>\n'",
"dryRunCommand": true,
"pipe": true
},
{
"command": "yarn npm-pack",
"dryRunCommand": true
}
],
"publish": [
{
"command": "echo '<details>\n<summary><em><h4>Yarn Publish</h4></em></summary>\n\n```'",
"command": "echo '<details>\n<summary><em><h4>PNPM Publish</h4></em></summary>\n\n```'",
"dryRunCommand": true,
"pipe": true
},
{
"command": "yarn npm-publish",
"command": "pnpm npm-publish",
"dryRunCommand": true,
"pipe": true
},
@@ -187,92 +149,82 @@
]
},
"tauri-utils": {
"path": "./core/tauri-utils",
"path": "./crates/tauri-utils",
"manager": "rust"
},
"tauri-macos-sign": {
"path": "./crates/tauri-macos-sign",
"manager": "rust"
},
"tauri-bundler": {
"path": "./tooling/bundler",
"path": "./crates/tauri-bundler",
"manager": "rust",
"dependencies": ["tauri-utils"]
"dependencies": ["tauri-utils", "tauri-macos-sign"]
},
"tauri-runtime": {
"path": "./core/tauri-runtime",
"path": "./crates/tauri-runtime",
"manager": "rust",
"dependencies": ["tauri-utils"]
},
"tauri-runtime-wry": {
"path": "./core/tauri-runtime-wry",
"path": "./crates/tauri-runtime-wry",
"manager": "rust",
"dependencies": ["tauri-utils", "tauri-runtime"]
},
"tauri-codegen": {
"path": "./core/tauri-codegen",
"path": "./crates/tauri-codegen",
"manager": "rust",
"dependencies": ["tauri-utils"]
},
"tauri-macros": {
"path": "./core/tauri-macros",
"path": "./crates/tauri-macros",
"manager": "rust",
"dependencies": ["tauri-codegen", "tauri-utils"]
},
"tauri-plugin": {
"path": "./crates/tauri-plugin",
"manager": "rust",
"dependencies": ["tauri-utils"],
"postversion": "node ../../.scripts/ci/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }"
},
"tauri-build": {
"path": "./core/tauri-build",
"path": "./crates/tauri-build",
"manager": "rust",
"dependencies": ["tauri-codegen", "tauri-utils"],
"postversion": [
"node ../../.scripts/covector/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }",
"cargo build --manifest-path ../tauri-config-schema/Cargo.toml"
],
"assets": [
{
"path": "./tooling/cli/schema.json",
"name": "schema.json"
}
]
"postversion": "node ../../.scripts/ci/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }"
},
"tauri": {
"path": "./core/tauri",
"path": "./crates/tauri",
"manager": "rust",
"dependencies": [
"tauri-macros",
"tauri-utils",
"tauri-runtime",
"tauri-runtime-wry"
"tauri-runtime-wry",
"tauri-build"
],
"postversion": "node ../../.scripts/covector/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }"
"postversion": [
"node ../../.scripts/ci/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }",
"cargo build --manifest-path ../tauri-schema-generator/Cargo.toml"
]
},
"@tauri-apps/cli": {
"path": "./tooling/cli/node",
"path": "./packages/cli",
"manager": "javascript",
"getPublishedVersion": "node ../../../.scripts/covector/package-latest-version.js npm ${ pkgFile.pkg.name } ${ pkgFile.pkg.version }",
"dependencies": ["tauri-cli"],
"postversion": [
"node ../../../.scripts/covector/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }",
"cargo build --manifest-path ../../../core/tauri-config-schema/Cargo.toml"
],
"postversion": "node ../../.scripts/ci/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }",
"prepublish": [],
"publish": [],
"postpublish": []
},
"tauri-cli": {
"path": "./tooling/cli",
"path": "./crates/tauri-cli",
"manager": "rust",
"dependencies": ["tauri-bundler", "tauri-utils"],
"postversion": [
"cargo check",
"cargo build --manifest-path ../../core/tauri-config-schema/Cargo.toml"
],
"assets": [
{
"path": "${ pkg.path }/target/package/tauri-cli-${ pkgFile.version }.crate",
"name": "${ pkg.pkg }-${ pkgFile.version }.crate"
}
]
"dependencies": ["tauri-bundler", "tauri-utils", "tauri-macos-sign"]
},
"tauri-driver": {
"path": "./tooling/webdriver",
"manager": "rust",
"postversion": "cargo check"
"path": "./crates/tauri-driver",
"manager": "rust"
}
}
}

View File

@@ -5,8 +5,8 @@ FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}
# Derived from Tauri contribution and setup guides:
# See: https://github.com/tauri-apps/tauri/blob/dev/.github/CONTRIBUTING.md#development-guide
# See: https://tauri.app/v1/guides/getting-started/prerequisites/#setting-up-linux
ARG TAURI_BUILD_DEPS="build-essential curl libappindicator3-dev libgtk-3-dev librsvg2-dev libssl-dev libwebkit2gtk-4.0-dev wget"
# See: https://v2.tauri.app/start/prerequisites/
ARG TAURI_BUILD_DEPS="build-essential curl libappindicator3-dev libgtk-3-dev librsvg2-dev libssl-dev libwebkit2gtk-4.1-dev wget"
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get install -y --no-install-recommends $TAURI_BUILD_DEPS

View File

@@ -24,7 +24,7 @@ Prerequisites are mainly derived from VS Code's instructions for usage of develo
### A note on filesystem performance
Due to limitations in how Docker shares files between the Docker host and a container, it's also recommended that developers [clone Tauri source code into a container volume](https://code.visualstudio.com/remote/advancedcontainers/improve-performance#_use-clone-repository-in-container-volume). This is optional, but highly advised as many filesystem/IO heavy operations (`cargo build`, `yarn install`, etc) will be very slow if they operate on directories shared with a Docker container from the Docker host.
Due to limitations in how Docker shares files between the Docker host and a container, it's also recommended that developers [clone Tauri source code into a container volume](https://code.visualstudio.com/remote/advancedcontainers/improve-performance#_use-clone-repository-in-container-volume). This is optional, but highly advised as many filesystem/IO heavy operations (`cargo build`, `pnpm install`, etc) will be very slow if they operate on directories shared with a Docker container from the Docker host.
To do this, open your project with VS Code and run **Remote-Containers: Clone Repository in Container Volume...** from the Command Palette (<kbd>F1</kbd>).
@@ -33,6 +33,7 @@ To do this, open your project with VS Code and run **Remote-Containers: Clone Re
Docker Desktop provides facilities for [allowing the development container to connect to a service on the Docker host](https://docs.docker.com/desktop/windows/networking/#i-want-to-connect-from-a-container-to-a-service-on-the-host). So long as you have an X window server running on your Docker host, the devcontainer can connect to it and expose your Tauri GUI via an X window.
**Export the `DISPLAY` variable within the devcontainer terminal you launch your Tauri application from to expose your GUI outside of the devcontainer**.
```bash
export DISPLAY="host.docker.internal:0"
```

View File

@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:22.04
ARG DEBIAN_FRONTEND=noninteractive
COPY common.sh lib.sh /
@@ -41,4 +41,4 @@ ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
RUN dpkg --add-architecture arm64
RUN apt-get update
RUN apt-get install --assume-yes --no-install-recommends libssl-dev:arm64 libdbus-1-dev:arm64 libsoup2.4-dev:arm64 libssl-dev:arm64 libgtk-3-dev:arm64 webkit2gtk-4.0-dev:arm64 libappindicator3-1:arm64 librsvg2-dev:arm64 patchelf:arm64
RUN apt-get install --assume-yes --no-install-recommends libssl-dev:arm64 libdbus-1-dev:arm64 libsoup2.4-dev:arm64 libssl-dev:arm64 libgtk-3-dev:arm64 webkit2gtk-4.1-dev:arm64 libappindicator3-1:arm64 librsvg2-dev:arm64 patchelf:arm64

View File

@@ -1,4 +1,3 @@
# Contributor Covenant Code of Conduct
## Our Pledge
@@ -18,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
- Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or advances of
- The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
@@ -130,4 +129,4 @@ For answers to common questions about this code of conduct, see the FAQ at
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
[translations]: https://www.contributor-covenant.org/translations

View File

@@ -22,7 +22,7 @@ Hi! We, the maintainers, are really excited that you are interested in contribut
- Issues with no clear repro steps will not be triaged. If an issue labeled "need repro" receives no further input from the issue author for more than 5 days, it will be closed.
- If your issue is resolved but still open, dont hesitate to close it. In case you found a solution by yourself, it could be helpful to explain how you fixed it.
- If your issue is resolved but still open, don't hesitate to close it. In case you found a solution by yourself, it could be helpful to explain how you fixed it.
- Most importantly, we beg your patience: the team must balance your request against many other responsibilities — fixing other bugs, answering other questions, new features, new documentation, etc. The issue list is not paid support and we cannot make guarantees about how fast your issue can be resolved.
@@ -37,54 +37,52 @@ Hi! We, the maintainers, are really excited that you are interested in contribut
- Provide convincing reason to add this feature. Ideally you should open a suggestion issue first and have it greenlighted before working on it.
- If fixing a bug:
- If you are resolving a special issue, add `(fix: #xxxx[,#xxx])` (#xxxx is the issue id) in your PR title for a better release log, e.g. `fix: update entities encoding/decoding (fix #3899)`.
- Provide detailed description of the bug in the PR, or link to an issue that does.
- If the PR is meant to be released, follow the instructions in `.changes/readme.md` to log your changes. ie. [readme.md](https://github.com/tauri-apps/tauri/blob/dev/.changes/README.md)
## Development Guide
**NOTE: Tauri is undergoing rapid development right now, and the docs match the latest published version of Tauri. They are horribly out of date when compared with the code in the dev branch. This contributor guide is up-to-date, but it doesn't cover all of Tauri's functions in depth. If you have any questions, don't hesitate to ask in our Discord server.**
**NOTE: If you have any question don't hesitate to ask in our Discord server. We try to keep this guide to up guide, but if something doesn't work let us know.**
### General Setup
First, [join our Discord server](https://discord.gg/SpmNs4S) and let us know that you want to contribute. This way we can point you in the right direction and help ensure your contribution will be as helpful as possible.
To set up your machine for development, follow the [Tauri setup guide](https://tauri.app/v1/guides/getting-started/prerequisites/) to get all the tools you need to develop Tauri apps. The only additional tool you may need is [Yarn](https://yarnpkg.com/), it is only required if you are developing the Node CLI or API packages (`tooling/cli/node` and `tooling/api`). Next, fork and clone this repo. It is structured as a monorepo, which means that all the various Tauri packages are under the same repository. The development process varies depending on what part of Tauri you are contributing to, see the guides below for per-package instructions.
To set up your machine for development, follow the [Tauri setup guide](https://v2.tauri.app/start/prerequisites/) to get all the tools you need to develop Tauri apps. The only additional tool you may need is [PNPM](https://pnpm.io/), it is only required if you are developing the Node CLI or API packages (`packages/cli` and `packages/api`). Next, fork and clone this repo. It is structured as a monorepo, which means that all the various Tauri packages are under the same repository. The development process varies depending on what part of Tauri you are contributing to, see the guides below for per-package instructions.
Some Tauri packages will be automatically built when running one of the examples. Others, however, will need to be built beforehand. To build these automatically, run the `.scripts/setup.sh` (Linux and macOS) or `.scripts/setup.ps1` (Windows) script. This will install the Rust and Node.js CLI and build the JS API. After that, you should be able to run all the examples. Note that the setup script should be executed from the root folder of the repository in order to run correctly.
### Packages Overview
### Overview
- Tauri Core (`/core/tauri`) is the heart of Tauri. It contains the code that starts the app, configures communication between Rust and the Webview, and ties all the other packages together.
- The Macros (`/core/tauri-macros`) are used by Tauri Core for various functions.
- Tauri Bundler (`/tooling/bundler`) is used by the Rust CLI to package executables into installers.
- The Rust CLI aka `tauri-cli` (`/tooling/cli`) is the primary CLI for creating and developing Tauri apps.
- The JS CLI aka `@tauri-apps/cli` (`/tooling/cli/node`) is a Node.js CLI wrapper for `tauri-cli`.
- The JS API aka `@tauri-apps/api` (`/tooling/api`) contains JS bindings to the builtin Rust functions in the Rust API.
See [Architecture](../ARCHITECTURE.md#major-components) for an overview of the packages in this repository.
### Developing Tauri Bundler and Rust CLI
The code for the bundler is located in `[Tauri repo root]/tooling/bundler`, and the code for the Rust CLI is located in `[Tauri repo root]/tooling/cli`. If you are using your local copy of `@tauri-apps/cli` (see above), any changes you make to the bundler and CLI will be automatically built and applied when running the build or dev command. Otherwise, running `cargo install --path .` in the Rust CLI directory will allow you to run `cargo tauri build` and `cargo tauri dev` anywhere, using the updated copy of the bundler and cli. You will have to run this command each time you make a change in either package.
The code for the bundler is located in `[Tauri repo root]/crates/tauri-bundler`, and the code for the Rust CLI is located in `[Tauri repo root]/crates/tauri-cli`. If you are using your local copy of `@tauri-apps/cli` (see above), any changes you make to the bundler and CLI will be automatically built and applied when running the build or dev command. Otherwise, running `cargo install --path .` in the Rust CLI directory will allow you to run `cargo tauri build` and `cargo tauri dev` anywhere, using the updated copy of the bundler and cli. You will have to run this command each time you make a change in either package.
### Developing The Node.js CLI (`@tauri-apps/cli`)
`@tauri-apps/cli` is a wrapper to `tauri-cli` so most changes should be written on the Rust CLI. The `[Tauri repo root]/tooling/cli/node` folder contains only packaging scripts to properly publish the Rust CLI binaries to NPM.
`@tauri-apps/cli` is a wrapper to `tauri-cli` so most changes should be written on the Rust CLI. The `[Tauri repo root]/crates/tauri-cli` folder contains only packaging scripts to properly publish the Rust CLI binaries to NPM.
### Developing Tauri Core and Related Components (Rust API, Macros, Codegen, and Utils)
The code for Tauri Core is located in `[Tauri repo root]/core/tauri`, and the Rust API, Macros, and Utils are in `[Tauri repo root]/core/tauri-(api/macros/utils)`. The easiest way to test your changes is to use the `[Tauri repo root]/examples/helloworld` app. It automatically rebuilds and uses your local copy of the Tauri core packages. Just run `yarn tauri build` or `yarn tauri dev` in the helloworld app directory after making changes to test them out. To use your local changes in another project, edit its `src-tauri/Cargo.toml` file so that the `tauri` key looks like `tauri = { path = "PATH", features = [ "api-all", "cli" ] }`, where `PATH` is the relative path to `[Tauri repo root]/core/tauri`. Then, your local copy of the Tauri core packages will be rebuilt and used whenever you build that project.
The code for the Rust crates, including the Core, Macros, Utils, WRY runtime, and a few more are located in `[Tauri repo root]/crates/tauri-(macros/utils)`. The easiest way to test your changes is to use the `[Tauri repo root]/examples/helloworld` app. It automatically rebuilds and uses your local copy of the Tauri core packages. Just run `cargo run --example helloworld` after making changes to test them out.
#### Building the documentation locally
You can build the Rust documentation locally running the following script:
```bash
$ RUSTDOCFLAGS="--cfg doc_cfg" cargo +nightly doc --all-features --open
$ RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --all-features --open
```
### Developing the JS API
The JS API provides bindings between the developer's JS in the Webview and the builtin Tauri APIs, written in Rust. Its code is located in `[Tauri repo root]/tooling/api`. After making changes to the code, run `yarn build` to build it. To test your changes, we recommend using the API example app, located in `[Tauri repo root]/examples/api`. It will automatically use your local copy of the JS API and provides a helpful UI to test the various commands.
The JS API provides bindings between the developer's JS in the Webview and the builtin Tauri APIs, written in Rust. Its code is located in `[Tauri repo root]/packages/api`. After making changes to the code, run `pnpm build` to build it. To test your changes, we recommend using the API example app, located in `[Tauri repo root]/examples/api`. It will automatically use your local copy of the JS API and provides a helpful UI to test the various commands.
## Financial Contribution
Tauri is an MIT-licensed open source project. Its ongoing development can be supported via [GitHub Sponsors](https://github.com/sponsors/nothingismagick) or [Open Collective](https://opencollective.com/tauri). We prefer GitHub Sponsors as donations made are doubled through the matching fund program.
Tauri is an MIT-licensed open source project. Its ongoing development can be supported via [GitHub Sponsors](https://github.com/sponsors/tauri-apps) or [Open Collective](https://opencollective.com/tauri). We prefer GitHub Sponsors as donations made are doubled through the matching fund program.

2
.github/FUNDING.yml vendored
View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -44,8 +44,8 @@ body:
- type: textarea
id: info
attributes:
label: Platform and versions
description: "Output of `npm run tauri info` or `cargo tauri info`"
label: Full `tauri info` output
description: 'Output of `npm run tauri info` or `cargo tauri info`'
render: text
validations:
required: true

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT

View File

@@ -1,8 +1,7 @@
---
name: 📚 Docs Report
about: Create a report to help us improve the docs
title: "[docs] "
title: '[docs] '
labels: 'type: documentation'
assignees: ''
---

View File

@@ -1,11 +1,11 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: 💡 Feature Request
title: '[feat] '
description: Suggest an idea
labels: 'type: feature request'
labels: ['type: feature request']
body:
- type: textarea
@@ -22,7 +22,7 @@ body:
attributes:
label: "Describe the solution you'd like"
description: A clear description of what change you would like
placeholder: "I would like to..."
placeholder: 'I would like to...'
validations:
required: true
@@ -31,7 +31,7 @@ body:
attributes:
label: Alternatives considered
description: "Any alternative solutions you've considered"
- type: textarea
id: context
attributes:

View File

@@ -1,30 +1,21 @@
<!--
Update "[ ]" to "[x]" to check a box
Before submitting a PR, please read https://github.com/tauri-apps/tauri/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
Please make sure to read the Pull Request Guidelines: https://github.com/tauri-apps/tauri/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
1. Give the PR a descriptive title.
Examples of good title:
- fix(windows): fix race condition in event loop
- docs: update example for `App::show`
- feat: add `Window::set_fullscreen`
Examples of bad title:
- fix #7123
- update docs
- fix bugs
2. If there is a related issue, reference it in the PR text, e.g. closes #123.
3. If this change requires a new version, then add a change file in `.changes` directory with the appropriate bump, see https://github.com/tauri-apps/tauri/blob/dev/.changes/README.md
4. Ensure that all your commits are signed https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits
5. Ensure `cargo test` and `cargo clippy` passes.
6. Propose your changes as a draft PR if your work is still in progress.
-->
### What kind of change does this PR introduce?
<!-- Check at least one. If you are introducing a new binding, you must reference an issue where this binding has been proposed, discussed and approved by the maintainers. -->
- [ ] Bugfix
- [ ] Feature
- [ ] Docs
- [ ] New Binding issue #___
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:
### Does this PR introduce a breaking change?
<!-- If yes, please describe the impact and migration path for existing applications in an attached issue. -->
- [ ] Yes, and the changes were approved in issue #___
- [ ] No
### Checklist
- [ ] When resolving issues, they are referenced in the PR's title (e.g `fix: remove a typo, closes #___, #___`)
- [ ] A change file is added if any packages will require a version bump due to this PR per [the instructions in the readme](https://github.com/tauri-apps/tauri/blob/dev/.changes/readme.md).
- [ ] I have added a convincing reason for adding this feature, if necessary
### Other information

62
.github/RELEASING.md vendored Normal file
View File

@@ -0,0 +1,62 @@
# Tauri Releasing Handbook
This handbook contains information about our release pipeline and how to deal with common issues.
This document is mainly intended for team members responsible for maintaining the project.
- [Covector](#covector)
- [Version Pull Request](#version-pull-request)
- [Releasing and Publishing](#releasing-and-publishing)
- [Publishing failed, what to do?](#publishing-failed-what-to-do)
## Covector
We use [`covector`](https://github.com/jbolda/covector) to manage our version bumps and release pipeline.
It can be configured in [`.changes/config.json`](../.changes/config.json) which includes how each package should be published step by step.
Some packages can't be published directly using `covector` as it requires to be built on a matrix of platforms
such as `tauri-cli` prebuilt binaries which is published using [publish-cli-rs.yml](./workflows/publish-cli-rs.yml)
and `@tauri-apps/cli` native Node.js modules which is published using using [publish-cli-js.yml](./workflows/publish-cli-js.yml)
both of which are triggered after `covector` has created a github release for both of them, see `Trigger @tauri-apps/cli publishing workflow`
and `Trigger tauri-cli publishing workflow` steps in [covector-version-or-publish.yml](./workflows/covector-version-or-publish.yml)
## Version Pull Request
On each pull request merged, [covector-version-or-publish.yml](./workflows/covector-version-or-publish.yml) workflow will run, and:
When there're change files inside `.changes` folder and they're not all included in `pre.json` (usually this is only when we are in `-alpha` to `-rc` phase), it will open/update an `Apply Version Updates From Current Changes` PR (https://github.com/tauri-apps/tauri/pull/11029 for example) that bumps all packages based on current existing change files and generate `CHANGELOG.md` entries. see `Create Pull Request With Versions Bumped` step in [covector-version-or-publish.yml](./workflows/covector-version-or-publish.yml).
Otherwise, covector will start to publish packages configured in [`.changes/config.json`](../.changes/config.json).
## Releasing and Publishing
Releasing can be as easy as merging the version pull request but here is a checklist to follow:
- [ ] Double check that every package is bumped correctly and there are no accidental major or minor being released unless that is indeed the intention.
- [ ] Make sure that there are no pending or unfinished [covector-version-or-publish.yml](./workflows/covector-version-or-publish.yml) workflow runs.
- [ ] Sign the Version PR before merging as we require signed commits
- [ ] `git fetch --all`
- [ ] `git checkout release/version-updates`
- [ ] `git commit --amend -S`
- [ ] `git push --force`
- [ ] Approve and merge the version pull request
## Publishing failed, what to do?
It is possible and due to many factors that one or many packages release can fail to release, there is no reason to panic, we can fix this.
Did all of the packages fail to release?
- yes?
- [ ] `git checkout -b revert-branch`
- [ ] `git revert HEAD~1`
- no?
- [ ] `git checkout -b revert-branch`
- [ ] `git revert HEAD~1 --no-commit`
- [ ] Edit the commit and revert only changes related to packages that failed to publish
- [ ] `git revert --continue`
Then:
- [ ] Make a pull request with reverted changes, get it approved and merged
- [ ] Fix the issue that caused releases to fail in another PR, get it approved and merged
- [ ] Repeat the release process again.

3
.github/config.yml vendored
View File

@@ -1,3 +0,0 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

31
.github/sponsors/crabnebula.svg vendored Normal file
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

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -14,7 +14,7 @@ on:
- '**/Cargo.lock'
- '**/Cargo.toml'
- '**/package.json'
- '**/yarn.lock'
- '**/pnpm-lock.yaml'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -24,21 +24,18 @@ jobs:
audit-rust:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: rust audit
uses: actions-rs/audit-check@v1
uses: rustsec/audit-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
audit-js:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: audit workspace
run: yarn audit
- name: audit @tauri-apps/api
working-directory: tooling/api
run: yarn audit
- name: audit @tauri-apps/cli
working-directory: tooling/cli/node
run: yarn audit
- uses: actions/checkout@v4
- run: corepack enable
- uses: actions/setup-node@v4
with:
node-version: 'lts/*'
- run: pnpm audit

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -8,13 +8,16 @@ on:
push:
branches:
- dev
- 1.x
workflow_dispatch:
pull_request:
paths:
- '.github/workflows/bench.yml'
- 'bench/**'
env:
RUST_BACKTRACE: 1
CARGO_PROFILE_DEV_DEBUG: 0 # This would add unnecessary bloat to the target folder, decreasing cache efficiency.
LC_ALL: en_US.UTF-8 # This prevents strace from changing it's number format to use commas.
LC_ALL: en_US.UTF-8 # This prevents strace from changing its number format to use commas.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -27,23 +30,22 @@ jobs:
matrix:
rust: [nightly]
platform:
- { target: x86_64-unknown-linux-gnu, os: ubuntu-20.04 }
- { target: x86_64-unknown-linux-gnu, os: ubuntu-latest }
runs-on: ${{ matrix.platform.os }}
steps:
- uses: actions/checkout@v2
- name: install ${{ matrix.rust }}
uses: actions-rs/toolchain@v1
- uses: actions/checkout@v4
- name: install Rust ${{ matrix.rust }}
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
override: true
default: true
components: rust-src
target: ${{ matrix.platform.target }}
targets: ${{ matrix.platform.target }}
- name: setup python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: '3.10'
architecture: x64
@@ -52,25 +54,26 @@ jobs:
run: |
python -m pip install --upgrade pip
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev xvfb
wget https://github.com/sharkdp/hyperfine/releases/download/v1.11.0/hyperfine_1.11.0_amd64.deb
sudo dpkg -i hyperfine_1.11.0_amd64.deb
sudo apt-get install -y --no-install-recommends \
webkit2gtk-4.1 libayatana-appindicator3-dev \
xvfb \
at-spi2-core
wget https://github.com/sharkdp/hyperfine/releases/download/v1.18.0/hyperfine_1.18.0_amd64.deb
sudo dpkg -i hyperfine_1.18.0_amd64.deb
pip install memory_profiler
- uses: Swatinem/rust-cache@v2
with:
workspaces: |
core -> ../target
tooling/bench/tests
- name: run benchmarks
run: |
cargo build --release -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort --target ${{ matrix.platform.target }} --manifest-path tooling/bench/tests/Cargo.toml
xvfb-run --auto-servernum cargo run --manifest-path tooling/bench/Cargo.toml --bin run_benchmark
cargo build --manifest-path bench/tests/cpu_intensive/src-tauri/Cargo.toml --release -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort --target ${{ matrix.platform.target }}
cargo build --manifest-path bench/tests/files_transfer/src-tauri/Cargo.toml --release -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort --target ${{ matrix.platform.target }}
cargo build --manifest-path bench/tests/helloworld/src-tauri/Cargo.toml --release -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort --target ${{ matrix.platform.target }}
xvfb-run --auto-servernum cargo run --manifest-path bench/Cargo.toml --bin run_benchmark
- name: clone benchmarks_results
if: github.repository == 'tauri-apps/tauri' && github.ref == 'refs/heads/dev'
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
token: ${{ secrets.BENCH_PAT }}
path: gh-pages
@@ -79,7 +82,7 @@ jobs:
- name: push new benchmarks
if: github.repository == 'tauri-apps/tauri' && github.ref == 'refs/heads/dev'
run: |
cargo run --manifest-path tooling/bench/Cargo.toml --bin build_benchmark_jsons
cargo run --manifest-path bench/Cargo.toml --bin build_benchmark_jsons
cd gh-pages
git pull
git config user.name "tauri-bench"

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -17,9 +17,21 @@ jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v2
- name: check change files end with .md
run: |
for file in .changes/*
do
if [[ ! "$file" =~ \.(md|json)$ ]]; then
echo ".changes directory should only contain files that end with .md"
echo "found an invalid file in .changes directory:"
echo "$file"
exit 1
fi
done
- uses: dorny/paths-filter@v3
id: filter
with:
list-files: shell

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -8,11 +8,11 @@ on:
pull_request:
paths:
- '.github/workflows/check-generated-files.yml'
- 'tooling/api/src/**'
- 'core/tauri/scripts/bundle.global.js'
- 'core/tauri-utils/src/config.rs'
- 'tooling/cli/schema.json'
- 'core/tauri-config-schema/schema.json'
- 'packages/api/src/**'
- 'crates/tauri/scripts/bundle.global.js'
- 'crates/tauri-utils/src/config.rs'
- 'crates/tauri-cli/config.schema.json'
- 'crates/tauri-schema-generator/schemas/*.json'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -25,29 +25,36 @@ jobs:
api: ${{ steps.filter.outputs.api }}
schema: ${{ steps.filter.outputs.schema }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
api:
- 'tooling/api/src/**'
- 'core/tauri/scripts/bundle.global.js'
- 'packages/api/src/**'
- 'crates/tauri/scripts/bundle.global.js'
schema:
- 'core/tauri-utils/src/config.rs'
- 'tooling/cli/schema.json'
- 'core/tauri-config-schema/schema.json'
- 'crates/tauri-utils/src/config.rs'
- 'crates/tauri-cli/config.schema.json'
- 'crates/tauri-schema-generator/schemas/*.json'
api:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.api == 'true'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: corepack enable
- uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'pnpm'
- name: install deps
run: pnpm i --frozen-lockfile
- name: build api
working-directory: tooling/api
run: yarn && yarn build
run: pnpm build
working-directory: packages/api
- name: check api
run: ./.scripts/ci/has-diff.sh
@@ -56,13 +63,10 @@ jobs:
needs: changes
if: needs.changes.outputs.schema == 'true'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: install stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
uses: dtolnay/rust-toolchain@stable
- name: install Linux dependencies
run: |
@@ -70,14 +74,9 @@ jobs:
sudo apt-get install -y libgtk-3-dev
- uses: Swatinem/rust-cache@v2
with:
workspaces: core -> ../target
- name: generate schema.json
uses: actions-rs/cargo@v1
with:
command: build
args: --manifest-path ./core/tauri-config-schema/Cargo.toml
- name: generate schemas
run: cargo build --manifest-path ./crates/tauri-schema-generator/Cargo.toml
- name: check schema
- name: check schemas
run: ./.scripts/ci/has-diff.sh

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -15,8 +15,8 @@ jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
list-files: shell

View File

@@ -0,0 +1,30 @@
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: covector comment
on:
workflow_run:
workflows: [covector status] # the `name` of the workflow run on `pull_request` running `status` with `comment: true`
types:
- completed
# note all other permissions are set to none if not specified
# and these set the permissions for `secrets.GITHUB_TOKEN`
permissions:
# to read the action artifacts on `covector status` workflows
actions: read
# to write the comment
pull-requests: write
jobs:
comment:
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion == 'success' &&
(github.event.workflow_run.head_repository.full_name != github.repository || github.actor == 'dependabot[bot]')
steps:
- name: covector status
uses: jbolda/covector/packages/action@covector-v0
with:
token: ${{ secrets.GITHUB_TOKEN }}
command: 'status'

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: covector status
@@ -18,3 +18,5 @@ jobs:
id: covector
with:
command: 'status'
token: ${{ secrets.GITHUB_TOKEN }}
comment: true

View File

@@ -1,228 +0,0 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: covector version or publish
on:
push:
branches:
- 1.x
jobs:
msrv-list:
runs-on: ${{ matrix.platform.os }}
strategy:
fail-fast: false
matrix:
platform:
- {
target: x86_64-pc-windows-msvc,
os: windows-latest,
toolchain: '1.61.0'
}
- {
target: x86_64-unknown-linux-gnu,
os: ubuntu-latest,
toolchain: '1.60.0'
}
- {
target: x86_64-apple-darwin,
os: macos-latest,
toolchain: '1.60.0'
}
steps:
- uses: actions/checkout@v4
- name: install rust ${{ matrix.platform.toolchain }}
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.platform.toolchain }}
target: ${{ matrix.platform.target }}
override: true
default: true
- name: install Linux dependencies
if: contains(matrix.platform.target, 'unknown-linux')
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev
- uses: Swatinem/rust-cache@v2
- name: delete lockfile
run: rm Cargo.lock
- name: Downgrade crates with MSRV conflict
# The --precise flag can only be used once per invocation.
run: |
cargo update -p system-deps:6.2.0 --precise 6.1.1
cargo update -p toml:0.7.8 --precise 0.7.3
cargo update -p toml_edit:0.19.15 --precise 0.19.8
cargo update -p embed-resource --precise 2.3.0
cargo update -p toml_datetime --precise 0.6.1
cargo update -p serde_spanned --precise 0.6.1
cargo update -p winnow --precise 0.4.1
cargo update -p plist --precise 1.5.1
cargo update -p time --precise 0.3.15
cargo update -p ignore --precise 0.4.18
cargo update -p raw-window-handle --precise 0.5.0
cargo update -p cargo_toml:0.15.3 --precise 0.15.2
cargo update -p zbus --precise 3.13.0
cargo update -p zbus_names --precise 2.5.0
cargo update -p colored --precise 2.0.2
cargo update -p arboard --precise 3.2.1
cargo update -p tempfile --precise 3.6.0
cargo update -p serde_with:3.6.1 --precise 3.0.0
cargo update -p tokio --precise 1.29.0
cargo update -p flate2 --precise 1.0.26
cargo update -p h2 --precise 0.3.20
cargo update -p reqwest --precise 0.11.18
cargo update -p bstr --precise 1.6.2
cargo update -p cfg-expr:0.15.7 --precise 0.15.4
cargo update -p memchr --precise 2.6.2
cargo update -p async-executor --precise 1.5.1
cargo update -p proptest --precise 1.2.0
cargo update -p regex --precise 1.9.6
cargo update -p bstr --precise 1.6.2
cargo update -p backtrace --precise 0.3.68
cargo update -p blocking --precise 1.4.1
cargo update -p ignore --precise 0.4.18
cargo update -p regex --precise 1.9.6
cargo update -p globset --precise 0.4.13
cargo update -p crossbeam-channel --precise 0.5.8
cargo update -p crossbeam-utils --precise 0.8.16
cargo update -p image --precise 0.24.4
cargo update -p async-process --precise 1.7.0
cargo update -p is-terminal --precise 0.4.7
cargo update -p tar --precise 0.4.39
cargo update -p serde_json --precise 1.0.97
cargo update -p petgraph --precise 0.6.3
cargo update -p os_str_bytes --precise 6.5.1
- name: test build
run: cargo check --target ${{ matrix.platform.target }} --features tracing,compression,wry,linux-protocol-headers,isolation,custom-protocol,api-all,cli,updater,system-tray,windows7-compat,http-multipart,test
run-integration-tests:
runs-on: ${{ matrix.platform }}
needs: msrv-list
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
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.0 libayatana-appindicator3-dev libfuse2
- uses: Swatinem/rust-cache@v2
with:
workspaces: |
core -> ../target
tooling/cli
- name: build CLI
uses: actions-rs/cargo@v1
with:
command: build
args: --manifest-path ./tooling/cli/Cargo.toml
- name: run integration tests
run: cargo test --test '*' -- --ignored
- name: run CLI tests
timeout-minutes: 30
run: |
cd ./tooling/cli/node
yarn
yarn build
yarn test
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 }}
needs:
- run-integration-tests
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v2
with:
node-version: 14
registry-url: 'https://registry.npmjs.org'
cache: yarn
cache-dependency-path: tooling/*/yarn.lock
- 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 }}
CARGO_AUDIT_OPTIONS: ${{ secrets.CARGO_AUDIT_OPTIONS }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
command: 'version-or-publish'
createRelease: true
- name: Create Pull Request With Versions Bumped
if: steps.covector.outputs.commandRan == 'version'
uses: tauri-apps/create-pull-request@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: release/version-updates-v1
title: Apply Version Updates From Current Changes (v1)
commit-message: 'apply version updates'
labels: 'version updates'
body: ${{ steps.covector.outputs.change }}
- name: Trigger doc update
if: |
steps.covector.outputs.successfulPublish == 'true' &&
steps.covector.outputs.packagesPublished != ''
uses: peter-evans/repository-dispatch@v1
with:
token: ${{ secrets.ORG_TAURI_BOT_PAT }}
repository: tauri-apps/tauri-docs
event-type: update-docs
- name: Trigger `@tauri-apps/cli` publishing workflow
if: |
steps.covector.outputs.successfulPublish == 'true' &&
contains(steps.covector.outputs.packagesPublished, '@tauri-apps/cli')
uses: peter-evans/repository-dispatch@v1
with:
event-type: publish-js-cli
client-payload: >-
{"releaseId": "${{ steps.covector.outputs['-tauri-apps-cli-releaseId'] }}" }
- name: Trigger `tauri-cli` publishing workflow
if: |
steps.covector.outputs.successfulPublish == 'true' &&
contains(steps.covector.outputs.packagesPublished, 'tauri-cli')
uses: peter-evans/repository-dispatch@v1
with:
event-type: publish-clirs

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -19,30 +19,29 @@ jobs:
platform: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: install stable
uses: actions-rs/toolchain@v1
- run: corepack enable
- uses: actions/setup-node@v4
with:
toolchain: stable
node-version: 20
cache: 'pnpm'
- name: install stable
uses: dtolnay/rust-toolchain@stable
- name: install Linux dependencies
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev libfuse2
sudo apt-get install -y webkit2gtk-4.1 libayatana-appindicator3-dev libfuse2 librsvg2-dev
- uses: Swatinem/rust-cache@v2
with:
workspaces: |
core -> ../target
tooling/cli
- name: build CLI
uses: actions-rs/cargo@v1
with:
command: build
args: --manifest-path ./tooling/cli/Cargo.toml
run: cargo build --manifest-path ./crates/tauri-cli/Cargo.toml
- name: run integration tests
run: cargo test --test '*' -- --ignored
@@ -50,14 +49,19 @@ jobs:
- name: run CLI tests
timeout-minutes: 30
run: |
cd ./tooling/cli/node
yarn
yarn build
yarn test
cd ./packages/cli
pnpm i --frozen-lockfile
pnpm build
pnpm test
version-or-publish:
runs-on: ubuntu-latest
timeout-minutes: 65
permissions:
actions: write # required for workflow_dispatch
contents: write # required to create new releases
pull-requests: write # required to open version update pr
id-token: write # pnpm provenance
outputs:
change: ${{ steps.covector.outputs.change }}
commandRan: ${{ steps.covector.outputs.commandRan }}
@@ -66,15 +70,15 @@ jobs:
- run-integration-tests
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v2
- run: corepack enable
- uses: actions/setup-node@v4
with:
node-version: 14
node-version: 20
registry-url: 'https://registry.npmjs.org'
cache: yarn
cache-dependency-path: tooling/*/yarn.lock
cache: 'pnpm'
- name: cargo login
run: cargo login ${{ secrets.ORG_CRATES_IO_TOKEN }}
@@ -83,16 +87,27 @@ jobs:
git config --global user.name "${{ github.event.pusher.name }}"
git config --global user.email "${{ github.event.pusher.email }}"
- name: install Linux dependencies
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.1 libayatana-appindicator3-dev librsvg2-dev
- 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 }}
CARGO_AUDIT_OPTIONS: ${{ secrets.CARGO_AUDIT_OPTIONS }}
NPM_CONFIG_PROVENANCE: true
with:
token: ${{ secrets.GITHUB_TOKEN }}
command: 'version-or-publish'
token: ${{ secrets.GITHUB_TOKEN }}
createRelease: true
recognizeContributors: true
- name: Sync Cargo.lock
if: steps.covector.outputs.commandRan == 'version'
run: cargo tree --depth 0
- name: Create Pull Request With Versions Bumped
if: steps.covector.outputs.commandRan == 'version'
@@ -119,16 +134,14 @@ jobs:
if: |
steps.covector.outputs.successfulPublish == 'true' &&
contains(steps.covector.outputs.packagesPublished, '@tauri-apps/cli')
uses: peter-evans/repository-dispatch@v1
with:
event-type: publish-js-cli
client-payload: >-
{"releaseId": "${{ steps.covector.outputs['-tauri-apps-cli-releaseId'] }}" }
run: gh workflow run 31554138 -r dev -f releaseId=${{ steps.covector.outputs['-tauri-apps-cli-releaseId'] }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Trigger `tauri-cli` publishing workflow
if: |
steps.covector.outputs.successfulPublish == 'true' &&
contains(steps.covector.outputs.packagesPublished, 'tauri-cli')
uses: peter-evans/repository-dispatch@v1
with:
event-type: publish-clirs
run: gh workflow run 31554139 -r dev
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -0,0 +1,25 @@
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: deploy schema worker
on:
push:
branches:
- dev
paths:
- '.github/workflows/deploy-schema-worker.yml'
- 'crates/tauri-schema-worker/**'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cloudflare/wrangler-action@v3
with:
command: deploy
workingDirectory: 'crates/tauri-schema-worker'
apiToken: ${{ secrets.SCHEMA_WORKER_CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.SCHEMA_WORKER_CLOUDFLARE_ACCOUNT_ID }}

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -17,12 +17,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: install stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
uses: dtolnay/rust-toolchain@stable
- name: install Linux dependencies
run: |
@@ -33,23 +31,20 @@ jobs:
run: cargo install cross --git https://github.com/cross-rs/cross
- name: Upload cross
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: cross
path: '~/.cargo/bin/cross'
if-no-files-found: error
- name: build CLI
uses: actions-rs/cargo@v1
with:
command: build
args: --manifest-path ./tooling/cli/Cargo.toml
run: cargo build --manifest-path ./crates/tauri-cli/Cargo.toml
- name: Upload CLI
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: cargo-tauri
path: tooling/cli/target/debug/cargo-tauri
path: crates/tauri-cli/target/debug/cargo-tauri
if-no-files-found: error
docker:
@@ -64,29 +59,27 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: install stable
uses: actions-rs/toolchain@v1
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
override: true
default: true
target: ${{ matrix.target.name }}
targets: ${{ matrix.target.name }}
- run: corepack enable
- name: Setup node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16
node-version: 'lts/*'
- name: Download cross
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.7
with:
name: cross
path: '~/.cargo/bin'
- name: Download CLI
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.7
with:
name: cargo-tauri
path: 'examples/api'
@@ -115,14 +108,14 @@ jobs:
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev
sudo apt-get install -y webkit2gtk-4.1 libayatana-appindicator3-dev
- name: Test
run: |
cd tooling/api
yarn && yarn build
cd packages/api
pnpm i --frozen-lockfile && pnpm build
cd ../../examples/api
yarn
pnpm i --frozen-lockfile
. .setup-cross.sh
chmod +x cargo-tauri
chmod +x $HOME/.cargo/bin/cross

51
.github/workflows/fmt.yml vendored Normal file
View File

@@ -0,0 +1,51 @@
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: check formatting
on:
pull_request:
jobs:
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install Rust stable and rustfmt
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: run cargo fmt
run: cargo fmt --all -- --check
prettier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: corepack enable
- uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- run: pnpm format:check
taplo:
name: taplo (.toml files)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: install taplo-cli
uses: taiki-e/install-action@v2
with:
tool: taplo-cli
- run: taplo fmt --check --diff

View File

@@ -1,70 +0,0 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: lint cli
on:
push:
branches:
- dev
- 1.x
pull_request:
paths:
- '.github/workflows/lint-cli.yml'
- 'tooling/cli/**'
env:
RUST_BACKTRACE: 1
CARGO_PROFILE_DEV_DEBUG: 0 # This would add unnecessary bloat to the target folder, decreasing cache efficiency.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --manifest-path ./tooling/cli/Cargo.toml --all -- --check
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: clippy
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev
- uses: Swatinem/rust-cache@v2
with:
workspaces: tooling/cli
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --manifest-path ./tooling/cli/Cargo.toml --all-targets --all-features -- -D warnings
name: cli

View File

@@ -1,83 +0,0 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: lint core
on:
push:
branches:
- dev
- 1.x
pull_request:
paths:
- '.github/workflows/lint-core.yml'
- 'core/**'
- '!core/tauri/scripts/**'
- 'examples/**'
env:
RUST_BACKTRACE: 1
CARGO_PROFILE_DEV_DEBUG: 0 # This would add unnecessary bloat to the target folder, decreasing cache efficiency.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
runs-on: ubuntu-latest
strategy:
matrix:
clippy:
- { args: '', key: 'empty' }
- {
args: '--features compression,wry,linux-protocol-headers,isolation,custom-protocol,api-all,cli,updater,system-tray,windows7-compat,http-multipart,test',
key: 'all'
}
- { args: '--features custom-protocol', key: 'custom-protocol' }
- { args: '--features api-all', key: 'api-all' }
steps:
- uses: actions/checkout@v2
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: clippy
- uses: Swatinem/rust-cache@v2
with:
workspaces: core -> ../target
save-if: ${{ matrix.clippy.key == 'all' }}
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --manifest-path ./core/tauri/Cargo.toml --all-targets ${{ matrix.clippy.args }} -- -D warnings
name: ${{ matrix.clippy.key }}

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -8,53 +8,33 @@ on:
pull_request:
paths:
- '.github/workflows/lint-js.yml'
- 'tooling/cli/node/**'
- 'tooling/api/**'
- 'packages/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
eslint-cli:
eslint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v4
- run: corepack enable
- uses: actions/setup-node@v4
with:
node-version: '14'
cache: yarn
cache-dependency-path: tooling/cli/node/yarn.lock
- name: install deps via yarn
working-directory: ./tooling/cli/node/
run: yarn
# nothing to lint
#- name: run lint
# working-directory: ./tooling/cli/node/
# run: yarn lint
- name: run format
working-directory: ./tooling/cli/node/
run: yarn format:check
node-version: 'lts/*'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- run: pnpm eslint:check
eslint-api:
typescript:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v4
- run: corepack enable
- uses: actions/setup-node@v4
with:
node-version: '14'
cache: yarn
cache-dependency-path: tooling/api/yarn.lock
- name: install deps via yarn
working-directory: ./tooling/api/
run: yarn
- name: run ts:check
working-directory: ./tooling/api/
run: yarn ts:check
- name: run lint
working-directory: ./tooling/api/
run: yarn lint
- name: run format
working-directory: ./tooling/api/
run: yarn format:check
node-version: 'lts/*'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- run: pnpm ts:check

43
.github/workflows/lint-rust.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: lint rust
on:
push:
branches:
- dev
pull_request:
paths:
- '.github/workflows/lint-cli.yml'
- 'crates/**'
env:
RUST_BACKTRACE: 1
CARGO_PROFILE_DEV_DEBUG: 0 # This would add unnecessary bloat to the target folder, decreasing cache efficiency.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install rust stable and clippy
uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.1 libayatana-appindicator3-dev
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --all-targets --all-features -- -D warnings

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -18,7 +18,7 @@ on:
defaults:
run:
working-directory: tooling/cli/node/
working-directory: packages/cli/
jobs:
build:
@@ -30,45 +30,45 @@ jobs:
target: x86_64-apple-darwin
architecture: x64
build: |
yarn build:release
pnpm build --target=x86_64-apple-darwin
strip -x *.node
- host: windows-latest
build: yarn build:release
build: pnpm build
target: x86_64-pc-windows-msvc
architecture: x64
- host: windows-latest
build: yarn build:release --target i686-pc-windows-msvc
build: pnpm build --target i686-pc-windows-msvc
target: i686-pc-windows-msvc
architecture: x64
- host: windows-latest
architecture: x64
target: aarch64-pc-windows-msvc
build: yarn build:release --target aarch64-pc-windows-msvc --features native-tls,native-tls-vendored --cargo-flags="--no-default-features"
build: pnpm build --target aarch64-pc-windows-msvc --features native-tls-vendored --cargo-flags="--no-default-features"
- host: ubuntu-20.04
target: x86_64-unknown-linux-gnu
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian
build: |
cd tooling/cli/node
yarn build:release --target x86_64-unknown-linux-gnu
cd packages/cli
pnpm build --target x86_64-unknown-linux-gnu
strip *.node
- host: ubuntu-20.04
target: x86_64-unknown-linux-musl
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
build: |
cd tooling/cli/node
yarn build:release
cd packages/cli
pnpm build
strip *.node
- host: macos-latest
target: aarch64-apple-darwin
build: |
yarn build:release --target=aarch64-apple-darwin
pnpm build --features native-tls-vendored --target=aarch64-apple-darwin
strip -x *.node
- host: ubuntu-20.04
target: aarch64-unknown-linux-gnu
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64
build: |
cd tooling/cli/node
yarn build:release --target aarch64-unknown-linux-gnu
cd packages/cli
pnpm build --target aarch64-unknown-linux-gnu
aarch64-unknown-linux-gnu-strip *.node
- host: ubuntu-20.04
architecture: x64
@@ -77,49 +77,44 @@ jobs:
sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y
build: |
yarn build:release --target=armv7-unknown-linux-gnueabihf
pnpm build --target=armv7-unknown-linux-gnueabihf
arm-linux-gnueabihf-strip *.node
- host: ubuntu-20.04
architecture: x64
target: aarch64-unknown-linux-musl
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
build: |
cd tooling/cli/node
cd packages/cli
rustup target add aarch64-unknown-linux-musl
yarn build:release --target aarch64-unknown-linux-musl
pnpm build --target aarch64-unknown-linux-musl
/aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip *.node
name: stable - ${{ matrix.settings.target }} - node@16
name: stable - ${{ matrix.settings.target }} - node@20
runs-on: ${{ matrix.settings.host }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: corepack enable
- name: Setup node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
if: ${{ !matrix.settings.docker }}
with:
node-version: 16
check-latest: true
cache: yarn
cache-dependency-path: 'tooling/cli/node/yarn.lock'
node-version: 20
cache: 'pnpm'
architecture: ${{ matrix.settings.architecture }}
- name: Install
uses: actions-rs/toolchain@v1
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
if: ${{ !matrix.settings.docker }}
with:
profile: minimal
override: true
toolchain: stable
target: ${{ matrix.settings.target }}
targets: ${{ matrix.settings.target }}
- uses: Swatinem/rust-cache@v1
with:
key: ${{ matrix.settings.target }}
working-directory: 'tooling/cli/'
if: ${{ matrix.settings.docker }}
- name: Setup toolchain
run: ${{ matrix.settings.setup }}
if: ${{ matrix.settings.setup }}
shell: bash
- name: Install dependencies
run: yarn install --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
run: pnpm i --frozen-lockfile --ignore-scripts
- name: Build in docker
uses: addnab/docker-run-action@v3
@@ -135,16 +130,16 @@ jobs:
shell: bash
- name: Upload artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bindings-${{ matrix.settings.target }}
path: tooling/cli/node/${{ env.APP_NAME }}.*.node
path: packages/cli/${{ env.APP_NAME }}.*.node
if-no-files-found: error
# build-freebsd:
# runs-on: macos-10.15
# name: Build FreeBSD
# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4
# - name: Build
# id: build
# uses: vmactions/freebsd-vm@v0.1.6
@@ -160,7 +155,7 @@ jobs:
# prepare: |
# pkg install -y curl node14 python2
# curl -qL https://www.npmjs.com/install.sh | sh
# npm install -g yarn
# npm install -g pnpm
# curl https://sh.rustup.rs -sSf --output rustup.sh
# sh rustup.sh -y --profile minimal --default-toolchain stable
# export PATH="/usr/local/cargo/bin:$PATH"
@@ -168,8 +163,8 @@ jobs:
# rustc --version
# echo "~~~~ node -v ~~~~"
# node -v
# echo "~~~~ yarn --version ~~~~"
# yarn --version
# echo "~~~~ pnpm --version ~~~~"
# pnpm --version
# run: |
# export PATH="/usr/local/cargo/bin:$PATH"
# pwd
@@ -177,17 +172,17 @@ jobs:
# whoami
# env
# freebsd-version
# cd ./tooling/cli/node/
# yarn install --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
# yarn build:release
# cd ./packages/cli/
# pnpm i --frozen-lockfile --ignore-scripts
# pnpm build
# strip -x *.node
# rm -rf node_modules
# rm -rf ../target
# rm -rf ../../target
# - name: Upload artifact
# uses: actions/upload-artifact@v3
# uses: actions/upload-artifact@v4
# with:
# name: bindings-freebsd
# path: tooling/cli/node/${{ env.APP_NAME }}.*.node
# path: packages/cli/${{ env.APP_NAME }}.*.node
# if-no-files-found: error
test-macOS-windows-binding:
name: Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }}
@@ -198,35 +193,33 @@ jobs:
matrix:
settings:
- host: macos-latest
target: 'x86_64-apple-darwin'
target: aarch64-apple-darwin
- host: windows-latest
target: x86_64-pc-windows-msvc
node:
- '14'
- '16'
- '18'
- '20'
runs-on: ${{ matrix.settings.host }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: corepack enable
- name: Setup node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
check-latest: true
cache: yarn
cache-dependency-path: 'tooling/cli/node/yarn.lock'
cache: 'pnpm'
- name: Install dependencies
run: yarn install --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
run: pnpm i --frozen-lockfile --ignore-scripts
- name: Download artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.7
with:
name: bindings-${{ matrix.settings.target }}
path: 'tooling/cli/node/'
path: 'packages/cli/'
- name: List packages
run: ls -R .
shell: bash
- name: Test bindings
run: yarn test
run: pnpm test
test-linux-x64-gnu-binding:
name: Test bindings on Linux-x64-gnu - node@${{ matrix.node }}
needs:
@@ -235,35 +228,33 @@ jobs:
fail-fast: false
matrix:
node:
- '14'
- '16'
- '18'
- '20'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: corepack enable
- name: Setup node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
check-latest: true
cache: yarn
cache-dependency-path: 'tooling/cli/node/yarn.lock'
cache: 'pnpm'
- name: Install dependencies
run: yarn install --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
run: pnpm i --frozen-lockfile --ignore-scripts
- name: Download artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.7
with:
name: bindings-x86_64-unknown-linux-gnu
path: 'tooling/cli/node/'
path: 'packages/cli'
- name: List packages
run: ls -R .
shell: bash
- name: install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev
sudo apt-get install -y webkit2gtk-4.1 libayatana-appindicator3-dev librsvg2-dev
- name: Test bindings
run: yarn test
run: pnpm test
test-linux-x64-musl-binding:
name: Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }}
needs:
@@ -272,40 +263,38 @@ jobs:
fail-fast: false
matrix:
node:
- '14'
- '16'
- '18'
- '20'
runs-on: ubuntu-latest
container:
image: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: corepack enable
- name: Setup node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
check-latest: true
cache: yarn
cache-dependency-path: 'tooling/cli/node/yarn.lock'
cache: 'pnpm'
- name: Install dependencies
run: yarn install --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
run: pnpm i --frozen-lockfile --ignore-scripts
- name: Download artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.7
with:
name: bindings-x86_64-unknown-linux-musl
path: 'tooling/cli/node/'
path: 'packages/cli/'
- name: List packages
run: ls -R .
shell: bash
- name: Setup and run tests
run: |
yarn tauri --help
pnpm tauri --help
ls -la
#- name: Setup and run tests
# run: |
# rustup install stable
# rustup default stable
# yarn test
# pnpm test
# ls -la
test-linux-arm-bindings:
name: Test bindings on ${{ matrix.image }} - node@${{ matrix.node }}
@@ -315,9 +304,8 @@ jobs:
fail-fast: false
matrix:
node:
- '14'
- '16'
- '18'
- '20'
image:
- ghcr.io/napi-rs/napi-rs/nodejs:aarch64-16
- ghcr.io/napi-rs/napi-rs/nodejs:armhf-16
@@ -325,22 +313,20 @@ jobs:
steps:
- run: docker run --rm --privileged multiarch/qemu-user-static:register --reset
working-directory: ${{ github.workspace }}
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: List packages
run: ls -R .
shell: bash
- name: Install dependencies
run: yarn install --ignore-scripts --ignore-platform --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
- name: Download aarch64-gnu artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.7
with:
name: bindings-aarch64-unknown-linux-gnu
path: 'tooling/cli/node/'
path: 'packages/cli'
- name: Download armv7-gnueabihf artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.7
with:
name: bindings-armv7-unknown-linux-gnueabihf
path: 'tooling/cli/node/'
path: 'packages/cli/'
# TODO: actually run test, blocked by https://github.com/rust-lang/cargo/issues/8719
- uses: addnab/docker-run-action@v3
with:
@@ -351,15 +337,15 @@ jobs:
set -e
export PATH=/usr/local/cargo/bin/:/usr/local/fnm:$PATH
apt-get update
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends -y unzip webkit2gtk-4.0 libayatana-appindicator3-dev
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends -y unzip libayatana-appindicator3-dev
bash
curl https://sh.rustup.rs -sSf | bash -s -- -y
curl -fsSL https://fnm.vercel.app/install | bash -s -- --install-dir "/usr/local/fnm" --skip-shell
eval "$(fnm env --use-on-cd)"
fnm install ${{ matrix.node }}
fnm use ${{ matrix.node }}
cd tooling/cli/node
yarn tauri --help
cd packages/cli
node tauri.js --help
ls -la
publish:
name: Publish
@@ -370,23 +356,25 @@ jobs:
- test-linux-x64-gnu-binding
- test-linux-x64-musl-binding
#- test-linux-arm-bindings
permissions:
contents: write # update release
id-token: write # npm provenance
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: corepack enable
- name: Setup node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16
check-latest: true
cache: yarn
cache-dependency-path: 'tooling/cli/node/yarn.lock'
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: yarn install --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
run: pnpm i --frozen-lockfile --ignore-scripts
- name: Download all artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.7
with:
path: tooling/cli/node/artifacts
path: packages/cli/artifacts
- name: Move artifacts
run: yarn artifacts
run: pnpm artifacts
- name: List packages
run: ls -R ./npm
shell: bash
@@ -397,4 +385,5 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.ORG_NPM_TOKEN }}
RELEASE_ID: ${{ github.event.client_payload.releaseId || github.event.inputs.releaseId }}
RELEASE_ID: ${{ github.event.client_payload.releaseId || inputs.releaseId }}
NPM_CONFIG_PROVENANCE: true

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -37,11 +37,10 @@ jobs:
- os: windows-latest
rust_target: aarch64-pc-windows-msvc
ext: '.exe'
args: '--no-default-features --features native-tls,native-tls-vendored'
args: '--no-default-features --features native-tls-vendored'
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: 'Setup Rust'
uses: dtolnay/rust-toolchain@stable
@@ -59,16 +58,13 @@ jobs:
sudo apt-get install -y libgtk-3-dev
- name: Build CLI
uses: actions-rs/cargo@v1
with:
command: build
args: --manifest-path ./tooling/cli/Cargo.toml --release ${{ matrix.config.args }}
run: cargo build --manifest-path ./crates/tauri-cli/Cargo.toml --profile release-size-optimized ${{ matrix.config.args }}
- name: Upload CLI
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: cargo-tauri-${{ matrix.config.rust_target }}${{ matrix.config.ext }}
path: tooling/cli/target/release/cargo-tauri${{ matrix.config.ext }}
path: target/release-size-optimized/cargo-tauri${{ matrix.config.ext }}
if-no-files-found: error
upload:
@@ -77,10 +73,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Download built CLIs
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.7
with:
path: outputs
@@ -88,7 +84,7 @@ jobs:
run: ./.scripts/ci/pack-cli.sh
- name: Get CLI version
run: echo "CLI_VERSION=$(cat tooling/cli/metadata.json | jq '."cli.js".version' -r)" >> $GITHUB_ENV
run: echo "CLI_VERSION=$(cat crates/tauri-cli/metadata-v2.json | jq '."cli.js".version' -r)" >> $GITHUB_ENV
- name: Publish release
uses: softprops/action-gh-release@50195ba7f6f93d1ac97ba8332a178e008ad176aa

44
.github/workflows/supply-chain.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: supply chain health status
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
push:
branches:
- dev
paths:
- '.github/workflows/supply-chain.yml'
- '**/Cargo.lock'
- '**/Cargo.toml'
jobs:
cargo-vet:
name: check rust dependencies with cargo vet
runs-on: ubuntu-latest
env:
CARGO_VET_VERSION: 0.9.1
steps:
- uses: actions/checkout@master
- name: Install Rust
run: rustup update stable && rustup default stable
- uses: actions/cache@v4
with:
path: ${{ runner.tool_cache }}/cargo-vet
key: cargo-vet-bin-${{ env.CARGO_VET_VERSION }}
- name: Add the tool cache directory to the search path
run: echo "${{ runner.tool_cache }}/cargo-vet/bin" >> $GITHUB_PATH
- name: Ensure that the tool cache is populated with the cargo-vet binary
run: cargo install --root ${{ runner.tool_cache }}/cargo-vet --version ${{ env.CARGO_VET_VERSION }} cargo-vet
# Enable this again to break the workflow once we have a reasonable amount of suggestions to get to a clean base line
# - name: Invoke cargo-vet
# run: cargo vet --locked
- name: Provide audit suggestions
run: cargo vet suggest

106
.github/workflows/test-android.yml vendored Normal file
View File

@@ -0,0 +1,106 @@
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: test android
on:
pull_request:
paths:
- '.github/workflows/test-android.yml'
- 'crates/tauri-cli/templates/mobile/android/**'
- 'crates/tauri-cli/src/mobile/**'
- '!crates/tauri-cli/src/mobile/ios.rs'
- '!crates/tauri-cli/src/mobile/ios/**'
- 'crates/tauri-build/src/mobile.rs'
- 'crates/tauri/mobile/android/**'
- 'crates/tauri/mobile/android-codegen/**'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- name: install Rust 1.77.2
uses: dtolnay/rust-toolchain@1.77.2
- name: install Linux dependencies
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.1
- run: corepack enable
- name: setup node
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: 'pnpm'
- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17
cache: 'gradle'
- name: Setup NDK
uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r25b
local-cache: true
# TODO check after https://github.com/nttld/setup-ndk/issues/518 is fixed
- name: Restore Android Symlinks
if: matrix.platform == 'ubuntu-latest' || matrix.platform == 'macos-latest'
run: |
directory="${{ steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin"
find "$directory" -type l | while read link; do
current_target=$(readlink "$link")
new_target="$directory/$(basename "$current_target")"
ln -sf "$new_target" "$link"
echo "Changed $(basename "$link") from $current_target to $new_target"
done
- uses: Swatinem/rust-cache@v2
- name: build CLI
run: cargo build --manifest-path ./crates/tauri-cli/Cargo.toml
- name: move CLI to cargo bin dir
if: matrix.platform != 'windows-latest'
run: mv ./target/debug/cargo-tauri $HOME/.cargo/bin
- name: move CLI to cargo bin dir
if: matrix.platform == 'windows-latest'
run: mv ./target/debug/cargo-tauri.exe $HOME/.cargo/bin
- run: pnpm i --frozen-lockfile
- name: build Tauri API
working-directory: ./packages/api
run: pnpm build
- name: init Android Studio project
working-directory: ./examples/api
run: cargo tauri android init
env:
NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- name: build APK
working-directory: ./examples/api
run: cargo tauri android build
env:
NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -8,12 +8,11 @@ on:
push:
branches:
- dev
- 1.x
pull_request:
paths:
- '.github/workflows/test-cli-js.yml'
# currently` @tauri-apps/cli` only tests the template
- 'tooling/cli/templates/app/**'
- 'crates/tauri-cli/templates/app/**'
env:
RUST_BACKTRACE: 1
@@ -33,36 +32,30 @@ jobs:
platform: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: install Rust stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
uses: dtolnay/rust-toolchain@stable
- run: corepack enable
- name: setup node
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: 14
cache: yarn
cache-dependency-path: tooling/cli/node/yarn.lock
node-version: 'lts/*'
cache: 'pnpm'
- name: install Linux dependencies
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev
sudo apt-get install -y webkit2gtk-4.1 libayatana-appindicator3-dev librsvg2-dev
- uses: Swatinem/rust-cache@v2
with:
workspaces: |
tooling/cli
tooling/cli/node/test/jest/fixtures/empty/src-tauri
- name: test
timeout-minutes: 30
run: |
cd ./tooling/cli/node
yarn
yarn build
yarn test
cd ./packages/cli
pnpm i --frozen-lockfile
pnpm build
pnpm test

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -8,11 +8,12 @@ on:
push:
branches:
- dev
- 1.x
pull_request:
paths:
- '.github/workflows/test-cli-rs.yml'
- 'tooling/cli/**'
- 'crates/tauri-utils/**'
- 'crates/tauri-bundler/**'
- 'crates/tauri-cli/**'
env:
RUST_BACKTRACE: 1
@@ -24,34 +25,36 @@ concurrency:
jobs:
test:
runs-on: ${{ matrix.platform }}
runs-on: ${{ matrix.platform.os }}
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
platform:
- { target: x86_64-pc-windows-msvc, os: windows-latest }
- {
target: aarch64-pc-windows-msvc,
os: windows-latest,
args: --no-default-features --features native-tls-vendored
}
- { target: x86_64-unknown-linux-gnu, os: ubuntu-latest }
- { target: x86_64-apple-darwin, os: macos-latest }
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: install stable
uses: actions-rs/toolchain@v1
- name: 'Setup Rust'
uses: dtolnay/rust-toolchain@1.77.2
with:
toolchain: stable
override: true
targets: ${{ matrix.platform.target }}
- name: install Linux dependencies
if: matrix.platform == 'ubuntu-latest'
if: matrix.platform.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.1 libayatana-appindicator3-dev librsvg2-dev
- uses: Swatinem/rust-cache@v2
with:
workspaces: tooling/cli
- name: test CLI
uses: actions-rs/cargo@v1
with:
command: test
args: --manifest-path ./tooling/cli/Cargo.toml
run: cargo test --manifest-path ./crates/tauri-cli/Cargo.toml ${{ matrix.platform.args }}

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -8,12 +8,15 @@ on:
push:
branches:
- dev
- 1.x
pull_request:
paths:
- '.github/workflows/test-core.yml'
- 'core/**'
- '!core/tauri/scripts/**'
- 'crates/**'
- '!crates/tauri/scripts/**'
- '!crates/tauri-cli/**'
- '!crates/tauri-bundler/**'
- '!crates/tauri-macos-sign/**'
- '!crates/tauri-schema-generator/**'
env:
RUST_BACKTRACE: 1
@@ -34,53 +37,68 @@ jobs:
- {
target: x86_64-pc-windows-msvc,
os: windows-latest,
toolchain: '1.61.0'
toolchain: '1.77.2',
cross: false,
command: 'test'
}
- {
target: x86_64-unknown-linux-gnu,
os: ubuntu-latest,
toolchain: '1.60.0'
toolchain: '1.77.2',
cross: false,
command: 'test'
}
- {
target: x86_64-apple-darwin,
target: aarch64-apple-darwin,
os: macos-14,
toolchain: '1.77.2',
cross: false,
command: 'test'
}
- {
target: aarch64-apple-ios,
os: macos-latest,
toolchain: '1.60.0'
toolchain: '1.77.2',
cross: false,
command: 'build'
}
- {
target: aarch64-linux-android,
os: ubuntu-latest,
toolchain: '1.77.2',
cross: true,
command: 'build'
}
features:
- {
args: --no-default-features,
key: no-default
}
- {
args: --features api-all,
key: api-all
}
- {
args: --features tracing,compression,wry,linux-protocol-headers,isolation,custom-protocol,api-all,cli,updater,system-tray,windows7-compat,http-multipart,test,
key: all
}
- { args: --no-default-features, key: no-default }
- { args: --all-features, key: all }
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: install stable
uses: actions-rs/toolchain@v1
- name: install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.platform.toolchain }}
target: ${{ matrix.platform.target }}
override: true
default: true
targets: ${{ matrix.platform.target }}
- name: install Linux dependencies
if: contains(matrix.platform.target, 'unknown-linux')
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev
sudo apt-get install -y webkit2gtk-4.1 libxdo-dev libayatana-appindicator3-dev
- uses: Swatinem/rust-cache@v2
with:
workspaces: core -> ../target
prefix-key: v2
save-if: ${{ matrix.features.key == 'all' }}
- name: test
run: cargo test --target ${{ matrix.platform.target }} ${{ matrix.features.args }}
if: ${{ !matrix.platform.cross }}
run: cargo ${{ matrix.platform.command }} --target ${{ matrix.platform.target }} ${{ matrix.features.args }} --manifest-path crates/tauri/Cargo.toml
- name: test (using cross)
if: ${{ matrix.platform.cross }}
run: |
cargo install cross --git https://github.com/cross-rs/cross --rev ac4c11cedc97cd7c27faed36e55377a90e6ed618 --locked
cross ${{ matrix.platform.command }} --target ${{ matrix.platform.target }} ${{ matrix.features.args }} --manifest-path crates/tauri/Cargo.toml

View File

@@ -1,93 +0,0 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: test and lint bundler
on:
push:
branches:
- dev
- 1.x
pull_request:
paths:
- '.github/workflows/test-bundler.yml'
- 'tooling/bundler/**'
env:
RUST_BACKTRACE: 1
CARGO_PROFILE_DEV_DEBUG: 0 # This would add unnecessary bloat to the target folder, decreasing cache efficiency.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- name: install stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: tooling/bundler
- name: test
run: |
cd ./tooling/bundler
cargo test
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --manifest-path ./tooling/bundler/Cargo.toml --all -- --check
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: install minimal stable with clippy and rustfmt
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
default: true
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
with:
workspaces: tooling/bundler
- name: clippy check
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --manifest-path ./tooling/bundler/Cargo.toml --all-targets -- -D warnings
name: bundler

View File

@@ -1,107 +0,0 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: test updater artifacts
on:
schedule:
- cron: '0 0 * * *'
pull_request:
paths:
- '.github/workflows/test-updater-artifacts.yml'
- 'examples/updater/**'
workflow_dispatch:
env:
RUST_BACKTRACE: 1
CARGO_PROFILE_DEV_DEBUG: 0 # This would add unnecessary bloat to the target folder, decreasing cache efficiency.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- 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.0 libayatana-appindicator3-dev
- uses: Swatinem/rust-cache@v2
with:
workspaces: |
core -> ../target
tooling/cli
- name: build and install `tauri-cli`
run: cargo install --path tooling/cli --force
- name: Check whether code signing should be enabled
id: enablecodesigning
env:
ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }}
run: |
echo "Enable code signing: ${{ env.ENABLE_CODE_SIGNING != '' }}"
echo "::set-output name=enabled::${{ env.ENABLE_CODE_SIGNING != '' }}"
# run only on tauri-apps/tauri repo (require secrets)
- name: build sample artifacts + code signing (updater)
if: steps.enablecodesigning.outputs.enabled == 'true'
working-directory: ./examples/updater
run: |
yarn install
cargo tauri build --verbose
env:
# Notarization (disabled)
# FIXME: enable only on `dev` push maybe? as it take some times...
#
# APPLE_ID: ${{ secrets.APPLE_ID }}
# APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
# Apple code signing testing
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
# Updater signature is exposed here to make sure it works in PR's
TAURI_PRIVATE_KEY: dW50cnVzdGVkIGNvbW1lbnQ6IHJzaWduIGVuY3J5cHRlZCBzZWNyZXQga2V5ClJXUlRZMEl5YTBGV3JiTy9lRDZVd3NkL0RoQ1htZmExNDd3RmJaNmRMT1ZGVjczWTBKZ0FBQkFBQUFBQUFBQUFBQUlBQUFBQWdMekUzVkE4K0tWQ1hjeGt1Vkx2QnRUR3pzQjVuV0ZpM2czWXNkRm9hVUxrVnB6TUN3K1NheHJMREhQbUVWVFZRK3NIL1VsMDBHNW5ET1EzQno0UStSb21nRW4vZlpTaXIwZFh5ZmRlL1lSN0dKcHdyOUVPclVvdzFhVkxDVnZrbHM2T1o4Tk1NWEU9Cg==
TAURI_KEY_PASSWORD:
# run on PRs and forks
- name: build sample artifacts (updater)
if: steps.enablecodesigning.outputs.enabled != 'true'
working-directory: ./examples/updater
run: |
yarn install
cargo tauri build --verbose
env:
TAURI_PRIVATE_KEY: dW50cnVzdGVkIGNvbW1lbnQ6IHJzaWduIGVuY3J5cHRlZCBzZWNyZXQga2V5ClJXUlRZMEl5YTBGV3JiTy9lRDZVd3NkL0RoQ1htZmExNDd3RmJaNmRMT1ZGVjczWTBKZ0FBQkFBQUFBQUFBQUFBQUlBQUFBQWdMekUzVkE4K0tWQ1hjeGt1Vkx2QnRUR3pzQjVuV0ZpM2czWXNkRm9hVUxrVnB6TUN3K1NheHJMREhQbUVWVFZRK3NIL1VsMDBHNW5ET1EzQno0UStSb21nRW4vZlpTaXIwZFh5ZmRlL1lSN0dKcHdyOUVPclVvdzFhVkxDVnZrbHM2T1o4Tk1NWEU9Cg==
TAURI_KEY_PASSWORD:
# upload assets
- uses: actions/upload-artifact@v2
if: matrix.platform == 'ubuntu-latest'
with:
name: linux-updater-artifacts
path: ./examples/updater/src-tauri/target/release/bundle/appimage/updater-example_*.AppImage.*
- uses: actions/upload-artifact@v2
if: matrix.platform == 'windows-latest'
with:
name: windows-updater-artifacts
path: ./examples/updater/src-tauri/target/release/bundle/msi/*
- uses: actions/upload-artifact@v2
if: matrix.platform == 'macos-latest'
with:
name: macos-updater-artifacts
path: ./examples/updater/src-tauri/target/release/bundle/macos/updater-example.app.tar.*

View File

@@ -1,4 +1,4 @@
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -8,7 +8,6 @@ on:
push:
branches:
- dev
- 1.x
env:
RUST_BACKTRACE: 1
@@ -32,30 +31,32 @@ jobs:
bundler: ${{ steps.filter.outputs.bundler }}
cli: ${{ steps.filter.outputs.cli }}
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
tauri:
- 'core/tauri/**'
- '!core/tauri/scripts/**'
- 'crates/tauri/**'
- '!crates/tauri/scripts/**'
build:
- 'core/tauri-build/**'
- 'crates/tauri-build/**'
codegen:
- 'core/tauri-codegen/**'
- 'crates/tauri-codegen/**'
macros:
- 'core/tauri-macros/**'
- 'crates/tauri-macros/**'
runtime:
- 'core/tauri-runtime/**'
- 'crates/tauri-runtime/**'
wry:
- 'core/tauri-runtime-wry/**'
- 'crates/tauri-runtime-wry/**'
utils:
- 'core/tauri-utils/**'
- 'crates/tauri-utils/**'
bundler:
- 'tooling/bundler/**'
- 'crates/tauri-bundler/**'
cli:
- 'tooling/cli/**'
- 'crates/tauri-cli/**'
macossign:
- 'crates/tauri-macos-sign/**'
setup:
runs-on: ubuntu-latest
@@ -69,24 +70,20 @@ jobs:
needs.changes.outputs.wry == 'true' ||
needs.changes.outputs.utils == 'true' ||
needs.changes.outputs.bundler == 'true' ||
needs.changes.outputs.cli == 'true'
needs.changes.outputs.cli == 'true' ||
needs.changes.outputs.macossign == 'true'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
- name: Install Rust nightly
uses: dtolnay/rust-toolchain@nightly
- uses: actions-rs/cargo@v1
with:
command: install
args: cargo-udeps --locked --force
- name: Install udeps
run: cargo install cargo-udeps --locked --force
- name: Upload udeps
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: udeps
path: '~/.cargo/bin/cargo-udeps'
@@ -104,18 +101,20 @@ jobs:
UTILS: ${{ needs.changes.outputs.utils == 'true' }}
BUNDLER: ${{ needs.changes.outputs.bundler == 'true' }}
CLI: ${{ needs.changes.outputs.cli == 'true' }}
MACOSSIGN: ${{ needs.changes.outputs.macossign == 'true' }}
run: |
crates=()
if [ "${TAURI}" == "true" ]; then crates[${#crates[@]}]="\"./core/tauri\""; fi
if [ "${BUILD}" == "true" ]; then crates[${#crates[@]}]="\"./core/tauri-build\""; fi
if [ "${CODEGEN}" == "true" ]; then crates[${#crates[@]}]="\"./core/tauri-codegen\""; fi
if [ "${MACROS}" == "true" ]; then crates[${#crates[@]}]="\"./core/tauri-macros\""; fi
if [ "${RUNTIME}" == "true" ]; then crates[${#crates[@]}]="\"./core/tauri-runtime\""; fi
if [ "${WRY}" == "true" ]; then crates[${#crates[@]}]="\"./core/tauri-runtime-wry\""; fi
if [ "${UTILS}" == "true" ]; then crates[${#crates[@]}]="\"./core/tauri-utils\""; fi
if [ "${BUNDLER}" == "true" ]; then crates[${#crates[@]}]="\"./tooling/bundler\""; fi
if [ "${CLI}" == "true" ]; then crates[${#crates[@]}]="\"./tooling/cli\""; fi
echo ::set-output name=matrix::[$crates]
if [ "${TAURI}" == "true" ]; then crates[${#crates[@]}]="\"./crates/tauri\""; fi
if [ "${BUILD}" == "true" ]; then crates[${#crates[@]}]="\"./crates/tauri-build\""; fi
if [ "${CODEGEN}" == "true" ]; then crates[${#crates[@]}]="\"./crates/tauri-codegen\""; fi
if [ "${MACROS}" == "true" ]; then crates[${#crates[@]}]="\"./crates/tauri-macros\""; fi
if [ "${RUNTIME}" == "true" ]; then crates[${#crates[@]}]="\"./crates/tauri-runtime\""; fi
if [ "${WRY}" == "true" ]; then crates[${#crates[@]}]="\"./crates/tauri-runtime-wry\""; fi
if [ "${UTILS}" == "true" ]; then crates[${#crates[@]}]="\"./crates/tauri-utils\""; fi
if [ "${BUNDLER}" == "true" ]; then crates[${#crates[@]}]="\"./crates/tauri-bundler\""; fi
if [ "${CLI}" == "true" ]; then crates[${#crates[@]}]="\"./crates/tauri-cli\""; fi
if [ "${MACOSSIGN}" == "true" ]; then crates[${#crates[@]}]="\"./crates/tauri-macos-sign\""; fi
echo "matrix=[$crates]" >> "$GITHUB_OUTPUT"
outputs:
matrix: ${{ steps.create-matrix.outputs.matrix }}
@@ -126,13 +125,10 @@ jobs:
matrix:
path: ${{ fromJson(needs.setup.outputs.matrix) }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
- name: Install Rust nightly
uses: dtolnay/rust-toolchain@nightly
- name: install dependencies
run: |
@@ -140,14 +136,9 @@ jobs:
sudo apt-get install -y libgtk-3-dev
- uses: Swatinem/rust-cache@v2
with:
workspaces: |
core -> ../target
tooling/cli
tooling/bundler
- name: Download udeps
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.7
with:
name: udeps
path: '~/.cargo/bin'
@@ -157,9 +148,7 @@ jobs:
- name: Install required packages
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev
sudo apt-get install -y webkit2gtk-4.1 libayatana-appindicator3-dev
- uses: actions-rs/cargo@v1
with:
command: udeps
args: --manifest-path ${{ matrix.path }}/Cargo.toml --all-targets --all-features
- name: Run udeps
run: cargo udeps --manifest-path ${{ matrix.path }}/Cargo.toml --all-targets --all-features

105
.gitignore vendored
View File

@@ -1,89 +1,52 @@
# Logs
# dependency directories
node_modules/
# Optional npm and yarn cache directory
.npm/
.yarn/
# Output of 'npm pack'
*.tgz
# dotenv environment variables file
.env
# .vscode workspace settings file
.vscode/settings.json
# npm, yarn and bun lock files
package-lock.json
yarn.lock
bun.lockb
# rust compiled folders
target/
# test video for streaming example
streaming_example_test_video.mp4
# examples /gen directory
/examples/**/src-tauri/gen/
/bench/**/src-tauri/gen/
# logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# smoke-tests repo
/smoke-tests
# Runtime data
# runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Typescript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional yarn cache directory
.yarn
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# miscellaneous
/.vs
.DS_Store
.Thumbs.db
*.sublime*
.idea
debug.log
package-lock.json
.vscode/settings.json
*/.vscode/
proptest-regressions/
TODO.md
# rust compiled folders
target
# lock for libs
#/Cargo.lock Committed to prevent msrv checks from failing
/tooling/bench/tests/Cargo.lock
/yarn.lock
# ignore frida handlers
__handlers__/
# benches
gh-pages
test_video.mp4
# old cli directories
/tooling/cli.js
/tooling/cli.rs

1
.husky/.gitignore vendored
View File

@@ -1 +0,0 @@
_

View File

@@ -1,24 +0,0 @@
#!/bin/sh
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
. "$(dirname "$0")/_/husky.sh"
if [ -z "$(git diff --name-only tooling/api)" ]; then
echo "skipping api - no changes detected"
else
cd tooling/api
yarn format
yarn lint:fix
cd ../..
fi
if [ -z "$(git diff --name-only tooling/cli/node)" ]; then
echo "skipping \`@tauri-apps/cli\` - no changes detected"
else
cd tooling/cli/node
yarn format
cd ../../..
fi

View File

@@ -1,12 +1,40 @@
/.github
/.husky
/.vscode
/audits
node_modules
target
dist
/core/tauri/scripts
/tooling/cli/templates
/tooling/cli/node
/tooling/cli/schema.json
/core/tauri-config-schema/schema.json
/.vscode
# change files are hand-written and shouldn't be formatted
/.changes/*
!/.changes/config.json
# dependcies and artifacts directories
node_modules/
target/
dist/
# lock files
pnpm-lock.yaml
# autogenerated and minimized js file
crates/tauri/scripts/bundle.global.js
# this file is an IIFE, shouldn't be formatted
crates/tauri/scripts/process-ipc-message-fn.js
# cli templates should be formatted manually
# it also includes invalid json files that
# prettier can't handle
crates/tauri-cli/templates
# autogenerated files
**/autogenerated/**/*.md
packages/cli/index.js
packages/cli/index.d.ts
crates/tauri-schema-worker/.wrangler
CHANGELOG.md
*schema.json
# WiX templates
*.wxs
# examples /gen directory
examples/**/src-tauri/gen
bench/**/src-tauri/gen

View File

@@ -1,55 +0,0 @@
#!/usr/bin/env pwsh
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
# note: you can pass in the cargo sub-commands used to check manually.
# allowed commands: check, clippy, fmt, test
# default: clippy, fmt, test
# set the script arguments if none are found
if(-Not $args) {
$args=@("clippy","fmt","test")
}
# exit the script early if the last command returned an error
function check_error {
if($LASTEXITCODE -ne 0 ) {
Exit $LASTEXITCODE
}
}
function run {
$command, $_args = $args
Write-Output "[$command]"
cargo $command --workspace --all-targets --all-features $_args
check_error
}
foreach ($command in $args) {
Switch ($command) {
"check" {
run check
break
}
"test" {
run test
break
}
"clippy" {
run clippy "--" -D warnings
break
}
"fmt" {
Write-Output "[$command] checking formatting"
cargo +nightly fmt "--" --check
check_error
}
default {
Write-Output "[cargo-check.ps1] Unknown cargo sub-command: $command"
Exit 1
}
}
}

View File

@@ -1,45 +0,0 @@
#!/usr/bin/env sh
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
# note: you can pass in the cargo sub-commands used to check manually.
# allowed commands: check, clippy, fmt, test
# default: clippy, fmt, test
# exit the script early if any of the commands return an error
set -e
# set the script arguments if none are found
if [ -z "$*" ]; then
set -- "clippy" "fmt" "test"
fi
# run n+1 times, where n is the amount of mutually exclusive features.
# the extra run is for all the crates without mutually exclusive features.
# as many features as possible are enabled at for each command
run() {
command=$1
shift 1
cargo "$command" --workspace --all-targets --all-features "$@"
}
for command in "$@"; do
case "$command" in
check | test)
run "$command"
;;
clippy)
run clippy -- -D warnings
;;
fmt)
echo "[$command] checking formatting"
cargo +nightly fmt -- --check
;;
*)
echo "[cargo-check.sh] Unknown cargo sub-command: $command"
exit 1
;;
esac
done

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env node
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
@@ -69,7 +69,9 @@ function checkChangeFiles(changeFiles) {
const [_bin, _script, ...files] = process.argv
if (files.length > 0) {
checkChangeFiles(files.filter((f) => f.toLowerCase() !== 'readme.md'))
checkChangeFiles(
files.filter((f) => f.toLowerCase() !== '.changes/readme.md')
)
} else {
const changeFiles = fs
.readdirSync('.changes')

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env node
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
@@ -8,25 +8,29 @@ const fs = require('fs')
const path = require('path')
const readline = require('readline')
const header = `Copyright 2019-2023 Tauri Programme within The Commons Conservancy
const header = `Copyright 2019-2024 Tauri Programme within The Commons Conservancy
SPDX-License-Identifier: Apache-2.0
SPDX-License-Identifier: MIT`
const bundlerLicense =
'// Copyright 2016-2019 Cargo-Bundle developers <https://github.com/burtonageo/cargo-bundle>'
const denoLicense =
'// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.'
const extensions = ['.rs', '.js', '.ts', '.yml']
const extensions = ['.rs', '.js', '.ts', '.yml', '.swift', '.kt']
const ignore = [
'target',
'templates',
'node_modules',
'gen',
'dist',
'bundle.js',
'bundle.global.js'
]
async function checkFile(file) {
if (extensions.some((e) => file.endsWith(e))) {
if (
extensions.some((e) => file.endsWith(e)) &&
!ignore.some((i) => file.includes(`/${i}/`) || path.basename(file) == i)
) {
const fileStream = fs.createReadStream(file)
const rl = readline.createInterface({
input: fileStream,
@@ -40,7 +44,9 @@ async function checkFile(file) {
if (
line.length === 0 ||
line.startsWith('#!') ||
line === bundlerLicense
line.startsWith('// swift-tools-version:') ||
line === bundlerLicense ||
line === denoLicense
) {
continue
}

View File

@@ -1,13 +1,15 @@
#!/bin/bash
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
if git diff --quiet --ignore-submodules HEAD
git_output=$(git diff --ignore-submodules --name-only HEAD)
if [ -z "$git_output" ];
then
echo "working directory is clean"
echo "working directory is clean"
else
echo "found diff"
echo "found diff:"
echo "$git_output"
exit 1
fi

View File

@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
@@ -10,7 +10,7 @@ for o in outputs/*; do
pushd "$o"
chmod +x cargo-tauri*
cp ../../tooling/cli/LICENSE* ../../tooling/cli/README.md .
cp ../../crates/tauri-cli/LICENSE* ../../crates/tauri-cli/README.md .
target=$(basename "$o" | cut -d. -f1)
if grep -qE '(apple|windows)' <<< "$target"; then

View File

@@ -1,28 +1,27 @@
#!/usr/bin/env node
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
/*
This script is solely intended to be run as part of the `covector version` step to
keep the `../tooling/cli/metadata.json` up to date with other version bumps. Long term
keep the `../../crates/tauri-cli/metadata-v2.json` up to date with other version bumps. Long term
we should look to find a more "rusty way" to import / "pin" a version value in our tauri-cli
rust binaries.
*/
const { readFileSync, writeFileSync } = require('fs')
const { resolve } = require('path')
const packageNickname = process.argv[2]
const filePath =
packageNickname === '@tauri-apps/cli'
? `../../../tooling/cli/metadata.json`
: `../../tooling/cli/metadata.json`
const filePath = resolve(__dirname, '../../crates/tauri-cli/metadata-v2.json')
const bump = process.argv[3]
let index = null
switch (bump) {
case 'major':
case 'premajor':
index = 0
break
case 'minor':
@@ -31,6 +30,10 @@ switch (bump) {
case 'patch':
index = 2
break
case 'prerelease':
case 'prepatch':
index = 3
break
default:
throw new Error('unexpected bump ' + bump)
}
@@ -44,6 +47,12 @@ const inc = (version) => {
v[i] = 0
}
}
if (bump === 'premajor') {
const pre = JSON.parse(
readFileSync(resolve(__dirname, '../../.changes/pre.json'), 'utf-8')
)
return `${v.join('.')}-${pre.tag}.0`
}
return v.join('.')
}
@@ -61,5 +70,5 @@ if (packageNickname === '@tauri-apps/cli') {
}
writeFileSync(filePath, JSON.stringify(metadata, null, 2) + '\n')
console.log(`wrote ${version} for ${packageNickname} into metadata.json`)
console.log(`wrote ${version} for ${packageNickname} into metadata-v2.json`)
console.dir(metadata)

View File

@@ -1,57 +0,0 @@
#!/usr/bin/env node
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
/*
This script is solely intended to be run as part of the `covector publish` step to
check the latest version of a crate, considering the current minor version.
*/
const https = require('https')
const kind = process.argv[2]
const packageName = process.argv[3]
const packageVersion = process.argv[4]
const target = packageVersion.substring(0, packageVersion.lastIndexOf('.'))
let url = null
switch (kind) {
case 'cargo':
url = `https://crates.io/api/v1/crates/${packageName}`
break
case 'npm':
url = `https://registry.npmjs.org/${packageName}`
break
default:
throw new Error('unexpected kind ' + kind)
}
const options = {
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
'User-Agent': 'tauri (https://github.com/tauri-apps/tauri)'
}
}
https.get(url, options, (response) => {
let chunks = []
response.on('data', function (chunk) {
chunks.push(chunk)
})
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')
} else if (kind === 'npm') {
const versions = Object.keys(data.versions).filter((v) =>
v.startsWith(target)
)
console.log(versions[versions.length - 1] || '0.0.0')
}
})
})

View File

@@ -1,7 +0,0 @@
#!/bin/sh
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
docker build -t aarch64-unknown-linux-gnu:latest --file .docker/cross/aarch64.Dockerfile .docker/cross

View File

@@ -1,30 +0,0 @@
#!/usr/bin/env pwsh
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
echo "Building API definitions..."
cd tooling\api
yarn; yarn build
cd ..\..
echo "Installing the Tauri Rust CLI..."
cd tooling\cli
cargo install --path .
cd ..\..
echo "Tauri Rust CLI installed. Run it with '$ cargo tauri [COMMAND]'."
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes"
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No"
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
$result = $host.ui.PromptForChoice("Node.js CLI", "Do you want to install the Node.js CLI?", $options, 1)
switch ($result) {
0{
cd tooling\cli\node
yarn; yarn build; yarn link
cd ..\..
echo "Tauri Node.js CLI installed. use `yarn link @tauri-apps/cli` and run it with '$ yarn tauri [COMMAND]'."
}
}

View File

@@ -1,29 +0,0 @@
#!/usr/bin/env bash
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
echo "Building API definitions..."
cd tooling/api
yarn && yarn build
cd ../..
echo "Building the Tauri Rust CLI..."
cd tooling/cli
cargo install --path .
cd ../..
echo "Tauri Rust CLI installed. Run it with '$ cargo tauri [COMMAND]'."
echo "Do you want to install the Node.js CLI?"
select yn in "Yes" "No"; do
case $yn in
Yes )
cd tooling/cli/node
yarn && yarn build && yarn link
cd ../../..
echo "Tauri Node.js CLI installed. use `yarn link @tauri-apps/cli` and run it with '$ yarn tauri [COMMAND]'."
break;;
No ) break;;
esac
done

View File

@@ -1,24 +0,0 @@
#!/usr/bin/env sh
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
declare -a examples=("api" "sidecar" "updater" "resources" "tauri-dynamic-lib" "workspace")
declare -a tooling=("bench" "cli" "webdriver")
for example in "${examples[@]}"
do
cd examples/$example/src-tauri
cargo update
cargo build
cd ../../..
done
for tooling in "${tooling[@]}"
do
cd tooling/$tooling
cargo update
cargo build
cd ../..
done

View File

@@ -1,66 +0,0 @@
: Copyright 2019-2023 Tauri Programme within The Commons Conservancy
: SPDX-License-Identifier: Apache-2.0
: SPDX-License-Identifier: MIT
@ECHO OFF
REM Copyright 2019-2023 Tauri Programme within The Commons Conservancy
REM SPDX-License-Identifier: Apache-2.0
REM SPDX-License-Identifier: MIT
ECHO Make EXE From BAT
ECHO.
ECHO.
REM Usage:
REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...]
REM
REM Required Parameters:
REM BatFileToConvert
REM Source batch file to use to produce the output Exe file.
REM
REM Optional Parameters:
REM IncludeFile
REM Additional files to include in the Exe file.
REM You can include external tools used by the batch file so they are available on the executing machine.
SETLOCAL
REM Configuration (no quotes needed):
SET PathTo7Zip=
REM ---- Do not modify anything below this line ----
SET OutputFile="%~n1.exe"
SET SourceFiles="%TEMP%MakeEXE_files.txt"
SET Config="%TEMP%MakeEXE_config.txt"
SET Source7ZFile="%Temp%MakeEXE.7z"
REM Remove existing files
IF EXIST %OutputFile% DEL %OutputFile%
REM Build source archive
ECHO "%~dpnx1" > %SourceFiles%
:AddInclude
IF {%2}=={} GOTO EndInclude
ECHO "%~dpnx2" >> %SourceFiles%
SHIFT /2
GOTO AddInclude
:EndInclude
"%PathTo7Zip%7za.exe" a %Source7ZFile% @%SourceFiles%
REM Build config file
ECHO ;!@Install@!UTF-8! > %Config%
ECHO RunProgram="%~nx1" >> %Config%
ECHO ;!@InstallEnd@! >> %Config%
REM Build EXE
COPY /B "%PathTo7Zip%7zsd.sfx" + %Config% + %Source7ZFile% %OutputFile%
REM Clean up
IF EXIST %SourceFiles% DEL %SourceFiles%
IF EXIST %Config% DEL %Config%
IF EXIST %Source7ZFile% DEL %Source7ZFile%
ENDLOCAL

16
.taurignore Normal file
View File

@@ -0,0 +1,16 @@
.changes
.devcontainer
.docker
.github
.scripts
.vscode
audits
bench
packages/api
packages/cli
crates/tauri-cli
crates/tauri-bundler
crates/tauri-driver
crates/tauri-macos-sign
crates/tauri-schema-generator
crates/tests

View File

@@ -1,7 +1,8 @@
{
"recommendations": [
"ms-vscode-remote.vscode-remote-extensionpack",
"rust-lang.rust-analyzer",
"EditorConfig.EditorConfig",
"esbenp.prettier-vscode"
"esbenp.prettier-vscode",
"tamasfe.even-better-toml"
]
}

View File

@@ -1,105 +1,134 @@
# The Tauri Architecture
https://tauri.app
https://github.com/tauri-apps/tauri
<https://tauri.app>
<https://github.com/tauri-apps/tauri>
## Introduction
Tauri is a polyglot and generic toolkit that is very composable and allows engineers to make a wide variety of applications. It is used for building applications for Desktop Computers using a combination of Rust tools and HTML rendered in a Webview. Apps built with Tauri can ship with any number of pieces of an optional JS API / Rust API so that webviews can control the system via message passing. In fact, developers can extend the default API with their own functionality and bridge the Webview and Rust-based backend easily.
Tauri apps can have custom menus and have tray-type interfaces. They can be updated, and are managed by the user's operating system as expected. They are very small, because they use the OS's webview. They do not ship a runtime, since the final binary is compiled from Rust. This makes the reversing of Tauri apps not a trivial task.
## What Tauri is NOT
- Tauri is not a lightweight kernel wrapper...instead it directly uses [WRY](#wry) and [TAO](#tao) to do the heavy-lifting in making system calls to the OS.
- Tauri is not a VM or virtualized environment...instead it is an application toolkit that allows making Webview OS applications.
## Major Components
The following section briefly describes the roles of the various parts of Tauri.
### Tauri Core [STABLE RUST]
#### [tauri](https://github.com/tauri-apps/tauri/tree/dev/core/tauri)
#### [tauri](https://github.com/tauri-apps/tauri/tree/dev/crates/tauri)
This is the major crate that holds everything together. It brings the runtimes, macros, utilities and API into one final product. It reads the `tauri.conf.json` file at compile time in order to bring in features and undertake actual configuration of the app (and even the `Cargo.toml` file in the project's folder). It handles script injection (for polyfills / prototype revision) at runtime, hosts the API for systems interaction, and even manages updating.
#### [tauri-build](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-build)
#### [tauri-build](https://github.com/tauri-apps/tauri/tree/dev/crates/tauri-build)
Apply the macros at build-time in order to rig some special features needed by `cargo`.
#### [tauri-codegen](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-codegen)
#### [tauri-codegen](https://github.com/tauri-apps/tauri/tree/dev/crates/tauri-codegen)
- Embed, hash, and compress assets, including icons for the app as well as the system-tray.
- Parse `tauri.conf.json` at compile time and generate the Config struct.
#### [tauri-macros](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-macros)
#### [tauri-macros](https://github.com/tauri-apps/tauri/tree/dev/crates/tauri-macros)
Create macros for the context, handler, and commands by leveraging the `tauri-codegen` crate.
#### [tauri-runtime](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-runtime)
#### [tauri-runtime](https://github.com/tauri-apps/tauri/tree/dev/crates/tauri-runtime)
This is the glue layer between tauri itself and lower level webview libraries.
#### [tauri-runtime-wry](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-runtime-wry)
#### [tauri-runtime-wry](https://github.com/tauri-apps/tauri/tree/dev/crates/tauri-runtime-wry)
This crate opens up direct systems-level interactions specifically for WRY, such as printing, monitor detection, and other windowing related tasks. `tauri-runtime` implementation for WRY.
#### [tauri-utils](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-utils)
#### [tauri-utils](https://github.com/tauri-apps/tauri/tree/dev/crates/tauri-utils)
This is common code that is reused in many places and offers useful utilities like parsing configuration files, detecting platform triples, injecting the CSP, and managing assets.
### Tauri Tooling
#### [@tauri-apps/api](https://github.com/tauri-apps/tauri/tree/dev/tooling/api) [TS -> JS]
#### [@tauri-apps/api](https://github.com/tauri-apps/tauri/tree/dev/packages/api) [TS -> JS]
A TypeScript library that creates `cjs` and `esm` JavaScript endpoints for you to import into your Frontend framework so that the Webview can call and listen to backend activity. We also ship the pure TypeScript, because for some frameworks this is more optimal. It uses the message passing of webviews to their hosts.
#### [bundler](https://github.com/tauri-apps/tauri/tree/dev/tooling/bundler) [RUST / SHELL]
#### [bundler](https://github.com/tauri-apps/tauri/tree/dev/crates/tauri-bundler) [RUST / SHELL]
The bundler is a library that builds a Tauri App for the platform triple it detects / is told. At the moment it currently supports macOS, Windows and Linux - but in the near future will support mobile platforms as well. May be used outside of Tauri projects.
#### [@tauri-apps/cli](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli/node) [JS]
It is a wrapper around [tauri-cli](https://github.com/tauri-apps/tauri/blob/dev/tooling/cli) using [napi-rs](https://github.com/napi-rs/napi-rs) to produce NPM packages for each platform.
#### [@tauri-apps/cli](https://github.com/tauri-apps/tauri/tree/dev/packages/cli) [JS]
It is a wrapper around [tauri-cli](https://github.com/tauri-apps/tauri/blob/dev/crates/tauri-cli) using [napi-rs](https://github.com/napi-rs/napi-rs) to produce NPM packages for each platform.
#### [tauri-cli](https://github.com/tauri-apps/tauri/tree/dev/crates/tauri-cli) [RUST]
#### [tauri-cli](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli) [RUST]
This rust executable provides the full interface to all of the required activities for which the CLI is required. It will run on macOS, Windows, and Linux.
#### [create-tauri-app](https://github.com/tauri-apps/create-tauri-app) [JS]
This is a toolkit that will enable engineering teams to rapidly scaffold out a new tauri-apps project using the frontend framework of their choice (as long as it has been configured).
# External Crates
The Tauri-Apps organisation maintains two "upstream" crates from Tauri, namely TAO for creating and managing application windows, and WRY for interfacing with the Webview that lives within the window.
## [TAO](https://github.com/tauri-apps/tao)
Cross-platform application window creation library in Rust that supports all major platforms like Windows, macOS, Linux, iOS and Android. Written in Rust, it is a fork of [winit](https://github.com/rust-windowing/winit) that we have extended for our own needs like menu bar and system tray.
## [WRY](https://github.com/tauri-apps/wry)
WRY is a cross-platform WebView rendering library in Rust that supports all major desktop platforms like Windows, macOS, and Linux.
Tauri uses WRY as the abstract layer responsible to determine which webview is used (and how interactions are made).
# Additional tooling
## [tauri-action](https://github.com/tauri-apps/tauri-action)
This is a github workflow that builds tauri binaries for all platforms. It is not the fastest out there, but it gets the job done and is highly configurable. Even allowing you to create a (very basic) tauri app even if tauri is not setup.
## [create-pull-request](https://github.com/tauri-apps/create-pull-request)
Because this is a very risky (potentially destructive) github action, we forked it in order to have strong guarantees that the code we think is running is actually the code that is running.
## [vue-cli-plugin-tauri](https://github.com/tauri-apps/vue-cli-plugin-tauri)
This plugin allows you to very quickly install tauri in a vue-cli project.
## [tauri-vscode](https://github.com/tauri-apps/tauri-vscode)
This project enhances the VS Code interface with several nice-to-have features.
# Tauri Plugins [documentation](https://tauri.app/v1/guides/features/plugin/)
# Tauri Plugins [documentation](https://v2.tauri.app/develop/plugins/)
Generally speaking, plugins are authored by third parties (even though there may be official, supported plugins). A plugin generally does 3 things:
1. It provides rust code to do "something".
2. It provides interface glue to make it easy to integrate into an app.
3. It provides a JS API for interfacing with the rust code.
Here are several examples of Tauri Plugins:
- https://github.com/tauri-apps/tauri-plugin-sql
- https://github.com/tauri-apps/tauri-plugin-stronghold
- https://github.com/tauri-apps/tauri-plugin-authenticator
- <https://github.com/tauri-apps/tauri-plugin-sql>
- <https://github.com/tauri-apps/tauri-plugin-stronghold>
- <https://github.com/tauri-apps/tauri-plugin-authenticator>
# Workflows
## What does the Development flow look like?
A developer must first install the prerequisite toolchains for creating a Tauri app. At the very least this will entail installing rust & cargo, and most likely also a modern version of node.js and potentially another package manager. Some platforms may also require other tooling and libraries, but this has been documented carefully in the respective platform docs.
Because of the many ways to build front-ends, we will stick with a common node.js based approach for development. (Note: Tauri does not by default ship a node.js runtime.)
The easiest way to do this is to run the following:
```
npx create-tauri-app
npm create tauri-app
```
Which will ask you a bunch of questions about the framework you want to install and then create everything you need in a single folder - some via the placement of template files and some through normal installation procedures of your framework.
@@ -107,12 +136,17 @@ Which will ask you a bunch of questions about the framework you want to install
> If you don't use this process, you will have to manually install the tauri cli, initialise tauri and manually configure the `tauri.conf.json` file.
Once everything is installed, you can run:
```
pnpm tauri dev
-or-
yarn tauri dev
-or-
npm run tauri dev
```
This will do several things:
1. start the JS Framework devserver
2. begin the long process of downloading and compiling the rust libraries
3. open an application window with devtools enabled
@@ -125,10 +159,9 @@ If you modify your rust code or anything in the Cargo.toml, the window will clos
If you need to get deeper insight into your current project, or triage requires investigation of installed components, just run:
```
yarn tauri info
pnpm tauri info
```
## What does the Release flow look like?
The release flow begins with proper configuration in the `tauri.conf.json` file. In this file, the developer can configure not only the basic behaviour of the application (like window size and decoration), they can also provide settings for signing and updating.
@@ -136,21 +169,25 @@ The release flow begins with proper configuration in the `tauri.conf.json` file.
Depending upon the operating system that the developer (or CI) is building the application on, there will be an app built for them for that system. (Cross compilation is not currently available, however there is an official [GitHub Action](https://github.com/tauri-apps/tauri-action) that can be used to build for all platforms.)
To kick off this process, just:
```
yarn tauri build
pnpm tauri build
```
After some time, the process will end and you can see the results in the `./src-tauri/target/release` folder.
## What does the End-User flow look like?
End users will be provided with binaries in ways that are appropriate for their systems. Whether macOS, Linux, or Windows, direct download or store installations - they will be able to follow procedures for installing and removing that they are used to.
## What does the Updating flow look like?
When a new version is ready, the developer publishes the new signed artifacts to a server (that they have configured within `tauri.conf.json`).
The application can poll this server to see if there is a new release. When there is a new release, the user is prompted to update. The application update is downloaded, verified (checksum & signature), updated, closed, and restarted.
## License
Tauri itself is licensed under MIT or Apache-2.0. If you repackage it and modify any source code, it is your responsibility to verify that you are complying with all upstream licenses. Tauri is provided AS-IS with no explicit claim for suitability for any purpose.
Here you may peruse our [Software Bill of Materials](https://app.fossa.com/projects/git%2Bgithub.com%2Ftauri-apps%2Ftauri).

9794
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,30 +1,49 @@
[workspace]
resolver = "2"
members = [
# core
"core/tauri",
"core/tauri-runtime",
"core/tauri-runtime-wry",
"core/tauri-macros",
"core/tauri-utils",
"core/tauri-build",
"core/tauri-codegen",
"core/tauri-config-schema",
"crates/tauri",
"crates/tauri-runtime",
"crates/tauri-runtime-wry",
"crates/tauri-macros",
"crates/tauri-utils",
"crates/tauri-build",
"crates/tauri-codegen",
"crates/tauri-plugin",
"crates/tauri-schema-generator",
"crates/tauri-schema-worker",
"crates/tauri-cli",
"crates/tauri-bundler",
"crates/tauri-macos-sign",
"crates/tauri-driver",
# @tauri-apps/cli rust project
"packages/cli",
# integration tests
"core/tests/restart",
"core/tests/app-updater",
]
"crates/tests/restart",
"crates/tests/acl",
exclude = [
# examples that can be compiled with the tauri CLI
"examples/api/src-tauri",
"examples/updater/src-tauri",
# bench
"bench",
"bench/tests/cpu_intensive/src-tauri",
"bench/tests/files_transfer/src-tauri",
"bench/tests/helloworld/src-tauri",
# examples
"examples/file-associations/src-tauri",
"examples/resources/src-tauri",
"examples/sidecar/src-tauri",
"examples/web/core",
"examples/workspace",
"examples/api/src-tauri",
"examples/api/src-tauri/tauri-plugin-sample",
]
resolver = "2"
[workspace.package]
authors = ["Tauri Programme within The Commons Conservancy"]
homepage = "https://tauri.app/"
repository = "https://github.com/tauri-apps/tauri"
categories = ["gui", "web-programming"]
license = "Apache-2.0 OR MIT"
edition = "2021"
rust-version = "1.77.2"
# default to small, optimized workspace release binaries
[profile.release]
@@ -33,3 +52,21 @@ codegen-units = 1
lto = true
incremental = false
opt-level = "s"
strip = true
# profiles for tauri-cli
[profile.dev.package.miniz_oxide]
opt-level = 3
[profile.release-size-optimized]
inherits = "release"
codegen-units = 1
lto = true
incremental = false
opt-level = "s"
# Temporary patch to schemars to preserve newlines in docstrings for our reference docs schemas
# See https://github.com/GREsau/schemars/issues/120 for reference
[patch.crates-io]
schemars_derive = { git = 'https://github.com/tauri-apps/schemars.git', branch = 'feat/preserve-description-newlines' }
tauri = { path = "./crates/tauri" }

View File

@@ -6,7 +6,7 @@ PackageSupplier: Organization: The Tauri Programme in the Commons Conservancy
PackageHomePage: https://tauri.app
PackageLicenseDeclared: Apache-2.0
PackageLicenseDeclared: MIT
PackageCopyrightText: 2019-2022, The Tauri Programme in the Commons Conservancy
PackageCopyrightText: 2019-2024, The Tauri Programme in the Commons Conservancy
PackageSummary: <text>Tauri is a rust project that enables developers to make secure
and small desktop applications using a web frontend.
</text>

161
README.md
View File

@@ -9,121 +9,49 @@
[![https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg](https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg)](https://good-labs.github.io/greater-good-affirmation)
[![support](https://img.shields.io/badge/sponsor-Open%20Collective-blue.svg)](https://opencollective.com/tauri)
## Current Releases
### Core
| Component | Description | Version | Lin | Win | Mac |
| -------------------------------------------------------------------------------------------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------- | --- | --- | --- |
| [**tauri**](https://github.com/tauri-apps/tauri/tree/dev/core/tauri) | runtime core | [![](https://img.shields.io/crates/v/tauri.svg)](https://crates.io/crates/tauri) | ✅ | ✅ | ✅ |
| [**tauri-build**](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-build) | applies macros at build-time | [![](https://img.shields.io/crates/v/tauri-build.svg)](https://crates.io/crates/tauri-build) | ✅ | ✅ | ✅ |
| [**tauri-codegen**](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-codegen) | handles assets, parses tauri.conf.json | [![](https://img.shields.io/crates/v/tauri-codegen.svg)](https://crates.io/crates/tauri-codegen) | ✅ | ✅ | ✅ |
| [**tauri-macros**](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-macros) | creates macros using tauri-codegen | [![](https://img.shields.io/crates/v/tauri-macros.svg)](https://crates.io/crates/tauri-macros) | ✅ | ✅ | ✅ |
| [**tauri-runtime**](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-runtime) | layer between Tauri and webview libraries | [![](https://img.shields.io/crates/v/tauri-runtime.svg)](https://crates.io/crates/tauri-runtime) | ✅ | ✅ | ✅ |
| [**tauri-runtime-wry**](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-runtime-wry) | enables system-level interaction via WRY | [![](https://img.shields.io/crates/v/tauri-runtime-wry.svg)](https://crates.io/crates/tauri-runtime-wry) | ✅ | ✅ | ✅ |
| [**tauri-utils**](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-utils) | common code used across the tauri crates | [![](https://img.shields.io/crates/v/tauri-utils.svg)](https://crates.io/crates/tauri-utils) | ✅ | ✅ | ✅ |
### Tooling
| Component | Description | Version | Lin | Win | Mac |
| ------------------------------------------------------------------------------------ | ---------------------------------------- | ------------------------------------------------------------------------------------------------------ | --- | --- | --- |
| [**bundler**](https://github.com/tauri-apps/tauri/tree/dev/tooling/bundler) | manufacture the final binaries | [![](https://img.shields.io/crates/v/tauri-bundler.svg)](https://crates.io/crates/tauri-bundler) | ✅ | ✅ | ✅ |
| [**tauri-cli**](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli) | create, develop and build apps | [![](https://img.shields.io/crates/v/tauri-cli.svg)](https://crates.io/crates/tauri-cli) | ✅ | ✅ | ✅ |
| [**@tauri-apps/cli**](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli/node) | Node.js CLI wrapper for `tauri-cli` | [![](https://img.shields.io/npm/v/@tauri-apps/cli.svg)](https://www.npmjs.com/package/@tauri-apps/cli) | ✅ | ✅ | ✅ |
| [**@tauri-apps/api**](https://github.com/tauri-apps/tauri/tree/dev/tooling/api) | JS API for interaction with Rust backend | [![](https://img.shields.io/npm/v/@tauri-apps/api.svg)](https://www.npmjs.com/package/@tauri-apps/api) | ✅ | ✅ | ✅ |
### Utilities and Plugins
| Component | Description | Version | Lin | Win | Mac |
| ------------------------------------------------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | --- | --- | --- |
| [**create-tauri-app**](https://github.com/tauri-apps/create-tauri-app) | Get started with your first Tauri app | [![](https://img.shields.io/npm/v/create-tauri-app.svg)](https://www.npmjs.com/package/create-tauri-app) | ✅ | ✅ | ✅ |
| [**vue-cli-plugin-tauri**](https://github.com/tauri-apps/vue-cli-plugin-tauri/) | Vue CLI plugin for Tauri | [![](https://img.shields.io/npm/v/vue-cli-plugin-tauri.svg)](https://www.npmjs.com/package/vue-cli-plugin-tauri) | ✅ | ✅ | ✅ |
## Introduction
Tauri is a framework for building tiny, blazingly fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface. The backend of the application is a rust-sourced binary with an API that the front-end can interact with.
The user interface in Tauri apps currently leverages [`tao`](https://docs.rs/tao) as a window handling library on macOS and Windows, and [`gtk`](https://gtk-rs.org/docs/gtk/) on Linux via the **Tauri-team** incubated and maintained [WRY](https://github.com/tauri-apps/wry), which creates a unified interface to the system webview (and other goodies like Menu and Taskbar), leveraging WebKit on macOS, WebView2 on Windows and WebKitGTK on Linux.
The user interface in Tauri apps currently leverages [`tao`](https://docs.rs/tao) as a window handling library on macOS, Windows, Linux, Android and iOS. To render your application, Tauri uses [WRY](https://github.com/tauri-apps/wry), a library which provides a unified interface to the system webview, leveraging WKWebView on macOS & iOS, WebView2 on Windows, WebKitGTK on Linux and Android System WebView on Android.
To learn more about the details of how all of these pieces fit together, please consult this [ARCHITECTURE.md](https://github.com/tauri-apps/tauri/blob/dev/ARCHITECTURE.md) document.
## Get Started
## Getting Started
If you are interested in making a tauri app, please visit the [documentation website](https://tauri.app). This README is directed towards those who are interested in contributing to the core library. But if you just want a quick overview about where `tauri` is at in its development, here's a quick burndown:
If you are interested in making a tauri app, please visit the [documentation website](https://tauri.app).
The quickest way to get started is to install the [prerequisites](https://v2.tauri.app/start/prerequisites/) for your system and create a new project with [`create-tauri-app`](https://github.com/tauri-apps/create-tauri-app/#usage). For example with `npm`:
```sh
npm create tauri-app@latest
```
## Features
The list of Tauri's features includes, but is not limited to:
- Built-in app bundler to create app bundles in formats like `.app`, `.dmg`, `.deb`, `.rpm`, `.AppImage` and Windows installers like `.exe` (via NSIS) and `.msi` (via WiX).
- Built-in self updater (desktop only)
- System tray icons
- Native notifications
- [Localhost free (🔥)](https://github.com/tauri-apps/tauri/issues/10510)
- GitHub action for streamlined CI
- VS Code extension
### Platforms
Tauri currently supports development and distribution on the following platforms:
| Platform | Versions |
| :----------------------- | :-------------- |
| Windows | 7 and above |
| macOS | 10.15 and above |
| Linux | See below |
| iOS/iPadOS (coming soon) | |
| Android (coming soon) | |
| Platform | Versions |
| :---------------- | :-------------------------------------------------------------------------------------------------------------- |
| Windows | 7 and above |
| macOS | 10.15 and above |
| Linux | webkit2gtk 4.0 for Tauri v1 (for example Ubuntu 18.04). webkit2gtk 4.1 for Tauri v2 (for example Ubuntu 22.04). |
| iOS/iPadOS (beta) | 9 and above |
| Android (beta) | 7 and above |
**Linux Support**
For **developing** Tauri apps refer to the [Getting Started guide on tauri.app](https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-linux).
For **running** Tauri apps we support the below configurations (these are automatically added as dependencies for .deb and are bundled for AppImage so that your users don't need to manually install them):
- Debian (Ubuntu 18.04 and above or equivalent) with the following packages installed:
- `libwebkit2gtk-4.0-37`, `libgtk-3-0`, `libayatana-appindicator3-1`<sup>1</sup>
- Arch with the following packages installed:
- `webkit2gtk`, `gtk3`, `libayatana-appindicator`<sup>1</sup>
- Fedora (latest 2 versions) with the following packages installed:
- `webkit2gtk3`, `gtk3`, `libappindicator-gtk3`<sup>1</sup>
- Void with the following packages installed:
- `webkit2gtk`, `gtk+3`, `libappindicator`<sup>1</sup>
<sup>1</sup> `appindicator` is only required if system trays are used
### Features
- [x] Desktop Bundler (.app, .dmg, .deb, AppImage, .msi)
- [x] Self Updater
- [x] App Signing
- [x] Native Notifications (toast)
- [x] App Tray
- [x] Core Plugin System
- [x] Scoped Filesystem
- [x] Sidecar
### Security Features
- [x] localhost-free (:fire:)
- [x] custom protocol for secure mode
- [x] Dynamic ahead of Time Compilation (dAoT) with functional tree-shaking
- [x] functional Address Space Layout Randomization
- [x] OTP salting of function names and messages at runtime
- [x] CSP Injection
### Utilities
- [x] Rust-based CLI
- [x] GH Action for creating binaries for all platforms
- [x] VS Code Extension
## Development
Tauri is a system composed of a number of moving pieces:
### Infrastructure
- Git for code management
- GitHub for project management
- GitHub actions for CI and CD
- Discord for discussions
- Netlify-hosted documentation website
- DigitalOcean Meilisearch instance
### Operating systems
Tauri core can be developed on Mac, Linux and Windows, but you are encouraged to use the latest possible operating systems and build tools for your OS.
### Contributing
## Contributing
Before you start working on something, it's best to check if there is an existing issue first. It's also a good idea to stop by the Discord server and confirm with the team if it makes sense or if someone else is already working on it.
@@ -133,32 +61,31 @@ Thank you to everyone contributing to Tauri!
### Documentation
Documentation in a polyglot system is a tricky proposition. To this end, we prefer to use inline documentation of Rust code and at JSDoc in typescript / javascript code. We autocollect these and publish them using Docusaurus v2 and netlify. Here is the hosting repository for the documentation site: https://github.com/tauri-apps/tauri-docs
Documentation in a polyglot system is a tricky proposition. To this end, we prefer to use inline documentation in the Rust & JS source code as much as possible. Check out the hosting repository for the documentation site for further information: <https://github.com/tauri-apps/tauri-docs>
### Testing & Linting
## Partners
Test all the things! We have a number of test suites, but are always looking to improve our coverage:
<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>
- Rust (`cargo test`) => sourced via inline `#[cfg(test)]` declarations
- Typescript (`jest`) => via spec files
- Smoke Tests (run on merges to latest)
- eslint, clippy
### CI/CD
We recommend you read this article to understand better how we run our pipelines: https://www.jacobbolda.com/setting-up-ci-and-cd-for-tauri/
For the complete list of sponsors please visit our [website](https://tauri.app#sponsors) and [Open Collective](https://opencollective.com/tauri).
## Organization
Tauri aims to be a sustainable collective based on principles that guide [sustainable free and open software communities](https://sfosc.org). To this end it has become a Programme within the [Commons Conservancy](https://commonsconservancy.org/), and you can contribute financially via [Open Collective](https://opencollective.com/tauri).
## Semver
**tauri** is following [Semantic Versioning 2.0](https://semver.org/).
## Licenses
Code: (c) 2015 - 2021 - The Tauri Programme within The Commons Conservancy.
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
MIT or MIT/Apache 2.0 where applicable.

View File

@@ -10,8 +10,8 @@
## Reporting a Vulnerability
If you have found a potential security threat, vulnerability or exploit in Tauri
or one of its upstream dependencies, please DONT create a pull-request, DONT
file an issue on GitHub, DONT mention it on Discord and DONT create a forum thread.
or one of its upstream dependencies, please DON'T create a pull-request, DON'T
file an issue on GitHub, DON'T mention it on Discord and DON'T create a forum thread.
Please submit your report via the GitHub Private Vulnerability Disclosure functionality.
@@ -24,5 +24,5 @@ Additionally, we may ask you to independently verify our patch, which will be av
Depending on your decision to accept or deny credit for the vulnerability, you will be publicly attributed to the vulnerability and may be mentioned in our announcements.
At the current time we do not have the financial ability to reward bounties,
At the current time we do not have the financial ability to reward bounties,
but in extreme cases will at our discretion consider a reward.

Binary file not shown.

View File

@@ -1,21 +1,19 @@
workspace = {}
[package]
name = "tauri_bench"
version = "0.1.0"
authors = [ "Tauri Programme within The Commons Conservancy" ]
authors = ["Tauri Programme within The Commons Conservancy"]
edition = "2021"
rust-version = "1.60"
rust-version = "1.77.2"
license = "Apache-2.0 OR MIT"
description = "Cross-platform WebView rendering library"
repository = "https://github.com/tauri-apps/wry"
[dependencies]
anyhow = "1.0.40"
anyhow = "1"
time = { version = "0.3", features = ["formatting"] }
tempfile = "3.2.0"
serde_json = "1.0"
serde = { version = "1.0", features = [ "derive" ] }
tempfile = "3"
serde_json = "1"
serde = { version = "1", features = ["derive"] }
[[bin]]
name = "run_benchmark"

View File

@@ -1,6 +1,6 @@
# Tauri Bench
<img align="right" src="https://github.com/tauri-apps/tauri/raw/dev/app-icon.png" height="128" width="128">
<img align="right" src="https://github.com/tauri-apps/tauri/raw/dev/.github/icon.png" height="128" width="128">
[![status](https://img.shields.io/badge/Status-beta-green.svg)](https://github.com/tauri-apps/tauri)
[![License](https://img.shields.io/badge/License-MIT%20or%20Apache%202-green.svg)](https://opencollective.com/tauri)
@@ -12,21 +12,27 @@
[![support](https://img.shields.io/badge/sponsor-Open%20Collective-blue.svg)](https://opencollective.com/tauri)
## About Tauri
Tauri is a polyglot and generic system that is very composable and allows engineers to make a wide variety of applications. It is used for building applications for Desktop Computers using a combination of Rust tools and HTML rendered in a Webview. Apps built with Tauri can ship with any number of pieces of an optional JS API / Rust API so that webviews can control the system via message passing. In fact, developers can extend the default API with their own functionality and bridge the Webview and Rust-based backend easily.
Tauri apps can have custom menus and have tray-type interfaces. They can be updated, and are managed by the user's operating system as expected. They are very small, because they use the system's webview. They do not ship a runtime, since the final binary is compiled from rust. This makes the reversing of Tauri apps not a trivial task.
## This module
This rust module run on CI, provides internal metrics results of Tauri. To learn more see [benchmark_results](https://github.com/tauri-apps/benchmark_results) repository.
***_Internal use only_**
**\*_Internal use only_**
## Semver
**tauri** is following [Semantic Versioning 2.0](https://semver.org/).
## Licenses
Code: (c) 2015 - 2021 - The Tauri Programme within The Commons Conservancy.
MIT or MIT/Apache 2.0 where applicable.
Logo: CC-BY-NC-ND
- Original Tauri Logo Designs by [Daniel Thompson-Yvetot](https://github.com/nothingismagick) and [Guillaume Chau](https://github.com/akryum)

View File

@@ -1,7 +1,16 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
//! This Rust binary runs on CI and provides internal metrics results of Tauri. To learn more see [benchmark_results](https://github.com/tauri-apps/benchmark_results) repository.
//!
//! ***_Internal use only_**
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/.github/icon.png",
html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/.github/icon.png"
)]
use std::{fs::File, io::BufReader};
mod utils;
@@ -15,7 +24,7 @@ fn main() {
// current data
let current_data_buffer = BufReader::new(
File::open(&utils::target_dir().join("bench.json")).expect("Unable to read current data file"),
File::open(utils::target_dir().join("bench.json")).expect("Unable to read current data file"),
);
let current_data: utils::BenchResult =
serde_json::from_reader(current_data_buffer).expect("Unable to read current data buffer");
@@ -41,7 +50,7 @@ fn main() {
tauri_data
.to_str()
.expect("Something wrong with tauri_data"),
&serde_json::to_value(&all_data).expect("Unable to build final json (all)"),
&serde_json::to_value(all_data).expect("Unable to build final json (all)"),
)
.unwrap_or_else(|_| panic!("Unable to write {:?}", tauri_data));
@@ -49,7 +58,7 @@ fn main() {
tauri_recent
.to_str()
.expect("Something wrong with tauri_recent"),
&serde_json::to_value(&recent).expect("Unable to build final json (recent)"),
&serde_json::to_value(recent).expect("Unable to build final json (recent)"),
)
.unwrap_or_else(|_| panic!("Unable to write {:?}", tauri_recent));
}

View File

@@ -1,7 +1,16 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
//! This Rust binary runs on CI and provides internal metrics results of Tauri. To learn more see [benchmark_results](https://github.com/tauri-apps/benchmark_results) repository.
//!
//! ***_Internal use only_**
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/.github/icon.png",
html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/.github/icon.png"
)]
use anyhow::Result;
use std::{
collections::{HashMap, HashSet},
@@ -17,22 +26,19 @@ fn get_all_benchmarks() -> Vec<(String, String)> {
vec![
(
"tauri_hello_world".into(),
format!(
"tests/target/{}/release/bench_helloworld",
utils::get_target()
),
format!("../target/{}/release/bench_helloworld", utils::get_target()),
),
(
"tauri_cpu_intensive".into(),
format!(
"tests/target/{}/release/bench_cpu_intensive",
"../target/{}/release/bench_cpu_intensive",
utils::get_target()
),
),
(
"tauri_3mb_transfer".into(),
format!(
"tests/target/{}/release/bench_files_transfer",
"../target/{}/release/bench_files_transfer",
utils::get_target()
),
),
@@ -180,7 +186,7 @@ fn cargo_deps() -> HashMap<String, usize> {
cmd.args(["--edges", "normal"]);
cmd.args(["--prefix", "none"]);
cmd.args(["--target", target]);
cmd.current_dir(&utils::tauri_root_path());
cmd.current_dir(utils::tauri_root_path());
let full_deps = cmd.output().expect("failed to run cargo tree").stdout;
let full_deps = String::from_utf8(full_deps).expect("cargo tree output not utf-8");
@@ -265,7 +271,7 @@ fn main() -> Result<()> {
let target_dir = utils::target_dir();
env::set_current_dir(&utils::bench_root_path())?;
env::set_current_dir(utils::bench_root_path())?;
let format =
time::format_description::parse("[year]-[month]-[day]T[hour]:[minute]:[second]Z").unwrap();

View File

@@ -1,4 +1,4 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
@@ -37,7 +37,17 @@ pub struct StraceOutput {
pub fn get_target() -> &'static str {
#[cfg(target_os = "macos")]
return "x86_64-apple-darwin";
return if cfg!(target_arch = "aarch64") {
"aarch64-apple-darwin"
} else {
"x86_64-apple-darwin"
};
#[cfg(target_os = "ios")]
return if cfg!(target_arch = "aarch64") {
"aarch64-apple-ios"
} else {
"x86_64-apple-ios"
};
#[cfg(target_os = "linux")]
return "x86_64-unknown-linux-gnu";
#[cfg(target_os = "windows")]
@@ -46,7 +56,7 @@ pub fn get_target() -> &'static str {
pub fn target_dir() -> PathBuf {
bench_root_path()
.join("tests")
.join("..")
.join("target")
.join(get_target())
.join("release")
@@ -58,20 +68,15 @@ pub fn bench_root_path() -> PathBuf {
#[allow(dead_code)]
pub fn home_path() -> PathBuf {
#[cfg(any(target_os = "macos", target_os = "linux"))]
#[cfg(any(target_os = "macos", target_os = "ios", target_os = "linux"))]
return PathBuf::from(env!("HOME"));
#[cfg(any(target_os = "windows"))]
#[cfg(target_os = "windows")]
return PathBuf::from(env!("HOMEPATH"));
}
#[allow(dead_code)]
pub fn tauri_root_path() -> PathBuf {
bench_root_path()
.parent()
.unwrap()
.parent()
.unwrap()
.to_path_buf()
bench_root_path().parent().unwrap().to_path_buf()
}
#[allow(dead_code)]
@@ -88,8 +93,8 @@ pub fn run_collect(cmd: &[&str]) -> (String, String) {
stderr,
status,
} = prog.wait_with_output().expect("failed to wait on child");
let stdout = String::from_utf8(stdout).unwrap();
let stderr = String::from_utf8(stderr).unwrap();
let stdout = String::from_utf8_lossy(&stdout).to_string();
let stderr = String::from_utf8_lossy(&stderr).to_string();
if !status.success() {
eprintln!("stdout: <<<{}>>>", stdout);
eprintln!("stderr: <<<{}>>>", stderr);
@@ -104,7 +109,7 @@ pub fn parse_max_mem(file_path: &str) -> Option<u64> {
let output = BufReader::new(file);
let mut highest: u64 = 0;
// MEM 203.437500 1621617192.4123
for line in output.lines().flatten() {
for line in output.lines().map_while(Result::ok) {
// split line by space
let split = line.split(' ').collect::<Vec<_>>();
if split.len() == 3 {

View File

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />

View File

@@ -1,4 +1,4 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
@@ -21,7 +21,7 @@ const onMessage = (message) => {
if (message.data.status === 'done') {
// tell tauri that we are done
window.__TAURI__.invoke('app_completed_successfully')
window.__TAURI__.core.invoke('app_completed_successfully')
}
status.innerHTML = `${prefix} Found <code>${message.data.count}</code> prime numbers in <code>${message.data.time}ms</code>`

View File

@@ -1,4 +1,4 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT

View File

@@ -0,0 +1,16 @@
[package]
name = "bench_cpu_intensive"
version = "0.1.0"
description = "A very simple Tauri Application"
edition = "2021"
rust-version = "1.77.2"
[build-dependencies]
tauri-build = { path = "../../../../crates/tauri-build", features = [
"codegen",
] }
[dependencies]
serde_json = "1"
serde = { version = "1", features = ["derive"] }
tauri = { path = "../../../../crates/tauri", features = [] }

View File

@@ -1,4 +1,4 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT

View File

@@ -1,4 +1,4 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT

View File

@@ -0,0 +1,33 @@
{
"$schema": "../../../../crates/tauri-schema-generator/schemas/config.schema.json",
"identifier": "com.tauri.dev",
"build": {
"frontendDist": "../public"
},
"app": {
"withGlobalTauri": true,
"windows": [
{
"title": "Welcome to Tauri!",
"width": 800,
"height": 600,
"resizable": true,
"fullscreen": false
}
],
"security": {
"csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self'; connect-src ipc: http://ipc.localhost"
}
},
"bundle": {
"active": true,
"targets": "all",
"icon": [
"../../../../examples/.icons/32x32.png",
"../../../../examples/.icons/128x128.png",
"../../../../examples/.icons/128x128@2x.png",
"../../../../examples/.icons/icon.icns",
"../../../../examples/.icons/icon.ico"
]
}
}

View File

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
@@ -10,25 +10,19 @@
<script>
window.addEventListener('DOMContentLoaded', (event) => {
window.__TAURI__
.invoke('tauri', {
__tauriModule: 'Fs',
message: {
cmd: 'readFile',
path: '.tauri_3mb.json',
options: {
// home folder
dir: 11
}
}
})
window.__TAURI__.core
.invoke('read_file')
.then((_data) => {
// success
window.__TAURI__.invoke('app_should_close', { exitCode: 0 })
window.__TAURI__.core.invoke('app_should_close', {
exitCode: 0
})
})
.catch((_error) => {
// error
window.__TAURI__.invoke('app_should_close', { exitCode: 1 })
window.__TAURI__.core.invoke('app_should_close', {
exitCode: 1
})
})
})
</script>

View File

@@ -0,0 +1,16 @@
[package]
name = "bench_files_transfer"
version = "0.1.0"
description = "A very simple Tauri Application"
edition = "2021"
rust-version = "1.77.2"
[build-dependencies]
tauri-build = { path = "../../../../crates/tauri-build", features = [
"codegen",
] }
[dependencies]
serde_json = "1"
serde = { version = "1", features = ["derive"] }
tauri = { path = "../../../../crates/tauri", features = [] }

View File

@@ -1,4 +1,4 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT

View File

@@ -0,0 +1,30 @@
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
use std::fs::read;
use tauri::{command, ipc::Response, path::BaseDirectory, AppHandle, Manager, Runtime};
#[command]
fn app_should_close(exit_code: i32) {
std::process::exit(exit_code);
}
#[command]
async fn read_file<R: Runtime>(app: AppHandle<R>) -> Result<Response, String> {
let path = app
.path()
.resolve(".tauri_3mb.json", BaseDirectory::Home)
.map_err(|e| e.to_string())?;
let contents = read(&path).map_err(|e| e.to_string())?;
Ok(Response::new(contents))
}
fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![app_should_close, read_file])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}

View File

@@ -0,0 +1,33 @@
{
"$schema": "../../../../crates/tauri-schema-generator/schemas/config.schema.json",
"identifier": "com.tauri.dev",
"build": {
"frontendDist": "../public"
},
"app": {
"withGlobalTauri": true,
"windows": [
{
"title": "Welcome to Tauri!",
"width": 800,
"height": 600,
"resizable": true,
"fullscreen": false
}
],
"security": {
"csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self'; connect-src ipc: http://ipc.localhost"
}
},
"bundle": {
"active": true,
"targets": "all",
"icon": [
"../../../../examples/.icons/32x32.png",
"../../../../examples/.icons/128x128.png",
"../../../../examples/.icons/128x128@2x.png",
"../../../../examples/.icons/icon.icns",
"../../../../examples/.icons/icon.ico"
]
}
}

View File

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
@@ -10,7 +10,7 @@
<script>
window.addEventListener('DOMContentLoaded', (event) =>
window.__TAURI__.invoke('app_loaded_successfully')
window.__TAURI__.core.invoke('app_loaded_successfully')
)
</script>
</body>

View File

@@ -0,0 +1,16 @@
[package]
name = "bench_helloworld"
version = "0.1.0"
description = "A very simple Tauri Application"
edition = "2021"
rust-version = "1.77.2"
[build-dependencies]
tauri-build = { path = "../../../../crates/tauri-build", features = [
"codegen",
] }
[dependencies]
serde_json = "1"
serde = { version = "1", features = ["derive"] }
tauri = { path = "../../../../crates/tauri", features = [] }

View File

@@ -1,4 +1,4 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT

View File

@@ -1,4 +1,4 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT

View File

@@ -0,0 +1,35 @@
{
"$schema": "../../../../crates/tauri-schema-generator/schemas/config.schema.json",
"identifier": "com.tauri.dev",
"build": {
"frontendDist": "../public",
"beforeDevCommand": "",
"beforeBuildCommand": ""
},
"app": {
"withGlobalTauri": true,
"windows": [
{
"title": "Welcome to Tauri!",
"width": 800,
"height": 600,
"resizable": true,
"fullscreen": false
}
],
"security": {
"csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self'; connect-src ipc: http://ipc.localhost"
}
},
"bundle": {
"active": true,
"targets": "all",
"icon": [
"../../../../examples/.icons/32x32.png",
"../../../../examples/.icons/128x128.png",
"../../../../examples/.icons/128x128@2x.png",
"../../../../examples/.icons/icon.icns",
"../../../../examples/.icons/icon.ico"
]
}
}

View File

@@ -1,271 +0,0 @@
# Changelog
## \[1.5.1]
### Dependencies
- Upgraded to `tauri-utils@1.5.2`
- Upgraded to `tauri-codegen@1.4.2`
## \[1.5.0]
### What's Changed
- [`d1e09da0`](https://www.github.com/tauri-apps/tauri/commit/d1e09da084b849b9e384fc27ed250dd17e72c7a3)([#7918](https://www.github.com/tauri-apps/tauri/pull/7918)) Bump to 1.5 due to tauri-utils dependency bump.
## \[1.4.1]
### Bug Fixes
- [`5ecb46b3`](https://www.github.com/tauri-apps/tauri/commit/5ecb46b3410afd1b5c82494c1e0a91d5a358c41a)([#7773](https://www.github.com/tauri-apps/tauri/pull/7773)) Automatically set rpath on macOS if frameworks are bundled and copy frameworks to `src-tauri/target/Frameworks` for usage in development.
- [`290e366a`](https://www.github.com/tauri-apps/tauri/commit/290e366ae98e9a52b1b43bfd3e285150427ebffa)([#7419](https://www.github.com/tauri-apps/tauri/pull/7419)) Correctly copy the WebView2 runtime in development when `webviewInstallMode` is used instead of `webviewFixedRuntimePath`.
### Dependencies
- Upgraded to `tauri-utils@1.5.0`
- Upgraded to `tauri-codegen@1.4.1`
## \[1.4.0]
### Enhancements
- [`52474e47`](https://www.github.com/tauri-apps/tauri/commit/52474e479d695865299d8c8d868fb98b99731020)([#7141](https://www.github.com/tauri-apps/tauri/pull/7141)) Enhance Cargo features check.
- [`af937290`](https://www.github.com/tauri-apps/tauri/commit/af93729031565a69d1fde6cf16bea3b9b6e43a65)([#6676](https://www.github.com/tauri-apps/tauri/pull/6676)) On Windows, set `LegalCopyright` and `FileDescription` file properties on the executable from `tauri.bundle.copyright` and `tauri.bundle.shortDescription`,
- [`d2710e9d`](https://www.github.com/tauri-apps/tauri/commit/d2710e9d2e8fd93975ef6494512370faa8cb3b7e)([#6944](https://www.github.com/tauri-apps/tauri/pull/6944)) Unpin `time`, `ignore`, and `winnow` crate versions. Developers now have to pin crates if needed themselves. A list of crates that need pinning to adhere to Tauri's MSRV will be visible in Tauri's GitHub workflow: https://github.com/tauri-apps/tauri/blob/dev/.github/workflows/test-core.yml#L85.
## \[1.3.0]
- Bump minimum supported Rust version to 1.60.
- [5fdc616d](https://www.github.com/tauri-apps/tauri/commit/5fdc616df9bea633810dcb814ac615911d77222c) feat: Use the zbus-backed of notify-rust ([#6332](https://www.github.com/tauri-apps/tauri/pull/6332)) on 2023-03-31
- Add initial support for building `nsis` bundles on non-Windows platforms.
- [60e6f6c3](https://www.github.com/tauri-apps/tauri/commit/60e6f6c3f1605f3064b5bb177992530ff788ccf0) feat(bundler): Add support for creating NSIS bundles on unix hosts ([#5788](https://www.github.com/tauri-apps/tauri/pull/5788)) on 2023-01-19
- Add `WindowsAttributes::app_manifest` to specify the application manifest on Windows.
- [bca09f7f](https://www.github.com/tauri-apps/tauri/commit/bca09f7f5ff1c9c5a4b51da043bdd5da668a179b) feat(tauri-build): add option to specify Windows manifest, closes [#5584](https://www.github.com/tauri-apps/tauri/pull/5584) ([#5730](https://www.github.com/tauri-apps/tauri/pull/5730)) on 2022-12-14
- Added support for Cargo's workspace inheritance for package information. The cli now also detects inherited `tauri` and `tauri-build` dependencies and disables manifest rewrites accordingly.
- [cd8c074a](https://www.github.com/tauri-apps/tauri/commit/cd8c074ae6592303d3f6844a4fb6d262eae913b2) feat(cli): add support for Cargo's workspace inheritance for the package version, closes [#5070](https://www.github.com/tauri-apps/tauri/pull/5070) ([#5775](https://www.github.com/tauri-apps/tauri/pull/5775)) on 2022-12-14
- [d20a7288](https://www.github.com/tauri-apps/tauri/commit/d20a728892eee1858ab525ab6216cd721f473ab5) feat: Further improve workspace inheritance, closes [#6122](https://www.github.com/tauri-apps/tauri/pull/6122), [#5070](https://www.github.com/tauri-apps/tauri/pull/5070) ([#6144](https://www.github.com/tauri-apps/tauri/pull/6144)) on 2023-01-26
- Pin `winnow` crate to 0.4.1 to keep the 1.60 MSRV.
## \[1.2.1]
- Fix `allowlist > app > show/hide` always disabled when `allowlist > app > all: false`.
- Bumped due to a bump in tauri-utils.
- [bb251087](https://www.github.com/tauri-apps/tauri/commit/bb2510876d0bdff736d36bf3a465cdbe4ad2b90c) fix(core): extend allowlist with `app`'s allowlist, closes [#5650](https://www.github.com/tauri-apps/tauri/pull/5650) ([#5652](https://www.github.com/tauri-apps/tauri/pull/5652)) on 2022-11-18
## \[1.2.0]
- - [7d9aa398](https://www.github.com/tauri-apps/tauri/commit/7d9aa3987efce2d697179ffc33646d086c68030c) feat: bump MSRV to 1.59 ([#5296](https://www.github.com/tauri-apps/tauri/pull/5296)) on 2022-09-28
## \[1.1.1]
- Add missing allowlist config for `set_cursor_grab`, `set_cursor_visible`, `set_cursor_icon` and `set_cursor_position` APIs.
- Bumped due to a bump in tauri-utils.
- [c764408d](https://www.github.com/tauri-apps/tauri/commit/c764408da7fae123edd41115bda42fa75a4731d2) fix: Add missing allowlist config for cursor apis, closes [#5207](https://www.github.com/tauri-apps/tauri/pull/5207) ([#5211](https://www.github.com/tauri-apps/tauri/pull/5211)) on 2022-09-16
## \[1.1.0]
- Rerun codegen if assets or icons change.
- [ff8fd761](https://www.github.com/tauri-apps/tauri/commit/ff8fd7619ae894b70f149b192d8635d842827141) fix(tauri-build): rerun if assets or icons change ([#4910](https://www.github.com/tauri-apps/tauri/pull/4910)) on 2022-08-10
- Create the `desktop` and `mobile` cfg aliases.
- [c04d0340](https://www.github.com/tauri-apps/tauri/commit/c04d0340e2f163483f3556c7aabe35322ee71e6a) feat(core): prepare build for mobile targets ([#4830](https://www.github.com/tauri-apps/tauri/pull/4830)) on 2022-08-02
- Added support to configuration files in TOML format (Tauri.toml file).
- [ae83d008](https://www.github.com/tauri-apps/tauri/commit/ae83d008f9e1b89bfc8dddaca42aa5c1fbc36f6d) feat: add support to TOML config file `Tauri.toml`, closes [#4806](https://www.github.com/tauri-apps/tauri/pull/4806) ([#4813](https://www.github.com/tauri-apps/tauri/pull/4813)) on 2022-08-02
- Enhance the dialog style on Windows via the manifest dependency `Microsoft.Windows.Common-Controls v6.0.0.0`.
- [5c5c42ed](https://www.github.com/tauri-apps/tauri/commit/5c5c42edb64adf4250af6891d7d226fda7d4d783) feat(build): use modern dialog styles on Windows, closes [#4709](https://www.github.com/tauri-apps/tauri/pull/4709) ([#4840](https://www.github.com/tauri-apps/tauri/pull/4840)) on 2022-08-02
- Fix root of codegen output when using the `CodegenContext` API.
- [ed581950](https://www.github.com/tauri-apps/tauri/commit/ed581950ea6fd0afee47aa73fb63083d2483429f) fix(tauri-build): use `::tauri` as root for the CodegenContext ([#4894](https://www.github.com/tauri-apps/tauri/pull/4894)) on 2022-08-08
- Return an error if a sidecar is configured with the same file name as the application.
- [5cc1fd0f](https://www.github.com/tauri-apps/tauri/commit/5cc1fd0f7b01b257a461d4e867ddc8cd5072ff15) feat(tauri-build): validate sidecar name, closes [#4780](https://www.github.com/tauri-apps/tauri/pull/4780) closes [#4823](https://www.github.com/tauri-apps/tauri/pull/4823) ([#4814](https://www.github.com/tauri-apps/tauri/pull/4814)) on 2022-08-02
- Only rewrite temporary icon files when the content change, avoid needless rebuilds.
- [f957cbb5](https://www.github.com/tauri-apps/tauri/commit/f957cbb56ccbd8d1c047a978b4579946252a6fd2) fix(codegen): write output file when contents change ([#4889](https://www.github.com/tauri-apps/tauri/pull/4889)) on 2022-08-09
## \[1.0.4]
- Reduce the amount of allocations when converting cases.
- [bc370e32](https://www.github.com/tauri-apps/tauri/commit/bc370e326810446e15b1f50fb962b980114ba16b) feat: reduce the amount of `heck`-related allocations ([#4634](https://www.github.com/tauri-apps/tauri/pull/4634)) on 2022-07-11
## \[1.0.3]
- Improve configuration deserialization error messages.
- [9170c920](https://www.github.com/tauri-apps/tauri/commit/9170c9207044fa561535f624916dfdbaa41ff79d) feat(core): improve config deserialization error messages ([#4607](https://www.github.com/tauri-apps/tauri/pull/4607)) on 2022-07-06
- The `TAURI_CONFIG` environment variable now represents the configuration to be merged instead of the entire JSON.
- [fa028ebf](https://www.github.com/tauri-apps/tauri/commit/fa028ebf3c8ca7b43a70d283a01dbea86217594f) refactor: do not pass entire config from CLI to core, send patch instead ([#4598](https://www.github.com/tauri-apps/tauri/pull/4598)) on 2022-07-06
## \[1.0.2]
- Expose `platform::windows_version` function.
- Bumped due to a bump in tauri-utils.
- [bf764e83](https://www.github.com/tauri-apps/tauri/commit/bf764e83e01e7443e6cc54572001e1c98c357465) feat(utils): expose `windows_version` function ([#4534](https://www.github.com/tauri-apps/tauri/pull/4534)) on 2022-06-30
## \[1.0.1]
- Changed the `BundleConfig::targets` to a `BundleTarget` enum to enhance generated documentation.
- Bumped due to a bump in tauri-utils.
- [31c15cd2](https://www.github.com/tauri-apps/tauri/commit/31c15cd2bd94dbe39fb94982a15cbe02ac5d8925) docs(config): enhance documentation for bundle targets, closes [#3251](https://www.github.com/tauri-apps/tauri/pull/3251) ([#4418](https://www.github.com/tauri-apps/tauri/pull/4418)) on 2022-06-21
- Added `platform::is_windows_7`.
- Bumped due to a bump in tauri-utils.
- [57039fb2](https://www.github.com/tauri-apps/tauri/commit/57039fb2166571de85271b014a8711a29f06be1a) fix(core): add windows 7 notification support ([#4491](https://www.github.com/tauri-apps/tauri/pull/4491)) on 2022-06-28
- Suppress unused variable warning in release builds.
- Bumped due to a bump in tauri-utils.
- [45981851](https://www.github.com/tauri-apps/tauri/commit/45981851e35119266c1a079e1ff27a39f1fdfaed) chore(lint): unused variable warnings for release builds ([#4411](https://www.github.com/tauri-apps/tauri/pull/4411)) on 2022-06-22
- Added webview install mode options.
- Bumped due to a bump in tauri-utils.
- [2ca762d2](https://www.github.com/tauri-apps/tauri/commit/2ca762d207030a892a6d128b519e150e2d733468) feat(bundler): extend webview2 installation options, closes [#2882](https://www.github.com/tauri-apps/tauri/pull/2882) [#2452](https://www.github.com/tauri-apps/tauri/pull/2452) ([#4466](https://www.github.com/tauri-apps/tauri/pull/4466)) on 2022-06-26
## \[1.0.0]
- Upgrade to `stable`!
- [f4bb30cc](https://www.github.com/tauri-apps/tauri/commit/f4bb30cc73d6ba9b9ef19ef004dc5e8e6bb901d3) feat(covector): prepare for v1 ([#4351](https://www.github.com/tauri-apps/tauri/pull/4351)) on 2022-06-15
## \[1.0.0-rc.15]
- Read the tray icon path relatively to the config directory.
- Bumped due to a bump in tauri-codegen.
- [562e8ca2](https://www.github.com/tauri-apps/tauri/commit/562e8ca23facf1a8e5fa6c8cdf872357d3523a78) fix(codegen): tray icon path is relative to the config directory on 2022-06-15
## \[1.0.0-rc.14]
- Do not copy the tray icon to the output directory on Linux since it is embedded in the binary.
- [4ce8e228](https://www.github.com/tauri-apps/tauri/commit/4ce8e228134cd3f22973b74ef26ca0d165fbbbd9) refactor(core): use `Icon` for tray icons ([#4342](https://www.github.com/tauri-apps/tauri/pull/4342)) on 2022-06-14
## \[1.0.0-rc.13]
- Copy `tauri.conf.json > tauri.bundle.windows.webview_fixed_runtime_path` as a resource to the target directory to fix development usage of a fixed Webview2 runtime path.
- [8a634895](https://www.github.com/tauri-apps/tauri/commit/8a63489567b9fa86e404ad42b5b30c64361efe85) fix(build): fixed Webview2 runtime path in development, closes [#4308](https://www.github.com/tauri-apps/tauri/pull/4308) on 2022-06-10
- Improve usage of the GNU toolchain on Windows by copying the Webview2Loader.dll file to the target directory.
- [58a6879b](https://www.github.com/tauri-apps/tauri/commit/58a6879b82e3a82027604cdd0913caacaaab5c76) feat(tauri-build): improve Windows GNU toolchain usage, closes [#4319](https://www.github.com/tauri-apps/tauri/pull/4319) ([#4323](https://www.github.com/tauri-apps/tauri/pull/4323)) on 2022-06-12
- Only statically link the VC runtime when the `STATIC_VCRUNTIME` environment variable is set to `true` (automatically done by the Tauri CLI).
- [d703d27a](https://www.github.com/tauri-apps/tauri/commit/d703d27a707edc028f13b35603205da1133fcc2b) fix(build): statically link VC runtime only on `tauri build` ([#4292](https://www.github.com/tauri-apps/tauri/pull/4292)) on 2022-06-07
## \[1.0.0-rc.12]
- Statically link the Visual C++ runtime instead of using a merge module on the installer.
- [bb061509](https://www.github.com/tauri-apps/tauri/commit/bb061509fb674bef86ecbc1de3aa8f3e367a9907) refactor(core): statically link vcruntime, closes [#4122](https://www.github.com/tauri-apps/tauri/pull/4122) ([#4227](https://www.github.com/tauri-apps/tauri/pull/4227)) on 2022-05-27
## \[1.0.0-rc.11]
- Create `dev` cfg alias.
- [9cdcf9b3](https://www.github.com/tauri-apps/tauri/commit/9cdcf9b3a8fa27612b3156c1702a4e776627e869) feat(build): create `dev` alias ([#4212](https://www.github.com/tauri-apps/tauri/pull/4212)) on 2022-05-25
## \[1.0.0-rc.10]
- Delete existing sidecar before copying new one.
- [a737f25c](https://www.github.com/tauri-apps/tauri/commit/a737f25c1078083e0b0f7f338f5c958b86914323) fix(tauri-build): delete existing sidecar file, closes [#4134](https://www.github.com/tauri-apps/tauri/pull/4134) ([#4167](https://www.github.com/tauri-apps/tauri/pull/4167)) on 2022-05-18
## \[1.0.0-rc.9]
- Search `tauri.conf.json > tauri > bundle > icons` for a `.ico` file for the window icon instead of simple default `icons/icon.ico` when `WindowsAttributes::window_icon_path` is not set.
- [bad85a1f](https://www.github.com/tauri-apps/tauri/commit/bad85a1f11da03421401080531275ba201480cd1) feat(build): find .ico in config instead of default `icons/icon.ico` ([#4115](https://www.github.com/tauri-apps/tauri/pull/4115)) on 2022-05-13
## \[1.0.0-rc.8]
- Properly set file version information for the Windows executable.
- [1ca2dd67](https://www.github.com/tauri-apps/tauri/commit/1ca2dd677d50b4c724c55b37060c3ba64b81c54a) fix(tauri-build): properly set executable version info on Windows ([#4045](https://www.github.com/tauri-apps/tauri/pull/4045)) on 2022-05-03
## \[1.0.0-rc.7]
- Rerun build script if `TAURI_CONFIG` environment variable change.
- [7ae9e252](https://www.github.com/tauri-apps/tauri/commit/7ae9e25262376529637cd3b47b1cf84809efaec9) fix(tauri-build): rerun if `TAURI_CONFIG` env var changes on 2022-04-26
## \[1.0.0-rc.6]
- Copy system tray icon resource to the target directory on Linux.
- [f2a30d8b](https://www.github.com/tauri-apps/tauri/commit/f2a30d8bc54fc3ba49e16f69a413eca5f61a9b1f) refactor(core): use ayatana appindicator by default, keep option to use gtk ([#3916](https://www.github.com/tauri-apps/tauri/pull/3916)) on 2022-04-19
## \[1.0.0-rc.5]
- Print error context on the `build` panic.
- [49546c52](https://www.github.com/tauri-apps/tauri/commit/49546c5269080f38d57365788eb2592bff8f6d10) feat(build): print error context ([#3644](https://www.github.com/tauri-apps/tauri/pull/3644)) on 2022-03-09
## \[1.0.0-rc.4]
- Parse window icons at compile time.
- Bumped due to a bump in tauri-codegen.
- [8c935872](https://www.github.com/tauri-apps/tauri/commit/8c9358725a17dcc2acaf4d10c3f654afdff586b0) refactor(core): move `png` and `ico` behind Cargo features ([#3588](https://www.github.com/tauri-apps/tauri/pull/3588)) on 2022-03-05
## \[1.0.0-rc.3]
- Automatically emit `cargo:rustc-env=MACOSX_DEPLOYMENT_TARGET` with the value set on `tauri.conf.json > tauri > bundle > macos > minimumSystemVersion`.
- [4bacea5b](https://www.github.com/tauri-apps/tauri/commit/4bacea5bf48ea5ca6c9bdd10e28e85e67a0c6ef9) feat(core): set `MACOSX_DEPLOYMENT_TARGET` environment variable, closes [#2732](https://www.github.com/tauri-apps/tauri/pull/2732) ([#3496](https://www.github.com/tauri-apps/tauri/pull/3496)) on 2022-02-17
## \[1.0.0-rc.2]
- Rerun if sidecar or resource change.
- [afcc3ec5](https://www.github.com/tauri-apps/tauri/commit/afcc3ec50148074293350aaa26a05812207716be) fix(build): rerun if resource or sidecar change ([#3460](https://www.github.com/tauri-apps/tauri/pull/3460)) on 2022-02-14
## \[1.0.0-rc.1]
- Remove `cargo:rerun-if-changed` check for non-existent file that caused projects to *always* rebuild.
- [65287cd6](https://www.github.com/tauri-apps/tauri/commit/65287cd6148feeba91df86217b261770fed34608) remove non-existent cargo rerun check ([#3412](https://www.github.com/tauri-apps/tauri/pull/3412)) on 2022-02-11
## \[1.0.0-rc.0]
- Allow user to specify windows sdk path in build.rs.
- [59b6ee87](https://www.github.com/tauri-apps/tauri/commit/59b6ee87932d341433032befe3babd897ed8f7d0) fix(tauri-build): allow user to specify win sdk path (fix: [#2871](https://www.github.com/tauri-apps/tauri/pull/2871)) ([#2893](https://www.github.com/tauri-apps/tauri/pull/2893)) on 2021-11-16
- Adds support for using JSON5 format for the `tauri.conf.json` file, along with also supporting the `.json5` extension.
Here is the logic flow that determines if JSON or JSON5 will be used to parse the config:
1. Check if `tauri.conf.json` exists
a. Parse it with `serde_json`
b. Parse it with `json5` if `serde_json` fails
c. Return original `serde_json` error if all above steps failed
2. Check if `tauri.conf.json5` exists
a. Parse it with `json5`
b. Return error if all above steps failed
3. Return error if all above steps failed
- [995de57a](https://www.github.com/tauri-apps/tauri/commit/995de57a76cf51215277673e526d7ec32b86b564) Add seamless support for using JSON5 in the config file ([#47](https://www.github.com/tauri-apps/tauri/pull/47)) on 2022-02-03
- Move the copying of resources and sidecars from `cli.rs` to `tauri-build` so using the Cargo CLI directly processes the files for the application execution in development.
- [5eb72c24](https://www.github.com/tauri-apps/tauri/commit/5eb72c24deddf5a01093bea96b90c0d8806afc3f) refactor: copy resources and sidecars on the Cargo build script ([#3357](https://www.github.com/tauri-apps/tauri/pull/3357)) on 2022-02-08
- The minimum Rust version is now `1.56`.
- [a9dfc015](https://www.github.com/tauri-apps/tauri/commit/a9dfc015505afe91281c2027954ffcc588b1a59c) feat: update to edition 2021 and set minimum rust to 1.56 ([#2789](https://www.github.com/tauri-apps/tauri/pull/2789)) on 2021-10-22
- Validate `tauri` dependency `features` under `Cargo.toml` matching `tauri.conf.json`'s `allowlist`.
- [4de285c3](https://www.github.com/tauri-apps/tauri/commit/4de285c3967d32250d73acdd5d171a6fd332d2b3) feat(core): validate Cargo features matching allowlist \[TRI-023] on 2022-01-09
## \[1.0.0-beta.4]
- Implement `Debug` on public API structs and enums.
- [fa9341ba](https://www.github.com/tauri-apps/tauri/commit/fa9341ba18ba227735341530900714dba0f27291) feat(core): implement `Debug` on public API structs/enums, closes [#2292](https://www.github.com/tauri-apps/tauri/pull/2292) ([#2387](https://www.github.com/tauri-apps/tauri/pull/2387)) on 2021-08-11
## \[1.0.0-beta.3]
- Improve ESM detection with regexes.
- Bumped due to a bump in tauri-codegen.
- [4b0ec018](https://www.github.com/tauri-apps/tauri/commit/4b0ec0188078a8fefd4119fe5e19ebc30191f802) fix(core): improve JS ESM detection ([#2139](https://www.github.com/tauri-apps/tauri/pull/2139)) on 2021-07-02
- Inject invoke key on `script` tags with `type="module"`.
- Bumped due to a bump in tauri-codegen.
- [f03eea9c](https://www.github.com/tauri-apps/tauri/commit/f03eea9c9b964709532afbc4d1dd343b3fd96081) feat(core): inject invoke key on `<script type="module">` ([#2120](https://www.github.com/tauri-apps/tauri/pull/2120)) on 2021-06-29
## \[1.0.0-beta.2]
- Detect ESM scripts and inject the invoke key directly instead of using an IIFE.
- Bumped due to a bump in tauri-codegen.
- [7765c7fa](https://www.github.com/tauri-apps/tauri/commit/7765c7fa281853ddfb26b6b17534df95eaede804) fix(core): invoke key injection on ES module, improve performance ([#2094](https://www.github.com/tauri-apps/tauri/pull/2094)) on 2021-06-27
- Improve invoke key code injection performance time rewriting code at compile time.
- Bumped due to a bump in tauri-codegen.
- [7765c7fa](https://www.github.com/tauri-apps/tauri/commit/7765c7fa281853ddfb26b6b17534df95eaede804) fix(core): invoke key injection on ES module, improve performance ([#2094](https://www.github.com/tauri-apps/tauri/pull/2094)) on 2021-06-27
## \[1.0.0-beta.1]
- Pull Windows resource information (`FileVersion`, `ProductVersion`, `ProductName` and `FileDescription`) from `tauri.conf.json > package` configuration.
- [dc6b0d85](https://www.github.com/tauri-apps/tauri/commit/dc6b0d8522ca9f0962aa7c6fe446743889470b8c) feat(core): set .rc values from tauri.conf.json, closes [#1849](https://www.github.com/tauri-apps/tauri/pull/1849) ([#1951](https://www.github.com/tauri-apps/tauri/pull/1951)) on 2021-06-05
## \[1.0.0-beta.0]
- The `try_build` method now has a `Attributes` argument to allow specifying the window icon path used on Windows.
- [c91105f](https://www.github.com/tauri-apps/tauri/commit/c91105ff965cceb2dfb402004c12799bf3b1c2f6) refactor(build): allow setting window icon path on `try_build` ([#1686](https://www.github.com/tauri-apps/tauri/pull/1686)) on 2021-05-03
## \[1.0.0-beta-rc.1]
- The package info APIs now checks the `package` object on `tauri.conf.json`.
- Bumped due to a bump in tauri-codegen.
- [8fd1baf](https://www.github.com/tauri-apps/tauri/commit/8fd1baf69b14bb81d7be9d31605ed7f02058b392) fix(core): pull package info from tauri.conf.json if set ([#1581](https://www.github.com/tauri-apps/tauri/pull/1581)) on 2021-04-22
- [f575aaa](https://www.github.com/tauri-apps/tauri/commit/f575aaad71f23d44b2f89cf9ee5d84817dc3bb7a) fix: change files not referencing core packages ([#1619](https://www.github.com/tauri-apps/tauri/pull/1619)) on 2021-04-25
## \[1.0.0-beta-rc.0]
- Update all code files to have our license header.
- [bf82136](https://www.github.com/tauri-apps/tauri/commit/bf8213646689175f8a158b956911f3a43e360690) feat(license): SPDX Headers ([#1449](https://www.github.com/tauri-apps/tauri/pull/1449)) on 2021-04-11
- [a6def70](https://www.github.com/tauri-apps/tauri/commit/a6def7066eec19c889b0f14cc1e475bf209a332e) Refactor(tauri): move tauri-api and tauri-updater to tauri ([#1455](https://www.github.com/tauri-apps/tauri/pull/1455)) on 2021-04-11
- [aea6145](https://www.github.com/tauri-apps/tauri/commit/aea614587bddab930d552512b54e18624fbf573e) refactor(repo): add /tooling folder ([#1457](https://www.github.com/tauri-apps/tauri/pull/1457)) on 2021-04-12

View File

@@ -1,41 +0,0 @@
[package]
name = "tauri-build"
version = "1.5.1"
authors = ["Tauri Programme within The Commons Conservancy"]
categories = ["gui", "web-programming"]
license = "Apache-2.0 OR MIT"
homepage = "https://tauri.app"
repository = "https://github.com/tauri-apps/tauri/tree/dev/core/tauri-build"
description = "build time code to pair with https://crates.io/crates/tauri"
edition = "2021"
rust-version = "1.60"
exclude = ["CHANGELOG.md", "/target"]
readme = "README.md"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "doc_cfg"]
[dependencies]
anyhow = "1"
quote = { version = "1", optional = true }
tauri-codegen = { version = "1.4.2", path = "../tauri-codegen", optional = true }
tauri-utils = { version = "1.5.3", path = "../tauri-utils", features = [
"build",
"resources",
] }
cargo_toml = "0.15"
serde = "1"
serde_json = "1"
heck = "0.4"
json-patch = "1.2"
tauri-winres = "0.1"
semver = "1"
walkdir = "2"
dirs-next = "2"
[features]
codegen = ["tauri-codegen", "quote"]
isolation = ["tauri-codegen/isolation", "tauri-utils/isolation"]
config-json5 = ["tauri-utils/config-json5"]
config-toml = ["tauri-utils/config-toml"]

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