* test: add more unit-tests for `html` module
* refactor: remove html dependencies from `tauri-cli`
* feat: introduce `html-manipulation-2` feature
* Remove deprecation
* Use new feature flag
* Unroll `build` feature
* Introduce `build-2` feature
* Reduce diff
* Use `build-2` in more places
* Add docs
* Refactor `inject_script_hashes`
* Refactor `with_head`
* Rename serialize and parse functions
* Add changes file
* Remove unused function
* Update changelog
* Remove test
* Update wry
* Add todo comments
we don't have the git blame data in html2, better do it now or never
find it again
* refactor `with_head` to `ensure_head`
* Remove unused casts
* Avoid using format to construct html elements
which has the potential to get injected
* Feature gate `inline_isolation`
* Keep old prepends appends
* Fix `inline_isolation_replaces_src_with_content` test
* End meta tag
* Mirror test to old html module
* Use back to `append_html` for csp and link issue
* Try out dom query main branch
* Use nodes instead to avoid an extra clone
* Use wry 0.54.4 and dom_query 0.27
* Mark stability
* Remove `PatternObject`
---------
Co-authored-by: Tony <legendmastertony@gmail.com>
Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
* chore(deps): Update cargo-mobile2 and toml crates
* remove toml from tauri-build cargotoml
* 0.22.3
* try a range
* json5 and changefile
* Revert "json5 and changefile"
This reverts commit eda416ba79.
* keep changefile
* fix: resource path handles `./` path differently
* Setup CI for tauri utils
* Wrong job name
* Fix tests
* Always run tests and don't run doc tests
* Add change file
* Re-use `test-core` workflow
* Format
* Avoid path clone by calculating target first
* Test tauri-utils first with step instead of matrix
* Use `matrix.platform.command`
* Document `current_dest` and `current_pattern`
* More docs
* Merge remote-tracking branch 'upstream/dev' into refactor-resource-path-iter
* Test with doc tests
* Revert "Test with doc tests"
This reverts commit 388bee9328.
* Merge branch 'dev' into refactor-resource-path-iter
* Merge branch 'dev' into refactor-resource-path-iter
* fix(tauri-utils): sort csp/plugin/header config maps during codegen so generate_context! is deterministic
* add comments explaining rationale, and todo for removing the hack in v3
* Typos
* Rename to `handler`/`protocol_handler`
* Fix the `AssetResolver::get` fallback docs
* Refactor and update the docs for `get_url`
* Rename the remaining ones to `get_app_url`
* Apply suggestions from code review
Co-authored-by: Fabian-Lars <github@fabianlars.de>
* Generate schema
* refactor(tauri-utils): current_dest and current_pattern always change in-sync, group them to one Option
* refactor(tauri-utils): pass path as explicit argument instead of implicitly through self
* refactor(tauri-utils): remove struct field that is never set to Some
* refactor(tauri-cli): use OsString, OsStr where possible
* refactor(tauri-cli): Deref Arc early
* refactor(tauri-cli): lock config before passing to build::setup()
* refactor(tauri-build, tauri-utils): bettern pattern matching and borrowing
* refactor(tauri-cli): dont need Arc if already have static
* fix(tauri-cli): race condition initializing static flag, remove unnecessary OnceLock
* refactor(tauri-cli): use expect
* refactor(tauri-cli): remove unnecessary OnceLock
* refactor(tauri-cli): better use of dunce api
* refactor(tauri-cli): rename
Replace `fs::write` with `write_if_changed` in two places. This can
prevent unnecessary rebuilds. (I didn’t encounter any, but this should
be ok nonetheless.)
* add new api (auto_increment_version_code) in android configuration
* ensure increment is only ran once
* skip on dev
* update doc
* change file
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* fix(core): SHA256 hash for JS scripts CSP on Windows
we hash JS scripts as SHA256 for the Content-Security-Policy (CSP) header. The isolation pattern is broken on Windows due to the hash including carriage return characters, which are not processed when the webview checks the script hash to see if the CSP allows the script.
* fmt, clippy
* Expose `ScrollBarStyle` webview option to tauri.
This commit exposes the scroll_bar_style option from wry via the tauri
WebviewWindowBuilder API. By itself, the commit does not include changes
to the configuration file or JavaScript APIs: These will be added in a
later commit.
* Fix a compile error on macOS and Linux.
* Add `scroll_bar_style` to WindowConfig.
This commit exposes the `scroll_bar_style` option in tauri.conf.json/
.json5/.toml as `scrollBarStyle` and `scroll-bar-style`.
* Expose `scroll_bar_style` to JavaScript API.
This commit exposes the `scroll_bar_style` in the options object passed
to the JavaScript API `Webview` and `WebviewWindow` constructors.
While testing this, I discovered that on Windows, attempting to create
a webview from the JavaScript API will cause the hosting window to
immediately hang if it attempts to use the same data directory as
another webview without sharing the same environment options. This
commit includes no mitigation for this behaviour, as I will be opening
a separate issue about it at some point in the near future.
* Document WebView2 environment requirements.
This commit adds a message to the documentation for all components of
the `scroll_bar_style` configuration option, telling users that all
webviews that use the same data directory must use the same value for
this option.
* Fix formatting.
* Add change files to .changes directory.
* Remove `tauri-schema-generator` from change file.
* Remove quotes from change tags.
* Add tags to change files.
I did not realise that these were needed, as the pull request that I
used as my reference when building this feature did not have them.
* update conf
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* Fix Tauri iOS build not having a PATH variable to access unzip to extract binaryTargets and also not including Frameworks when linking
* Add covector change
* fmt
* Update crates/tauri-utils/src/build.rs
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
---------
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
* Adds the ability to set the focused property from tauri.conf.json -- windows
* add set_focusable, pin tao
* fmt
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* feat: add config option for custom watch folders
* fix: cargo clippy changes
* chore: remove file
* fix: ios dev
* docs: clarify absolute allowed
* refactor: rename variable
* fix: review suggestions
* fix: resolve paths
* fixL use canonicalize
* chore: add changefile
* chore: add error if cant canonicalize
* reformat changelog
* Update .changes/additional-watch-folders.md
* Update crates/tauri-cli/src/interface/rust.rs
Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
* Revert "Update .changes/additional-watch-folders.md"
This reverts commit 98186b1a89.
* Also bump `@tauri-apps/cli`
* Apparently I'm so used to a higher rust version
* Revert "Apparently I'm so used to a higher rust version"
This reverts commit ea1d89e2d3.
* Need to check for existence for abs paths as well
---------
Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
Co-authored-by: Tony <legendmastertony@gmail.com>
* Update config.schema.json
* Add RunnerConfig for customizable build runner
Replaces runner String with RunnerConfig in CLI and config, allowing advanced runner configuration via string or object with cmd, cwd, and args. Updates schema and usage to support new format, and adds tests for serialization, deserialization, and API. Enables more flexible build and run command customization.
* Create runner-object-config.md
* Remove unused RunnerConfig import in tests
Cleaned up the test module in config.rs by removing the unused RunnerConfig import from two test functions.
* Fix tests failing
Updates related tests in tauri-utils to improve readability and maintain consistency. Minor import reordering in tauri-cli for clarity.
* Move RunnerConfig enum and impls above BuildConfig
Relocated the RunnerConfig enum and its associated implementations to appear before the BuildConfig definition. This improves code organization and logical grouping of configuration-related types.