Commit Graph

542 Commits

Author SHA1 Message Date
Cobalt
15358b1895
Expose event interface. fixes #2733 (#3321)
Co-authored-by: Cobalt <c0balt@disroot.org>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2022-02-04 17:44:12 -03:00
Lucas Fernandes Nogueira
bff86ee4c4
chore: remove egui feature (#3330) 2022-02-04 17:02:54 -03:00
Lucas Nogueira
a434393413
fix(core): feature flag usage on the shell APIs 2022-02-04 16:28:11 -03:00
Lucas Nogueira
01f8fff34b
fix(ci): Rust workspace test with all features 2022-02-04 15:17:08 -03:00
Lucas Nogueira
c6ba7f6524
fix(ci): update lockfiles 2022-02-04 14:48:45 -03:00
Lucas Nogueira
0fcd7bec37
fix(deps): remove unused dependencies 2022-02-04 14:24:56 -03:00
Lucas Nogueira
675d171eed
fix(core): tests, lint 2022-02-04 14:03:27 -03:00
Lucas Nogueira
5fe3a37da3
fix(build): allowlist features mismatch detection 2022-02-04 13:37:23 -03:00
Lucas Nogueira
a08509c641
fix(api): remove currentDir API from the path module 2022-02-04 11:49:23 -03:00
Lucas Nogueira
224f81b4d0
chore(deps): update wry rev 2022-02-04 11:40:56 -03:00
Lucas Nogueira
06cbc1ee57
chore(core): fix clippy warnings 2022-02-03 10:18:24 -03:00
Lucas Nogueira
995de57a76
Add seamless support for using JSON5 in the config file (#47)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-02-03 10:16:00 -03:00
Lucas Fernandes Nogueira
61851f49ea
refactor(core): use regex only for the shell scope API (#46)
Co-authored-by: chip <chip@chip.sh>
2022-02-03 10:01:30 -03:00
Lucas Nogueira
d740ae66ac
refactor: move data-url usage behind window-data-url feature 2022-02-02 20:43:14 -03:00
Lucas Nogueira
0d1e3219b4
Merge branch 'next' into feat/audit-patches 2022-02-02 20:09:41 -03:00
chip
7c3db7a381
cache current binary path much sooner (#45)
* use ctor to cache starting executable

* clean up symlink checking logic

* changefile

* use wrapper for the static, put it in tauri_utils

* cargo +nightly fmt

* add license header to `StartingBinary`

* fix clippy warning

* fix: test

* simplify macOS dangerous flag detection

* update restart test to allow expected failure on macOS

* finish documentation

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-02-02 19:58:56 -03:00
Lucas Nogueira
b82e2b5cf7
feat(core): configure HTTP scope using glob patterns 2022-01-31 10:30:32 -03:00
Lucas Nogueira
de35f4b624
fix(core): use std::env::temp_dir instead of fixed /tmp 2022-01-31 10:30:27 -03:00
Lucas Nogueira
ff37a715ab
fix(core): remove $APP from fs scope default 2022-01-31 10:30:10 -03:00
Lucas Nogueira
645b5a8b8a
chore: fix clippy warnings and tests 2022-01-31 10:30:05 -03:00
Lucas Nogueira
dc8ae7485e
fix: put eprintln usage behind #[cfg(debug_assertions)] 2022-01-31 10:29:56 -03:00
Lucas Nogueira
696dca58a9
refactor(core): remove BaseDirectory::Current variant 2022-01-26 16:48:31 -03:00
Lucas Nogueira
c80e8b6886
fix: fs-read-file allowlist usage 2022-01-26 16:47:42 -03:00
chip
10314cd5cf
feat(core): add argument parsing on shell scope (#44)
* feat: initial implementation

* feat: arg parser

* refactor: move codegen to context struct

* feat: regex validation

* fix tests

* fix: support magic argument value `-`

* feat: support value regex starting with `-`

* refactor: shell_scope mod, add happy path tests

* wip: scope command arguments

* wip: commands

* add better scoped errors and pattern matching

* add documentation to scoped command items

* support using the new shell scope for open

* use the proper items in tauri::scope during codegen

* shell-open uses ScopeError::Validation also

* use shell scoping for sidecar commands

* fix: cli.rs build

* fix: validation when arg list is empty

* require args in a non-fixed, non-empty config list

Co-authored-by: Chip Reed <chip@chip.sh>
2022-01-26 16:43:24 -03:00
Lucas Nogueira
28a67fdb60
chore(docs): update platform-specific documentation notes 2022-01-22 14:35:36 -03:00
Lucas Nogueira
ec8661f18e
fix: do not enforce updater's pubkey field when active is false 2022-01-17 10:48:03 -03:00
Lucas Nogueira
487441c991
fix: update dev dependencies 2022-01-17 10:47:54 -03:00
chip
d5d6d2abc1
Isolation Pattern (#43)
Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <wusyong9104@gmail.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2022-01-17 10:46:14 -03:00
Lucas Nogueira
8376e3c035
chore(deps): update webview2-com to 0.30 on tauri-runtime 2022-01-16 15:58:17 -03:00
Jonas Kruckenberg
ce03909fb6
[feat] add dialog title option. closes #3232 (#3233) 2022-01-16 19:41:11 +01:00
Lucas Fernandes Nogueira
9014fe88b6
refactor(core): cleanup egui implementation (#3227) 2022-01-16 01:14:18 -03:00
Lucas Nogueira
b9c00d2db5
chore(deps): update windows to 0.30 2022-01-15 13:20:30 -03:00
Lucas Fernandes Nogueira
ab7d3b51eb
feat: emit CloseRequested event for egui windows (#3222) 2022-01-15 12:23:26 -03:00
Lucas Fernandes Nogueira
e15a8af843
refactor(core): return Window on create_window API (#3211) 2022-01-13 13:51:45 -03:00
renovate[bot]
85b738fe68
chore(deps) Update Rust crate blake3 to 1.3 (#3200)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-12 10:19:27 -03:00
Ahmad AlHallak
c6e05380f7
fix: getter macro panicking on RecvError, closes #3188 (#3192)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-01-10 15:33:35 -03:00
Lucas Nogueira
c077f44927
feat: force endpoint URL to use https on release [TRI-015] (#41) 2022-01-09 16:40:22 -03:00
Lucas Nogueira
d95cc83105
feat: enforce updater public key [TRI-015] (#42) 2022-01-09 16:37:03 -03:00
Lucas Nogueira
b43019a2b0
fix: shell allowlist scope 2022-01-09 16:31:40 -03:00
chip
2e212e1eac
use our current_exe implementation in more places (#39) 2022-01-09 16:30:25 -03:00
david
be096623bf
feat(updater): refactor in-memory (#37)
* refactor: updater archive is now fully validated from memory

Signed-off-by: David Lemarier <david@lemarier.ca>

* fix CI

Signed-off-by: David Lemarier <david@lemarier.ca>

* make clippy happy

Signed-off-by: David Lemarier <david@lemarier.ca>

* update documentation and fmt

Signed-off-by: David Lemarier <david@lemarier.ca>

* cleanup and add final doc

Signed-off-by: David Lemarier <david@lemarier.ca>

* fmt

Signed-off-by: David Lemarier <david@lemarier.ca>

* make clippy happy

Signed-off-by: David Lemarier <david@lemarier.ca>

* remove unwanted clone

Signed-off-by: David Lemarier <david@lemarier.ca>

* [ci skip] cleanup

Signed-off-by: David Lemarier <david@lemarier.ca>

* run `http_updater_complete_process` on all platforms

Signed-off-by: David Lemarier <david@lemarier.ca>

* fix CI: `cargo test --all-features` on core tests

Signed-off-by: David Lemarier <david@lemarier.ca>

* fix appimage build

Signed-off-by: David Lemarier <david@lemarier.ca>

* update

Signed-off-by: David Lemarier <david@lemarier.ca>

* chore(deps) Update dependency @types/imagemin to v8 (#2635)

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <wusyong9104@gmail.com>
Co-authored-by: david <david@lemarier.ca>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: chip <chip@chip.sh>
Co-authored-by: David Von Edge <david.vonedge@smiths.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amr Bashir <48618675+amrbashir@users.noreply.github.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Elvinas Predkelis <elvinas.predkelis@gmail.com>
Co-authored-by: edgex004 <edgex004@gmail.com>
Co-authored-by: Barry Simons <linuxuser586@gmail.com>
Co-authored-by: Kris Scott <kscott91@gmail.com>
Co-authored-by: grey4owl <66082492+grey4owl@users.noreply.github.com>
Co-authored-by: cybai <cyb.ai.815@gmail.com>
Co-authored-by: Lucas Nogueira <lucasfernandesnog@gmail.com>
Co-authored-by: Robert Buchanan <robbie.buchanan@ioneyed.com>
Co-authored-by: Kasper <kasperkh.kh@gmail.com>
Co-authored-by: Manuel Quarneti <manuelquarneti@gmail.com>
Co-authored-by: Stef Kors <stef.kors@gmail.com>
Co-authored-by: David D <1168397+davedbase@users.noreply.github.com>
Co-authored-by: Adilson Schmitt Junior <adilsonschj@gmail.com>
Co-authored-by: Bill Avery <wravery@users.noreply.github.com>
Co-authored-by: Julien Kauffmann <90217528+jkauffmann-legion@users.noreply.github.com>
Co-authored-by: Andrea Giammarchi <andrea.giammarchi@gmail.com>
Co-authored-by: ThisSeanZhang <46880100+ThisSeanZhang@users.noreply.github.com>
Co-authored-by: Jonas Kruckenberg <iterpre@protonmail.com>

* Revert "chore(deps) Update dependency @types/imagemin to v8 (#2635)"

This reverts commit c0285e873d.

* [ci skip] fix errors

Signed-off-by: David Lemarier <david@lemarier.ca>

* [ci skip] fix build errors

Signed-off-by: David Lemarier <david@lemarier.ca>

* [ci skip] path `SafePathBuf` tests

Signed-off-by: David Lemarier <david@lemarier.ca>

* allow minisign legacy

Signed-off-by: David Lemarier <david@lemarier.ca>

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <wusyong9104@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: David Von Edge <david.vonedge@smiths.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amr Bashir <48618675+amrbashir@users.noreply.github.com>
Co-authored-by: Elvinas Predkelis <elvinas.predkelis@gmail.com>
Co-authored-by: edgex004 <edgex004@gmail.com>
Co-authored-by: Barry Simons <linuxuser586@gmail.com>
Co-authored-by: Kris Scott <kscott91@gmail.com>
Co-authored-by: grey4owl <66082492+grey4owl@users.noreply.github.com>
Co-authored-by: cybai <cyb.ai.815@gmail.com>
Co-authored-by: Lucas Nogueira <lucasfernandesnog@gmail.com>
Co-authored-by: Robert Buchanan <robbie.buchanan@ioneyed.com>
Co-authored-by: Kasper <kasperkh.kh@gmail.com>
Co-authored-by: Manuel Quarneti <manuelquarneti@gmail.com>
Co-authored-by: Stef Kors <stef.kors@gmail.com>
Co-authored-by: David D <1168397+davedbase@users.noreply.github.com>
Co-authored-by: Adilson Schmitt Junior <adilsonschj@gmail.com>
Co-authored-by: Bill Avery <wravery@users.noreply.github.com>
Co-authored-by: Julien Kauffmann <90217528+jkauffmann-legion@users.noreply.github.com>
Co-authored-by: Andrea Giammarchi <andrea.giammarchi@gmail.com>
Co-authored-by: ThisSeanZhang <46880100+ThisSeanZhang@users.noreply.github.com>
Co-authored-by: Jonas Kruckenberg <iterpre@protonmail.com>
2022-01-09 16:30:14 -03:00
Lucas Nogueira
24fa21c9b7
fix: build with all features 2022-01-09 16:29:56 -03:00
Lucas Fernandes Nogueira
4d89f60d77
refactor(core): prevent path traversal [TRI-012] (#35) 2022-01-09 16:28:56 -03:00
Lucas Fernandes Nogueira
d4db95e716
feat(core): shell execute API scope [TRI-002] (#36)
* feat(core): shell execute API scope [TRI-002]

* fix tests

* also check with empty extension

* lockfile
2022-01-09 16:28:22 -03:00
Lucas Nogueira
eae311e6e2
fix(core): ipc and tests 2022-01-09 16:27:57 -03:00
Lucas Nogueira
766c4f2c57
refactor: unify fs read and write cmds for binary/text data [TRI-009] (#34) 2022-01-09 16:24:44 -03:00
Lucas Fernandes Nogueira
bf5667f21c
fix(core): resolve symbolic links on current_exe calls [TRI-048] (#33) 2022-01-09 16:21:21 -03:00
Lucas Fernandes Nogueira
6ad702920f
feat(core): allowlist tests [TRI-028] (#28) 2022-01-09 16:20:55 -03:00
chip
fa21fe9ca6
fix typo in current_binary docs (#31) 2022-01-09 16:20:48 -03:00
chip
5f3487d0c4
Resolve symlinks during tauri::api::process::current_binary [TRI-047] (#29)
* create integration test for tauri process restart

most notably, this integration test is entirely self-contained and
should successfully run with a regular `cargo test`.

* cargo fmt

* canonicalize the current_binary path to resolve links

* add licensing metadata to restart test cargo project

* remove use statements for simpler restart test binary code

* allow windows to fail creating the symlink due to permissions

* provide an overload of information on current_binary

* add nested symlinking to the restart test

* user -> attacker

* grammar (i think)
2022-01-09 16:20:32 -03:00
Lucas Nogueira
6feb5a0c50
refactor(core): api feature flags, documentation (#26) 2022-01-09 16:20:13 -03:00
Lucas Fernandes Nogueira
85df94f2b0
feat(core): config for fixed webview2 runtime version path (#27) 2022-01-09 16:16:45 -03:00
Lucas Fernandes Nogueira
0ad1c6515f
feat(core): add http allowlist scope [TRI-008] (#24) 2022-01-09 16:16:12 -03:00
Lucas Nogueira
239bba5666
refactor(core): check notification permission on the Rust endpoint [TRI-017] (#23) 2022-01-09 16:15:47 -03:00
Lucas Nogueira
a48b8b18d4
feat(core): validate callbacks and event names [TRI-038] [TRI-020] (#21) 2022-01-09 16:12:29 -03:00
Lucas Nogueira
5687b7fdcd
refactor: use macros to match core commands with allowlist conditionals [TRI-028] (#20) 2022-01-09 15:41:28 -03:00
Lucas Nogueira
828b9ee54c
fix: build failing on env validation on windows/macos 2022-01-09 15:20:14 -03:00
Lucas Nogueira
ae60a6e892
fix: use default values for scopes on serde 2022-01-09 15:19:08 -03:00
Lucas Nogueira
9b4c47c4f8
refactor(build): use cargo_toml instead of toml_edit for perf [TRI-023] 2022-01-09 14:59:06 -03:00
Lucas Nogueira
63921fada4
refactor: change tauri::api::open with argument to an enum [TRI-022] (#19) 2022-01-09 14:58:38 -03:00
Lucas Fernandes Nogueira
eed017287f
feat(core): add shell > sidecar allowlist and process feature flag [TRI-037] (#18) 2022-01-09 14:57:43 -03:00
Lucas Fernandes Nogueira
6fbd6dba52
feat(core): validate AppImage execution when env vars are set [TRI-041] (#17) 2022-01-09 14:57:29 -03:00
Lucas Nogueira
8259cd64c2
feat(core): inject CSP on data URLs [TRI-049] (#16) 2022-01-09 14:57:12 -03:00
Lucas Fernandes Nogueira
d4017d505c
chore: remove eprintln! usage on release [TRI-051] (#15) 2022-01-09 14:49:17 -03:00
Lucas Nogueira
d660cab38d
feat: enhance allowlist configuration [TRI-027] (#11) 2022-01-09 14:48:55 -03:00
Lucas Fernandes Nogueira
680554de3e
feat: validate window label [TRI-021] (#13) 2022-01-09 14:30:43 -03:00
Lucas Fernandes Nogueira
d42ccfb34f
feat: add clipboard flag to WebviewAttributes [TRI-032] (#12) 2022-01-09 14:30:31 -03:00
Lucas Nogueira
7920ff14e6
feat: scope the fs API and the asset protocol [TRI-026] [TRI-010] [TRI-011] (#10) 2022-01-09 14:30:04 -03:00
Lucas Nogueira
3420aa5031
refactor: IPC handler [TRI-019] (#9)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-01-09 14:17:29 -03:00
Lucas Nogueira
6ac21b3cef
feat: add private api feature flag (#7) 2022-01-09 11:29:29 -03:00
Lucas Nogueira
cf54dcf9c8
feat: improve CSP security with nonces and hashes, add devCsp [TRI-004] (#8) 2022-01-09 11:11:59 -03:00
Lucas Nogueira
dd83217301
fix: build on windows 2022-01-09 10:58:06 -03:00
Lucas Nogueira
7209fdf732
refactor(core): load APPIMAGE and APPDIR env vars on startup [TRI-007] [TRI-041] 2022-01-09 10:57:29 -03:00
Lucas Nogueira
4de285c396
feat(core): validate Cargo features matching allowlist [TRI-023] 2022-01-09 10:55:09 -03:00
Lucas Fernandes Nogueira
46f2eae8aa
feat: allow config's version to be a path to package.json, closes #2967 (#2971) 2022-01-07 16:55:30 -03:00
Lucas Fernandes Nogueira
0600099696
feat(api): support unknown types for event emit payload, closes #2929 (#2964) 2022-01-07 16:50:07 -03:00
Lucas Fernandes Nogueira
b7a2345b06
feat(core): add raw headers to HTTP API, closes #2695 (#3053) 2022-01-07 13:53:04 -03:00
renovate[bot]
e637361e4c
chore(deps) Update Rust crate clap to v3.0.4 (#3159)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 13:52:11 -03:00
Lucas Nogueira
c7621aa019
chore: fix some clippy warnings 2022-01-06 10:39:21 -03:00
Ngo Iok Ui (Wu Yu Wei)
3dddce5436
fix(tauri-runtime-wry): egui deps should be added behind the flag (#3170)
* Add egui deps behind feature flag

* Fix errors on Linux
2022-01-05 22:39:43 +08:00
Ngo Iok Ui (Wu Yu Wei)
5e0d59ec7d
Initial support of egui native window (#3165)
* Initial support of egui

Expose method

Handle egui window lifetime properly

Add focus event logic

Check window_id on window event

Add Linux support

Fix window closing on Linux

Update flag to configure on different platforms

Fix control flow when egui window close

Add label param to egui window

* Innitial egui window support

* Add feature flag and change file

* Fix errors on Linux
2022-01-05 17:56:55 +08:00
Amr Bashir
4143ffd427
fix(cli.js): detect CARGO_TARGET_DIR for local run (#3147)
* fix(cli.js): detect `CARGO_TARGET_DIR` for local run

* [skip ci] revert schema changes
2022-01-04 13:57:50 +02:00
Christian Schulze
2d39f12060
fix: #3137 - remove querystring when using asset protocol (#3141)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2021-12-31 15:36:50 -03:00
Lucas Fernandes Nogueira
e784ebca9f
fix(core): Send+Sync for Window, closes #3135 (#3140) 2021-12-30 13:46:05 -03:00
Lucas Fernandes Nogueira
efbf236f35
refactor(core): make zstd optional enabled by default (#3133) 2021-12-30 11:28:41 -03:00
renovate[bot]
543e6bdb91
chore(deps) Update Rust crate clap to v3.0.0-rc.9 (#3127)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-29 07:16:02 -03:00
Ngo Iok Ui (Wu Yu Wei)
0deaed8c57
Update windows dependency to 0.29 (#3132) 2021-12-29 07:07:08 -03:00
Lucas Fernandes Nogueira
9c82006b2f
fix(core): deadlock when creating window from menu handler, closes #3110 (#3126) 2021-12-28 22:51:33 -03:00
Lucas Fernandes Nogueira
2212bd5d75
fix: dialog default path on Linux, closes #3091 (#3123) 2021-12-27 13:03:51 -03:00
Lucas Fernandes Nogueira
3f3599b9cc
refactor(core): change setup closure type to FnOnce, closes #3061 (#3065) 2021-12-27 10:50:38 -03:00
Lucas Fernandes Nogueira
7cc95e10ec
feat(core): add Menu::with_items, closes #2807 (#2966) 2021-12-27 10:48:13 -03:00
FabianLars
3a04c036ff
update wry rev. fixes crash on webkit2gtk-sys compilation (#3112) 2021-12-25 15:50:13 +01:00
renovate[bot]
0fdf0aa4e9
chore(deps) Update Tauri Core (#3098)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 10:06:56 -03:00
renovate[bot]
a377e18df6
chore(deps) Update Rust crate tokio to 1.15 (#3079)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-15 19:04:05 -03:00
renovate[bot]
142eb3643e
chore(deps) Update Rust crate clap to v3.0.0-rc.5 (#3077)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2021-12-15 17:18:40 -03:00
renovate[bot]
66ca8af977
chore(deps) Update Rust crate heck to 0.4 (#3072)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2021-12-15 16:02:48 -03:00
renovate[bot]
e345e677ef
chore(deps) Update Tauri Core (#3070)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-15 14:57:16 -03:00
Lucas Nogueira
d56a7fc7f7
fix: asset protocol CORS on Windows 2021-12-13 14:37:37 -03:00
Lucas Fernandes Nogueira
d7c02a30a5
feat(core): persist non-session cookies on Linux (#3052) 2021-12-09 18:11:00 -03:00
Chaoqian Xu
156cdbc9f8
fix: extract an entire source archive into a specified path is not working if the archive includes dirs. (#2997)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2021-12-09 12:22:32 -03:00