* 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>
* 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>
* 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.
* apply version updates
* minor bump for build, plugin, macros and runtime
---------
Co-authored-by: lucasfernog <20051258+lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* refactor: put dynamic acl to a feature
* Add change file
* Tweak remove_unused_commands's docs
* License header
* Document the feature
* Merge remote-tracking branch 'upstream/dev' into dynamic-acl-feature
* Use a inner non generic fn for add_capability
* Clippy and macro stability notice
* Merge remote-tracking branch 'upstream/dev' into dynamic-acl-feature
* Format
* Add an option for preventing window overflow
* Fix shadow counted as part of the width
* Enable prevent overflow by default
* Fix crashing when margin is bigger than screen
* Config file support
* Add to ts type
* Add mac implementation
* Should be let some
* Apply suggestions from code review
Co-authored-by: Jason Tsai <jason@pews.dev>
* checked_sub -> saturating_sub
* Revert license header
* Migrate windows 0.58
* Generate schema
* Fix merge conflict
* Try casting to objc2_app_kit::NSScreen
* Add NSScreen feature
* Use cast instead of as
* fmt
* Deref first
* Wrong unsafe block
* Add change file
* Add serde alias
* More docs
* Disable prevent_overflow by default
since we can't make breaking changes anymore right now
* Remove unused default impl
* Missing pub
* Fix mock_runtime on ios
* Match PreventOverflowMargin's description
* Typo
* Apply suggestions from code review
* Move get_work_area_size to seperate files
* Unused imports
* Add prevent_overflow to WebviewWindowBuilder
* Fix mac compile
* MonitorExt is only for desktop
* Rename to work_area
* Use workarea for linux
* Missing `()`
* Convert size
* Import MonitorExt
* as u32
* Re-build API js
* Fix wrong docs for work_area
* Remove linux platform specific note
* Remove left over linux platform specific note
* Use work area API for center as well
* Fix mobile
* Clean up
* small cleanup
* fix codegen
* update docs
* fix generated
---------
Co-authored-by: Jason Tsai <jason@pews.dev>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* macOS/iOS: add option to disable or enable link previews when building a webview (the webkit api has it enabled by default)
- `WebViewBuilderExtDarwin.allow_link_preview(allow_link_preview: bool)`
- `WebViewBuilder.allow_link_preview(allow_link_preview: bool)`
- `WebviewWindowBuilder.allow_link_preview(allow_link_preview: bool)`
* also call on iOS
* add api
* fix tests
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* docs: clarify Capability::windows/webviews OR nature
It is intuitive to expect that for the capability to be enabled,
_both_ the window label and the webview label have to match.
However, this is not the case: the capability is enabled
if _either_ the window label matches a pattern
in `Capability::windows` _or_ the webview label matches a pattern
in `Capability::webviews`.
This commit should somewhat clarify this oddity
and protect developers from adding excessive permissions.
For reference, `Capability::webviews` was added in
0cb0a15ce2
(https://github.com/tauri-apps/tauri/pull/8789).
* Apply suggestions from code review
Co-authored-by: Amr Bashir <github@amrbashir.me>
* update schemas
---------
Co-authored-by: Amr Bashir <github@amrbashir.me>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* Add a new option to remove unused commands
* Fix compile
* Add markers to all core plugins
* Clippy
* Add allow unused when running with this
* Use build script to generate allowed-commands.json
* Clean up and add proper reruns
* Wrong path
* Revert to #[cfg_attr(not(debug_assertions), allow(unused))]
* Add change files
* Some more docs
* Add version requirement note
* Avoid rerun if no capabilities folder
* Remove unused box
* small cleanup
* fix channel
* implement for app handler too
* rely on core:default for channel perms
* Move this feature to config
* Docs change
* Forget one last remove_unused_commands
* Remove removeUnusedCommands from helloworld
* tell handler that the app ACL manifest exists
* update change file
* update doc
* update change file
* Use a struct to pass the data instead of env var
* Clippy
* Fix can't exclude inlined plugins on Windows
due to UNC paths...
* Apply suggestion from code review
* Remove remove on empty to tauri-build
* Revert "Remove remove on empty to tauri-build"
This reverts commit b727dd621e.
* Centralize remove_file(allowed_commands_file_path)
* Escape glob pattern
* update change file
* remove unused commands for dev too
* Update crates/tauri-utils/src/config.rs
Co-authored-by: Fabian-Lars <github@fabianlars.de>
* regen schema
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Fabian-Lars <github@fabianlars.de>
* moving to macbook
* that was so weird to implement
* rm patch
* Discard changes to Cargo.lock
* Create change-pr-12366.md
* add missing builder fn
* remove test
* split change files
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* feat: add `WebviewBuilder.disable_javascript` and `WebviewWindowBuilder.disable_javascript`
* wry 0.50.3
* add missing config options and API types
* add change file for api
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>