* Add auto save to store plugin
* Put jsdoc at constructor instead of class level
* Clippy
* Use enum instead of bool
* Some(AutoSaveMessage::Cancel) | None
* from_millis
* u64
* Add change file
* Rename to emit_on_change
* should use Duration in `with_store`
* Add breaking change notice to change file
* Emit change event for inserts by reset
* Update readme example
* Update example
* Remove extra line
* Make description clear it only works with managed
* Fix links in docstring
* Fix doc string closing
* get_mut
* Proof of concept
* fmt
* Load store on create
* cargo fmt
* Fix merge conflits
* Format
* small cleanup
* update docs, use `impl Into<JsonValue>`
* fix doctests, further simplification of api
* add store options
---------
Co-authored-by: Tillmann <28728469+tweidinger@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* fix(shell): fix schema requiring `sidecar` property even though it is optional
* fix clippy
* make `cmd` and `sidecar` exclusive
* make args optional
* cleanup
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* refactor(sql): Allow multiple drivers at the same time
* fmt
* remove default feature comment [skip ci]
* what was that doing there [skip ci]
* disable public methods for now
* fix(updater): encode version when making requests
ref: https://github.com/tauri-apps/tauri/issues/10908
* Update .changes/updater-endpoint-version-encoded.md
* only skip `+`
* fmt
* use normal const
* Make deep link optional for single instance
* Add change file
* Add deep-link feature to example
* Update plugins/deep-link/README.md
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
* format
* [skip ci] update readme
---------
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
* In the `writeFile` function, when `options.baseDir` is not set, convert `path` to URL to avoid errors caused by Chinese characters.
* fmt
* use TextEncoder
* use percent encoding
* add change file
* fmt
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
* feat(deep-link): implement getCurrent on Windows/Linux
checks std::env::args() on initialization, also includes integration with the single-instance plugin
* fmt
* update docs, fix event
* add register_all function
* expose api
* be nicer on docs, clippy
* chore(ios): consolidate optional argument standard
mark all optional iOS arguments as `var <name>: Type?`, following the pattern described in the documentation: https://v2.tauri.app/develop/plugins/develop-mobile/#ios
* chore: add missing Info.plist to example
* chore: adjust prettier config, .gitignore and use taplo to format toml files
This brings the plugins-workspace repository to the same code style of the main tauri repo
* format toml
* ignore examples gen dir
* add .vscode/extensions.json
* remove packageManager field
* fmt
* fix audit
* taplo ignore permissions autogenerated files
* remove create dummy dist
* fix prettier workflow
* install fmt in prettier workflow
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
The Android and iOS support introduced on #1011 is not really supported - the Tauri path API correctly resolves the cache directory on mobile, and we can access those directly using Rust code.
This is a breaking change because we no longer uses the same directory to store the files - app_cache_dir returns a different location
* fix(updater): linux not retaining AppImage permissions, enhance tests
- adds a test for migration from v1 to v2
- extends the existing integration test to actually verify if the app was updated
* remove test framework
* fix macos test
* fix windows
* wait on windows
* fix wix
* typo
* fmt
* install webkit2gtk-4.0 on ci
* fix npm command on windows
* fix test on windows
* ubuntu-22.04
---------
Co-authored-by: Tillmann <28728469+tweidinger@users.noreply.github.com>
* fix: use `_` as word boundary in IIFE var names
* Revert "fix: use `_` as word boundary in IIFE var names"
This reverts commit 396ed3fa56.
* Reapply "fix: use `_` as word boundary in IIFE var names"
This reverts commit f31de7dab3.
* init geolocation plugin
* ios impl (w/o js api)
* generate ts api
* use newer tauri commit
* add temporary postinstall
* include src in files
* guest-js
* just ship dist-js for now
* fix watcher
* fix android compile error
* fix android build for real
* fix heading type
* initial getCurrentPosition android impl (wip)
* prevent panics if errors (strings) are sent over the channel
* Add android watchPosition implementation
* init haptics plugin (android)
* ios and new apis (ANDROID IS LIKELY BROKEN - MAY NOT EVEN COMPILE)
* use tauri-specta that accounts for raw fn arg idents
* add complete android support (it's not working great due to random soft-/hardware support)
* fix(haptics): Fix the NotificationFeedbackType::Success and Version (#1)
* Fix success feedback and version
* Apply suggestions from code review
* Update package.json
---------
Co-authored-by: Fabian-Lars <118197967+FabianLars-crabnebula@users.noreply.github.com>
* android: improve permission callback handling
* keep track of ongoing perms requests
* rebuild
* license headers
* rm sqlite feat
* fmt
* what diff u talkin bout?
* ignore dist-js again
* fix audits
* dedupe api.js
* clippy
* changefiles
* readmes
* clean up todos
* rm dsstore
* rm wrong feats
* mirror
* covector
* rebuild
* ios requires the wry feature
* lint
* update lock
---------
Co-authored-by: fabianlars <fabianlars@fabianlars.de>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Naman Garg <155433377+naman-crabnebula@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
* feat(log): add Builder::split to get the raw logger implementation
This function lets you split the Builder to return the raw logger implementation along the TauriPlugin to be registered. Useful to pipe the logger to other implementations such as multi_log or tauri-plugin-devtools, allowing the plugin to be used along other logging systems.
* clippy
* covector
* Use named tempfile on Windows
* append installer
* Add change file
* Fix ci
* Wrap in a folder
* Name temp dir for eaiser debugging
* format
* temp_dir
* target_os
* Document use updater_builder instead
* Update package versions and modify OS plugin
The version numbers for multiple packages have been updated in Cargo.lock. Additionally, changes were made in the OS plugin, specifically in the `index.ts` file where asynchronous function calls have been transformed into synchronous ones.
* Update package versions in Cargo.lock
Several packages in Cargo.lock have been updated to new versions. This includes "hyper", "hyper-util", "open", "serde_json", and "zerocopy" packages. Each package has had its version, checksum, and associated dependencies adjusted to reflect the latest release.
* Update OS sync functions in documentation examples
The documentation examples for `platform`, `arch`, `type`, `family`, `version`, and `exe_extension` functions have been updated. The changes are intended to better illustrate that these functions are synchronous.
* feat(shell): support opening URLs on mobile
closes#595
* Update and rename StorePlugin.swift to ShellPlugin.swift
* unwrap
* fix func name (ios)
* use undeprecated func if avail
---------
Co-authored-by: fabianlars <fabianlars@fabianlars.de>
**Breaking change:** Removed the `default-tls` feature flag. The `rustls-tls`, `http2`, `macos-system-configuration`, and `charset` feature flags are now enabled by default.
Refactored APIs to introduce new pressed and released events:
- Added `ShortcutEvent` and `ShortcutState` types in Rust.
- Changed the handler function passed to `GlobalShortcut::on_shortcut`, `GlobalShortcut::on_all_shortcuts` and `Builder::with_handler` to take a 3rd argument of type `ShortcutEvent`.
- Added `ShortcutEvent` interface in JS.
- Changed `ShortcutHandler` type alias (which affects the JS `register` and `registerAll` APIs) to take `ShortcutEvent` instead of a string.
**Breaking change** Refactored the plugin Rust APIs for better DX and flexibility:
- Changed `Builder::with_handler` to be a method instead of a static method, it will also be triggered for any and all shortcuts even if the shortcut is registered through JS.
- Added `Builder::with_shortcut` and `Builder::with_shortcuts` to register shortcuts on the plugin builder.
- Added `on_shortcut` and `on_all_shortcuts` to register shortcuts with a handler.
Add `Builder::with_filename` to support using a custom filename. Also add `AppHandleExt::file_name` and a similar function in JS, to retrieve it later.
**Breaking change**: Changed the format of the state file from bincode to json. Also changed the filename to from `.window-state` to `.window-state.json`.
| [autostart](plugins/autostart) | Automatically launch your app at system startup. | ✅ | ✅ | ✅ | ? | ? |
| [barcode-scanner](plugins/barcode-scanner) | Allows your mobile application to use the camera to scan QR codes, EAN-13 and other kinds of barcodes. | ? | ? | ? | ✅ | ✅ |
| [biometric](plugins/biometric)| Prompt the user for biometric authentication on Android and iOS. | ? | ? | ? | ✅ | ✅ |
| [cli](plugins/cli) | Parse arguments from your Command Line Interface | ✅ | ✅ | ✅ | ? | ? |
| [clipboard-manager](plugins/clipboard-manager) | Read and write to the system clipboard. | ✅ | ✅ | ✅ | ✅ | ✅ |
| [deep-link](plugins/deep-link) | Set your Tauri application as the default handler for an URL. | ? | ? | ? | ✅ | ✅ |
| [dialog](plugins/dialog) | Native system dialogs for opening and saving files along with message dialogs. | ✅ | ✅ | ✅ | ✅ | ✅ |
| [nfc](plugins/nfc) | Read and write NFC tags on Android and iOS.| ? | ?| ? | ✅ | ✅ |
| [notification](plugins/notification) | Send message notifications (brief auto-expiring OS window element) to your user. Can also be used with the Notification Web API. | ✅ | ✅ | ✅ | ✅ | ✅ |
| [os](plugins/os) | Read information about the operating system. | ✅ | ✅ | ✅ | ✅ | ✅ |
| [positioner](plugins/positioner) | Move windows to common locations. | ✅ | ✅ | ✅ | ? | ? |
| [process](plugins/process) | This plugin provides APIs to access the current process. To spawn child processes, see the [`shell`](https://github.com/tauri-apps/tauri-plugin-shell) plugin. | ✅ | ✅ | ✅ | ? | ? |
| [shell](plugins/shell) | Access the system shell. Allows you to spawn child processes and manage files and URLs using their default application. | ✅ | ✅ | ✅ | ? | ? |
| [single-instance](plugins/single-instance) | Ensure a single instance of your tauri app is running. | ✅ | ? | ✅ | ? | ? |
| [autostart](plugins/autostart) | Automatically launch your app at system startup. | ✅ | ✅ | ✅ | ? | ? |
| [barcode-scanner](plugins/barcode-scanner) | Allows your mobile application to use the camera to scan QR codes, EAN-13 and other kinds of barcodes. | ? | ? | ? | ✅ | ✅ |
| [biometric](plugins/biometric) | Prompt the user for biometric authentication on Android and iOS. | ? | ? | ? | ✅ | ✅ |
| [cli](plugins/cli) | Parse arguments from your Command Line Interface | ✅ | ✅ | ✅ | ? | ? |
| [clipboard-manager](plugins/clipboard-manager) | Read and write to the system clipboard. | ✅ | ✅ | ✅ | ✅ | ✅ |
| [deep-link](plugins/deep-link) | Set your Tauri application as the default handler for an URL. | ✅ | ✅ | ✅ | ✅ | ✅ |
| [dialog](plugins/dialog) | Native system dialogs for opening and saving files along with message dialogs. | ✅ | ✅ | ✅ | ✅ | ✅ |
| [nfc](plugins/nfc) | Read and write NFC tags on Android and iOS. | ? | ? | ? | ✅ | ✅ |
| [notification](plugins/notification) | Send message notifications (brief auto-expiring OS window element) to your user. Can also be used with the Notification Web API. | ✅ | ✅ | ✅ | ✅ | ✅ |
| [os](plugins/os) | Read information about the operating system. | ✅ | ✅ | ✅ | ✅ | ✅ |
| [positioner](plugins/positioner) | Move windows to common locations. | ✅ | ✅ | ✅ | ? | ? |
| [process](plugins/process) | This plugin provides APIs to access the current process. To spawn child processes, see the [`shell`](https://github.com/tauri-apps/tauri-plugin-shell) plugin. | ✅ | ✅ | ✅ | ? | ? |
| [shell](plugins/shell) | Access the system shell. Allows you to spawn child processes and manage files and URLs using their default application. | ✅ | ✅ | ✅ | ? | ? |
| [single-instance](plugins/single-instance) | Ensure a single instance of your tauri app is running. | ✅ | ? | ✅ | ? | ? |
_This repo and all plugins require a Rust version of at least **1.75**_
_This repo and all plugins require a Rust version of at least **1.78**_
## Contributing
PRs accepted. Please make sure to read the [Contributing Guide](https://github.com/tauri-apps/tauri/blob/dev/.github/CONTRIBUTING.md) before making a pull request.
@@ -20,4 +20,4 @@ We prefer to receive reports in English.
Please disclose a vulnerability or security relevant issue here: [https://github.com/tauri-apps/plugins-workspace/security/advisories/new](https://github.com/tauri-apps/plugins-workspace/security/advisories/new).
Alternatively, you can also contact us by email via [security@tauri.app](mailto:security@tauri.app).
Alternatively, you can also contact us by email via [security@tauri.app](mailto:security@tauri.app).
- [`e2c4dfb6`](https://github.com/tauri-apps/plugins-workspace/commit/e2c4dfb6af43e5dd8d9ceba232c315f5febd55c1) Update to tauri v2 stable release.
### Dependencies
- Upgraded to `barcode-scanner-js@2.0.0`
- Upgraded to `biometric-js@2.0.0`
- Upgraded to `cli-js@2.0.0`
- Upgraded to `clipboard-manager-js@2.0.0`
- Upgraded to `fs-js@2.0.0`
- Upgraded to `dialog-js@2.0.0`
- Upgraded to `global-shortcut-js@2.0.0`
- Upgraded to `http-js@2.0.0`
- Upgraded to `log-js@2.0.0`
- Upgraded to `nfc-js@2.0.0`
- Upgraded to `notification-js@2.0.0`
- Upgraded to `os-js@2.0.0`
- Upgraded to `process-js@2.0.0`
- Upgraded to `shell-js@2.0.0`
- Upgraded to `store-js@2.0.0`
- Upgraded to `updater-js@2.0.0`
## \[2.0.0-rc.5]
### Dependencies
- Upgraded to `store-js@2.0.0-rc.2`
## \[2.0.0-rc.4]
### Dependencies
- Upgraded to `barcode-scanner-js@2.0.0-rc.2`
- Upgraded to `clipboard-manager-js@2.0.0-rc.2`
## \[2.0.0-rc.3]
### Dependencies
- Upgraded to `updater-js@2.0.0-rc.2`
## \[2.0.0-rc.2]
### Dependencies
- Upgraded to `barcode-scanner-js@2.0.0-rc.1`
- Upgraded to `notification-js@2.0.0-rc.1`
- Upgraded to `dialog-js@2.0.0-rc.1`
- Upgraded to `biometric-js@2.0.0-rc.1`
- Upgraded to `cli-js@2.0.0-rc.1`
- Upgraded to `clipboard-manager-js@2.0.0-rc.1`
- Upgraded to `fs-js@2.0.0-rc.2`
- Upgraded to `global-shortcut-js@2.0.0-rc.1`
- Upgraded to `http-js@2.0.0-rc.2`
- Upgraded to `log-js@2.0.0-rc.1`
- Upgraded to `nfc-js@2.0.0-rc.1`
- Upgraded to `os-js@2.0.0-rc.1`
- Upgraded to `process-js@2.0.0-rc.1`
- Upgraded to `shell-js@2.0.0-rc.1`
- Upgraded to `store-js@2.0.0-rc.1`
- Upgraded to `updater-js@2.0.0-rc.1`
## \[2.0.0-rc.1]
### Dependencies
- Upgraded to `http-js@2.0.0-rc.1`
- Upgraded to `fs-js@2.0.0-rc.1`
## \[2.0.0-rc.0]
### Dependencies
- Upgraded to `barcode-scanner-js@2.0.0-rc.0`
- Upgraded to `biometric-js@2.0.0-rc.0`
- Upgraded to `cli-js@2.0.0-rc.0`
- Upgraded to `clipboard-manager-js@2.0.0-rc.0`
- Upgraded to `dialog-js@2.0.0-rc.0`
- Upgraded to `fs-js@2.0.0-rc.0`
- Upgraded to `global-shortcut-js@2.0.0-rc.0`
- Upgraded to `http-js@2.0.0-rc.0`
- Upgraded to `log-js@2.0.0-rc.0`
- Upgraded to `nfc-js@2.0.0-rc.0`
- Upgraded to `notification-js@2.0.0-rc.0`
- Upgraded to `os-js@2.0.0-rc.0`
- Upgraded to `process-js@2.0.0-rc.0`
- Upgraded to `shell-js@2.0.0-rc.0`
- Upgraded to `updater-js@2.0.0-rc.0`
## \[2.0.0-beta.12]
### Dependencies
- Upgraded to `barcode-scanner-js@2.0.0-beta.8`
- Upgraded to `biometric-js@2.0.0-beta.8`
- Upgraded to `cli-js@2.0.0-beta.8`
- Upgraded to `clipboard-manager-js@2.1.0-beta.6`
- Upgraded to `dialog-js@2.0.0-beta.8`
- Upgraded to `fs-js@2.0.0-beta.8`
- Upgraded to `global-shortcut-js@2.0.0-beta.8`
- Upgraded to `http-js@2.0.0-beta.9`
- Upgraded to `log-js@2.0.0-beta.9`
- Upgraded to `nfc-js@2.0.0-beta.8`
- Upgraded to `notification-js@2.0.0-beta.8`
- Upgraded to `os-js@2.0.0-beta.8`
- Upgraded to `process-js@2.0.0-beta.8`
- Upgraded to `shell-js@2.0.0-beta.9`
- Upgraded to `updater-js@2.0.0-beta.8`
## \[2.0.0-beta.11]
### Dependencies
- Upgraded to `global-shortcut-js@2.0.0-beta.7`
- Upgraded to `http-js@2.0.0-beta.8`
- Upgraded to `os-js@2.0.0-beta.7`
- Upgraded to `barcode-scanner-js@2.0.0-beta.7`
- Upgraded to `biometric-js@2.0.0-beta.7`
- Upgraded to `cli-js@2.0.0-beta.7`
- Upgraded to `clipboard-manager-js@2.1.0-beta.5`
- Upgraded to `dialog-js@2.0.0-beta.7`
- Upgraded to `fs-js@2.0.0-beta.7`
- Upgraded to `log-js@2.0.0-beta.8`
- Upgraded to `nfc-js@2.0.0-beta.7`
- Upgraded to `notification-js@2.0.0-beta.7`
- Upgraded to `process-js@2.0.0-beta.7`
- Upgraded to `shell-js@2.0.0-beta.8`
- Upgraded to `updater-js@2.0.0-beta.7`
## \[2.0.0-beta.10]
### Dependencies
- Upgraded to `os-js@2.0.0-beta.6`
- Upgraded to `barcode-scanner-js@2.0.0-beta.6`
- Upgraded to `biometric-js@2.0.0-beta.6`
- Upgraded to `cli-js@2.0.0-beta.6`
- Upgraded to `clipboard-manager-js@2.1.0-beta.4`
- Upgraded to `dialog-js@2.0.0-beta.6`
- Upgraded to `fs-js@2.0.0-beta.6`
- Upgraded to `global-shortcut-js@2.0.0-beta.6`
- Upgraded to `http-js@2.0.0-beta.7`
- Upgraded to `log-js@2.0.0-beta.7`
- Upgraded to `nfc-js@2.0.0-beta.6`
- Upgraded to `notification-js@2.0.0-beta.6`
- Upgraded to `process-js@2.0.0-beta.6`
- Upgraded to `shell-js@2.0.0-beta.7`
- Upgraded to `updater-js@2.0.0-beta.6`
## \[2.0.0-beta.9]
### Dependencies
- Upgraded to `http-js@2.0.0-beta.6`
## \[2.0.0-beta.8]
### Dependencies
- Upgraded to `barcode-scanner-js@2.0.0-beta.5`
- Upgraded to `biometric-js@2.0.0-beta.5`
- Upgraded to `cli-js@2.0.0-beta.5`
- Upgraded to `clipboard-manager-js@2.1.0-beta.3`
- Upgraded to `dialog-js@2.0.0-beta.5`
- Upgraded to `fs-js@2.0.0-beta.5`
- Upgraded to `global-shortcut-js@2.0.0-beta.5`
- Upgraded to `http-js@2.0.0-beta.5`
- Upgraded to `log-js@2.0.0-beta.6`
- Upgraded to `nfc-js@2.0.0-beta.5`
- Upgraded to `notification-js@2.0.0-beta.5`
- Upgraded to `os-js@2.0.0-beta.5`
- Upgraded to `process-js@2.0.0-beta.5`
- Upgraded to `shell-js@2.0.0-beta.6`
- Upgraded to `updater-js@2.0.0-beta.5`
## \[2.0.0-beta.7]
### Dependencies
- Upgraded to `http-js@2.0.0-beta.4`
- Upgraded to `barcode-scanner-js@2.0.0-beta.4`
- Upgraded to `biometric-js@2.0.0-beta.4`
- Upgraded to `cli-js@2.0.0-beta.4`
- Upgraded to `clipboard-manager-js@2.1.0-beta.2`
- Upgraded to `dialog-js@2.0.0-beta.4`
- Upgraded to `fs-js@2.0.0-beta.4`
- Upgraded to `global-shortcut-js@2.0.0-beta.4`
- Upgraded to `log-js@2.0.0-beta.5`
- Upgraded to `nfc-js@2.0.0-beta.4`
- Upgraded to `notification-js@2.0.0-beta.4`
- Upgraded to `os-js@2.0.0-beta.4`
- Upgraded to `process-js@2.0.0-beta.4`
- Upgraded to `shell-js@2.0.0-beta.5`
- Upgraded to `updater-js@2.0.0-beta.4`
## \[2.0.0-beta.6]
### Dependencies
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.