Commit Graph

23 Commits

Author SHA1 Message Date
Andrew de Waal d7a0bb325d feat(dialog) - Support fileAccessMode for open dialog (#3030) (#3136)
* feat(dialog) - Support fileAccessMode for open dialog (#3030)

On iOS, when trying to access a file that exists outside of the app sandbox, one of 2 things need to happen to be able to perform any operations on said file:

* A copy of the file needs to be made to the internal app sandbox
* The method startAccessingSecurityScopedResource needs to be called.

Previously, a copy of the file was always being made when a file was selected through the picker dialog.

While this did ensure there were no file access exceptions when reading from the file, it does not scale well for large files.

To resolve this, we now support `fileAccessMode`, which allows a file handle to be returned without copying the file to the app sandbox.

This MR only supports this change for iOS; MacOS has a different set of needs for security scoped resources.

See discussion in #3716 for more discussion of the difference between iOS and MacOS.
See MR #3185 to see how these scoped files will be accessible using security scoping.

* fmt, clippy

* use enum

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2026-01-14 08:35:06 -03:00
Andrew de Waal dff6fa986a feat(dialog) - Support picker mode for open dialog (#3030) (#3034)
Co-authored-by: Andrew de Waal <andrewldewaal@gmail.com>
2025-11-20 22:28:13 +01:00
Amr Bashir 509eba8d44 feat: support message dialogs with 3 buttons (#2641)
* feat: support message dialogs with 3 buttons

* change file

* From<String>

* untagged & YesNoCancel

* revert package.json

* Update plugins/dialog/src/desktop.rs

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* no optional

* Update desktop.rs

* Update plugins/dialog/src/models.rs

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* change to an enum

* convert back into union

* regen

* update @since

* map buttons for linux

* enhance type

* Add examples

---------

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Tony <legendmastertony@gmail.com>
2025-08-27 09:40:47 -03:00
Tony 2302c2db1c fix(dialog): ask and confirm not using system button texts (#1910)
* Fix `ask`'s button texts being ok and cancel

* Update change file
2024-10-20 08:48:45 -03:00
Amr Bashir cf4d7d4e6c chore: adjust prettier config, .gitignore and use taplo to format toml files (#1728)
* 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>
2024-09-04 08:54:23 -03:00
mikoto2000 448846b834 feat(fs): resolve content URIs on Android (#1658)
* Implemented writeTextFile on Android.

* Added license headers.

* fix fmt checks.

* implement more file APIs

* change file

* cleanup

* refactor dialog plugin to leverage new FS APIs

* implement metadata functions

* fix build

* expose FS rust API

* resolve resources on android

* update pnpm

* update docs

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-23 13:35:53 -03:00
mikoto2000 bc7eecf420 feat(dialog): Implemented android save dialog. (#1657)
* Implemented android save dialog.

* small cleanup

* lint

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-13 08:41:30 -03:00
renovate[bot] a2eb3a6e43 chore(deps): update dependency eslint to v9 (v2) (#1424)
* chore(deps): update dependency eslint to v9

* flat config

* license header

* rebuild

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-06-03 21:04:13 +02:00
renovate[bot] faa89850d0 chore(deps): replace dependency eslint-config-standard-with-typescript with eslint-config-love 43.1.0 (#1228)
* chore(deps): replace dependency eslint-config-standard-with-typescript with eslint-config-love 43.1.0

* actually apply the rules lol

* rebuild

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-04-23 00:40:51 +02:00
Amr Bashir aa25c91bb0 feat(dialog): allow setting canCreateDirectories on macOS (#978)
* feat(dialog): allow setting `canCreateDirectories` on macOS

closes #949

* Discard changes to plugins/log/src/api-iife.js

* Discard changes to plugins/store/src/api-iife.js

* Discard changes to plugins/window-state/src/api-iife.js

* Update plugins/dialog/src/commands.rs

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* Update plugins/dialog/src/commands.rs

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* Update plugins/dialog/src/lib.rs

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* Update plugins/dialog/guest-js/index.ts

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* Update plugins/dialog/guest-js/index.ts

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-02-23 21:05:29 +02:00
Tony 2e7ef46d8b refactor!(dialog): change type field in JS to kind (#945)
* Fix dialog type not working

* gen files

* type -> kind

* update API example

---------

Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
2024-02-14 01:05:54 +02:00
Shubham Parihar 18cb861b52 type: add OpenDialogReturn generic type (#919)
* type: add OpenDialogReturn generic type

* chore: run pnpm format

* type: export OpenDialogReturn type

* chore: run pnpm format
2024-01-30 02:08:46 +02:00
Lucas Fernandes Nogueira 2cf8faa3e1 chore(deps): update to tauri alpha.20, @tauri-apps/api alpha.13 (#839)
* chore(deps): update to tauri alpha.20, @tauri-apps/api alpha.13

* fix lockfile
2023-12-20 00:18:05 +02:00
Fabian-Lars 7c59e3785b feat(dialog): Re-export FileResponse (#837)
closes #835
2023-12-19 15:35:53 +02:00
Mo beb6b139eb Fix invoke calls in dialog & shell init scripts (#675)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-22 10:09:40 -03:00
Lucas Fernandes Nogueira 5c137365c6 chore: update to tauri alpha.16, api alpha.9 (#673)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-10-20 13:50:18 -03:00
Lucas Fernandes Nogueira 7f2e2dd5b8 fix(docs): plugin usage examples using wrong package name (#527) 2023-08-02 07:41:14 -03:00
Fabian-Lars aba07c27b8 Merge v1 into v2 (#468)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
Co-authored-by: Alexandre Dang <124160233+vdang-crabnebula@users.noreply.github.com>
Co-authored-by: Ludea <ludovicw35@hotmail.com>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Duke Jones <104690+dukejones@users.noreply.github.com>
Co-authored-by: NaokiM03 <37442712+NaokiM03@users.noreply.github.com>
Co-authored-by: Thibault <thibault_poisson@orange.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: David Blythe <49919035+writeDavid@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
fix(stronghold): change wrong argument name for `remove` (#422)
fix(window-state): correctly set decoration state if no saved state exists, fixes #421 (#424)
fix(stronghold): return null if there is no record (#129)
fix(window-state): propagate promise (#435)
closes #432
fix(window-state): manual default implentation (#425)
fix(window-state): manual default implentation, closes #421
fix(deps): update rust crate iota-crypto to 0.21 (#438)
fix readme example (#447)
fix: handle recursive directory correctly (#455)
fix(deps): update rust crate sqlx to 0.7. plugin-sql msrv is now 1.65 (#464)
fix(persisted-scope): separately save asset protocol patterns (#459)
fix(deps): update rust crate iota-crypto to 0.22 (#475)
fix(deps): update tauri monorepo to v1.4.0 (#482)
resolve to v15.1.0 (#489)
fix(deps): update rust crate iota-crypto to 0.23 (#495)
2023-07-19 14:50:43 -03:00
Lucas Fernandes Nogueira 9bf98f68e7 chore(api): update @since tag to 2.0.0 (#395) 2023-05-23 23:44:05 -03:00
Lucas Fernandes Nogueira b131bc8f7c feat(plugins): inject API on window.__TAURI__ (#383) 2023-05-23 14:20:14 -03:00
Lucas Fernandes Nogueira f4069f5588 docs: update README.md and remove allowlist information (#381) 2023-05-20 20:28:27 -03:00
FabianLars b730c34923 Run formatter on new plugins 2023-05-03 09:13:24 +02:00
Lucas Fernandes Nogueira 7a8633f429 feat(dialog): add plugin (#306) 2023-04-18 22:41:12 -03:00