From 81a1bfb9c8ec0e8c0bfd1be146ab923ce99212cb Mon Sep 17 00:00:00 2001 From: mic Date: Mon, 21 Apr 2025 21:20:01 +0200 Subject: [PATCH 1/6] Add confirmation prompt for inserting AI response when no text is selected. See #353 --- _locales/en/messages.json | 4 ++++ js/mzta-compose-script.js | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 0bc539b2..48b6b602 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1270,5 +1270,9 @@ "CORS_give_allurls_perm": { "message": "Give \"all URLs\" permission", "description": "" + }, + "Replace_No_Selected_Text": { + "message": "No text selected, would you like to insert the AI's response at the beginning of the email?", + "description": "" } } \ No newline at end of file diff --git a/js/mzta-compose-script.js b/js/mzta-compose-script.js index 13f93708..b0289e38 100644 --- a/js/mzta-compose-script.js +++ b/js/mzta-compose-script.js @@ -24,12 +24,19 @@ switch (message.command) { case "replaceSelectedText": { const selectedText = window.getSelection().toString(); + let force_insert = false; if (selectedText === '') { - return Promise.resolve(false); + if(!confirm(browser.i18n.getMessage("Replace_No_Selected_Text"))) { + return Promise.resolve(false); + }else{ + force_insert = true; + } } const sel = window.getSelection(); if (!sel || sel.type !== "Range" || !sel.rangeCount) { - return Promise.resolve(false); + if(!force_insert) { + return Promise.resolve(false); + } } const r = sel.getRangeAt(0); r.deleteContents(); From 71f5aaf6b2605683030b07307f035cbde9ee40b8 Mon Sep 17 00:00:00 2001 From: Mic Date: Tue, 22 Apr 2025 00:06:00 +0200 Subject: [PATCH 2/6] release notes updated --- CHANGELOG.md | 2 +- options/mzta-release-notes.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd705150..cf456d6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@

Version 3.3.5 - 17/04/2025