diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index 31498087..6a445b69 100644
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -1043,6 +1043,10 @@
"message": "To use the calendar event feature, please install the ThunderAI Sparks addon.",
"description": ""
},
+ "prefs_OptionText_get_calendar_event_Sparks_wrong_version": {
+ "message": "To use the calendar event feature, please install an updated version of ThunderAI Sparks addon.",
+ "description": ""
+ },
"prefs_OptionText_download_now": {
"message": "Download ThunderAI Sparks now!",
"description": ""
diff --git a/js/mzta-utils.js b/js/mzta-utils.js
index 02009edd..d314faf0 100644
--- a/js/mzta-utils.js
+++ b/js/mzta-utils.js
@@ -16,6 +16,8 @@
* along with this program. If not, see .
*/
+const sparks_min = '1.2.0'; // Minimum version of ThunderAI-Sparks required for the add-on to work
+
export const getMenuContextCompose = () => 'compose_action_menu';
export const getMenuContextDisplay = () => 'message_display_action_menu';
@@ -367,9 +369,17 @@ export function extractJsonObject(inputString) {
export async function checkSparksPresence() {
try {
- return (await browser.runtime.sendMessage('thunderai-sparks@micz.it',{action: "checkPresence"}) === 'ok');
+ let sparks_current = await browser.runtime.sendMessage('thunderai-sparks@micz.it',{action: "checkPresence"});
+ if(sparks_current === undefined || sparks_current === null) {
+ return -1;
+ }
+ if (compareThunderbirdVersions(sparks_current, sparks_min) < 0) {
+ return 0;
+ }else{
+ return 1;
+ }
} catch (error) {
- return false;
+ return -1;
}
}
diff --git a/mzta-background.js b/mzta-background.js
index 035de46d..e8bc0500 100644
--- a/mzta-background.js
+++ b/mzta-background.js
@@ -618,7 +618,7 @@ function checkScreenDimensions(prefs){
async function doGetCalendarEvent(get_calendar_event) {
if(get_calendar_event) {
- return await checkSparksPresence();
+ return (await checkSparksPresence() == 1);
} else {
return false;
}
diff --git a/options/mzta-options.html b/options/mzta-options.html
index 0423168f..30b8a790 100644
--- a/options/mzta-options.html
+++ b/options/mzta-options.html
@@ -376,7 +376,8 @@
- __MSG_prefs_OptionText_get_calendar_event_Sparks_not_present__
+ __MSG_prefs_OptionText_get_calendar_event_Sparks_not_present__
+ __MSG_prefs_OptionText_get_calendar_event_Sparks_wrong_version__
__MSG_prefs_OptionText_download_now__
|
diff --git a/options/mzta-options.js b/options/mzta-options.js
index 19994820..ee575645 100644
--- a/options/mzta-options.js
+++ b/options/mzta-options.js
@@ -299,14 +299,18 @@ function disable_SpamFilter(){
async function disable_GetCalendarEvent(){
let get_calendar_event = document.getElementById('get_calendar_event');
let no_sparks_tr = document.getElementById('no_sparks');
- let is_spark_present = await checkSparksPresence()
+ let no_sparks_text = document.getElementById('no_sparks_text');
+ let wrong_sparks_text = document.getElementById('wrong_sparks_text');
+ let is_spark_present = await checkSparksPresence();
let conntype_select = document.getElementById("connection_type");
- get_calendar_event.disabled = (conntype_select.value === "chatgpt_web") || !is_spark_present;
+ get_calendar_event.disabled = (conntype_select.value === "chatgpt_web") || !(is_spark_present == 1);
let get_calendar_event_tr_elements = document.querySelectorAll('.get_calendar_event_tr');
get_calendar_event_tr_elements.forEach(get_calendar_event_tr => {
get_calendar_event_tr.style.display = get_calendar_event.disabled ? 'none' : 'table-row';
});
- no_sparks_tr.style.display = (is_spark_present || (conntype_select.value === "chatgpt_web")) ? 'none' : 'table-row';
+ no_sparks_tr.style.display = ((is_spark_present == 1) || (conntype_select.value === "chatgpt_web")) ? 'none' : 'table-row';
+ no_sparks_text.style.display = (is_spark_present == -1) ? 'inline' : 'none';
+ wrong_sparks_text.style.display = (is_spark_present == 0) ? 'inline' : 'none';
}
document.addEventListener('DOMContentLoaded', async () => {
diff --git a/popup/mzta-popup.js b/popup/mzta-popup.js
index 347277a1..590f0019 100644
--- a/popup/mzta-popup.js
+++ b/popup/mzta-popup.js
@@ -338,7 +338,7 @@ function checkDoAddTags(){
}
function checkDoCalendarEvent(){
- return get_calendar_event && (connection_type !== "chatgpt_web" && tabType !== 'messageCompose') && checkSparksPresence();
+ return get_calendar_event && (connection_type !== "chatgpt_web" && tabType !== 'messageCompose') && (checkSparksPresence() == 1);
}
function ensurePromptAddTagsFirst(arr) {