* feat: add e2e tests for API
* fix pnpm
* ci
* test on push for now
* workflow_dispatch
* fix lint
* fix CI build on mac
* fix audit
* fix tests
* fix windows CI
* fix tests
* install driver fix
* fix windows test
* test ci
* test
* test
* fix ci
* actually fix windows ci test
* test
* pin
* fix tests
* remove api env override
* bump actions, fix workaround
* code review
* bump deps
* clean up and docs
* Remove menu channel on drop
* Why was the mut gone
* Clone the channel out
* Keep `unreachable_code`
* Put it back to a block
* Move the cloned channel out so no nuances
* Add change file
* Migrate to svelte ts for API example
* Clean up
* Use `$derived` `selectedWebview`
* Do the change in onchange instead of state effects
* Set initial x y and sizes
* revert ai slop on main.ts
* More cleanup
* Remove ConsoleMessage
* Remove View type
* license header
* Use `ViewProps`
* Use same button spacing through out
* Move theme example to top level theme switch
* Fix menu views
* More cleanups
* Merge branch 'dev' into api-example-svelte-ts
* Final cleanup
* Move types to svelte files
* fallback to empty string not false
* Initial work
* Bump deps
* Make dragging with states work
* Fix sorting
* Move everything to `MenuBuilder.svelte`
* Add remove button
* Fix Menu and Tray
* Make menu items reactive
* Sync checked states
* Add placeholder to menu builder
* Set user-select to none
* Fix text in the console
* Rework tray page layout
* Close all menus on MenuBuilder unmounted
* Clean up menus properly
* Add initial text and icon on the menu builders
* Move MenuItems to MenuBuilder
* format
* Merge branch 'dev' into api-example-svelte-ts
* Merge branch 'api-example-svelte-ts' into menu-example-rework
* Re-create all the elements as a work around
* Reorder the menu items on builder changes
* On one tray for the tray page
* Update menus on add and remove
* Same for the tray
* Space and align checkboxes
* Merge remote-tracking branch 'upstream/dev' into menu-example-rework
* Clean up menus properly
* Merge branch 'dev' into menu-example-rework
* Remove duplicated webview in new command
* Merge branch 'dev' into menu-example-rework
* chore: run clippy on all platforms
* Only install dependencies for linux
* Use cross on Android
* mac clippy
* mobile clippy
* run on `macos-latest`
* duplicated cargo
* mac clippy suggestion take 2
* ios clippy
* Exclude tauri-cli and tauri-bundler on mobile
* Exclude `tauri-cli-node`
* just test api example on mobile
* Fix audit
* Android clippy
* Run the event handler in test
* fix: mock runtime run on main thread dead locks
* Try testing API example
* Revert "Try testing API example"
This reverts commit 1d04b9f50fbdc66b3866f56c03a8fb67fcb12c80.
* Revert API example changes
* Run unit tests in examples
* Revert `not(test)`
* Split out the example tests
* Condition got reversed
* Only android uses cross
* Test api example
* Install cross through `taiki-e/install-action@v2`
* Install through cargo binstall instead
* Revert "Install through cargo binstall instead"
This reverts commit 2aec3905b4437c5e6c1f5b24b08db98fb63ef5cc.
* Revert "Install cross through `taiki-e/install-action@v2`"
This reverts commit b88035ac9a21c76c84cbd71a794ba8613fb79a57.
* Add change file
* fix: a few regressions from previous PRs
* rename with_window_features to window_features
* Clippy
* clippy
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* add "new window" and "document title changed" webview handler
* take document title changed handler
* update example, add missing api, change files
* allow creating tauri window for the window.open call
* set size and position, fix linux, example
* enhance document title change
* fix windows deadlock
* wry 0.53
* update wry
---------
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 b727dd621eeb13b408e7402600fb1156d462f597.
* 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>
* 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>
* 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