diff --git a/.changes/dialog-fix-browser-confirm.md b/.changes/dialog-fix-browser-confirm.md new file mode 100644 index 000000000..fd31bce00 --- /dev/null +++ b/.changes/dialog-fix-browser-confirm.md @@ -0,0 +1,6 @@ +--- +dialog: patch +dialog-js: patch +--- + +Fix browser `confirm` fails with `Uncaught dialog.confirm not allowed. Command not found` diff --git a/plugins/dialog/guest-js/init.ts b/plugins/dialog/guest-js/init.ts index f272c1bd5..49c3a82d3 100644 --- a/plugins/dialog/guest-js/init.ts +++ b/plugins/dialog/guest-js/init.ts @@ -19,7 +19,10 @@ window.alert = function (message: string) { // @ts-expect-error tauri does not have sync IPC :( window.confirm = async function (message: string) { - return await invoke('plugin:dialog|confirm', { - message: message.toString() - }) + return ( + (await invoke('plugin:dialog|message', { + message: message.toString(), + buttons: 'OkCancel' + })) === 'Ok' + ) } diff --git a/plugins/dialog/src/init-iife.js b/plugins/dialog/src/init-iife.js index bcdf3f561..dd5e7fa21 100644 --- a/plugins/dialog/src/init-iife.js +++ b/plugins/dialog/src/init-iife.js @@ -1 +1 @@ -!function(){"use strict";async function n(n,i={},o){return window.__TAURI_INTERNALS__.invoke(n,i,o)}"function"==typeof SuppressedError&&SuppressedError,window.alert=function(i){n("plugin:dialog|message",{message:i.toString()})},window.confirm=async function(i){return await n("plugin:dialog|confirm",{message:i.toString()})}}(); +!function(){"use strict";async function n(n,e={},i){return window.__TAURI_INTERNALS__.invoke(n,e,i)}"function"==typeof SuppressedError&&SuppressedError,window.alert=function(e){n("plugin:dialog|message",{message:e.toString()})},window.confirm=async function(e){return"Ok"===await n("plugin:dialog|message",{message:e.toString(),buttons:"OkCancel"})}}();