diff --git a/api_webchat/messagesArea.js b/api_webchat/messagesArea.js
index eb61eca0..3696dbe2 100644
--- a/api_webchat/messagesArea.js
+++ b/api_webchat/messagesArea.js
@@ -20,6 +20,7 @@
* The original code has been released under the Apache License, Version 2.0.
*/
+import { prefs_default } from '../options/mzta-options-default.js';
const messagesAreaTemplate = document.createElement('template');
const messagesAreaStyle = document.createElement('style');
@@ -383,7 +384,7 @@ class MessagesArea extends HTMLElement {
splitButton.appendChild(actionButton);
const fullTextHTMLAtAssignment = this.fullTextHTML.trim().replace(/^"|"$/g, '').replace(/^
"/, '
').replace(/"<\/p>$/, '
'); // strip quotation marks
//console.log(">>>>>>>>>>>> fullTextHTMLAtAssignment: " + fullTextHTMLAtAssignment);
- let reply_type_pref = await browser.storage.sync.get({reply_type: 'reply_all'});
+ let reply_type_pref = await browser.storage.sync.get({ reply_type: prefs_default.reply_type });
if((promptData.action == "1") && (promptData.mailMessageId != -1)) {
const actionButton_line2 = document.createElement('span');
actionButton_line2.classList.add('action_btn_info');
@@ -613,4 +614,4 @@ function removeAloneBRs(htmlString) {
});
return doc.body.innerHTML;
-}
\ No newline at end of file
+}
diff --git a/js/mzta-menus.js b/js/mzta-menus.js
index c836acde..e58be3aa 100644
--- a/js/mzta-menus.js
+++ b/js/mzta-menus.js
@@ -19,6 +19,7 @@
// Some original methods are derived from https://github.com/ali-raheem/Aify/blob/cfadf52f576b7be3720b5b73af7c8d3129c054da/plugin/html/actions.js
import { getPrompts } from './mzta-prompts.js';
+import { prefs_default } from '../options/mzta-options-default.js';
import { getLanguageDisplayName, getMenuContextCompose, getMenuContextDisplay, i18nConditionalGet, getMailSubject, getTagsList, extractJsonObject, convertNewlinesToBr, cleanupNewlines, checkIfTagLabelExists } from './mzta-utils.js'
import { taPromptUtils } from './mzta-utils-prompt.js';
import { taLogger } from './mzta-logger.js';
@@ -182,7 +183,14 @@ export class mzta_Menus {
case 'prompt_add_tags': { // Add tags to the email
let tags_current_email = [];
let tags_current_email_final = [];
- let prefs_at = await browser.storage.sync.get({add_tags_maxnum: 3, connection_type: '', add_tags_force_lang: true, add_tags_auto_force_existing: false, default_chatgpt_lang: '', do_debug: false});
+ let prefs_at = await browser.storage.sync.get({
+ add_tags_maxnum: prefs_default.add_tags_maxnum,
+ connection_type: prefs_default.connection_type,
+ add_tags_force_lang: prefs_default.add_tags_force_lang,
+ add_tags_auto_force_existing: prefs_default.add_tags_auto_force_existing,
+ default_chatgpt_lang: prefs_default.default_chatgpt_lang,
+ do_debug: prefs_default.do_debug,
+ });
if((prefs_at.connection_type === '')||(prefs_at.connection_type === null)||(prefs_at.connection_type === undefined)||(prefs_at.connection_type === 'chatgpt_web')){
console.error("[ThunderAI | AddTags] Invalid connection type: " + prefs_at.connection_type);
taWorkingStatus.stopWorking();
@@ -226,7 +234,11 @@ export class mzta_Menus {
}
case 'prompt_get_calendar_event': { // Get a calendar event info
let calendar_event_data = '';
- let prefs_at = await browser.storage.sync.get({connection_type: '', calendar_enforce_timezone: false, calendar_timezone: '',});
+ let prefs_at = await browser.storage.sync.get({
+ connection_type: prefs_default.connection_type,
+ calendar_enforce_timezone: prefs_default.calendar_enforce_timezone,
+ calendar_timezone: prefs_default.calendar_timezone,
+ });
if((prefs_at.connection_type === '')||(prefs_at.connection_type === null)||(prefs_at.connection_type === undefined)||(prefs_at.connection_type === 'chatgpt_web')){
console.error("[ThunderAI | GetCalendarEvent] Invalid connection type: " + prefs_at.connection_type);
taWorkingStatus.stopWorking();
@@ -500,4 +512,4 @@ export class mzta_Menus {
return false;
}
-}
\ No newline at end of file
+}
diff --git a/js/mzta-placeholders.js b/js/mzta-placeholders.js
index fb08a387..0eb6f926 100644
--- a/js/mzta-placeholders.js
+++ b/js/mzta-placeholders.js
@@ -16,6 +16,8 @@
* along with this program. If not, see .
*/
+import { prefs_default } from '../options/mzta-options-default.js';
+
/* ================= PLACEHOLDERS PROPERTIES ========================================
================ BASE PROPERTIES
@@ -480,11 +482,11 @@ export const placeholdersUtils = {
finalSubs['tags_full_list'] = placeholdersUtils.failSafePlaceholders(tags_full_list[0]);
break;
case 'thunderai_def_sign':
- let prefs_def_sign = await browser.storage.sync.get({default_sign_name: ''});
+ let prefs_def_sign = await browser.storage.sync.get({ default_sign_name: prefs_default.default_sign_name });
finalSubs['thunderai_def_sign'] = placeholdersUtils.failSafePlaceholders(prefs_def_sign.default_sign_name);
break;
case 'thunderai_def_lang':
- let prefs_def_lang = await browser.storage.sync.get({default_chatgpt_lang: ''});
+ let prefs_def_lang = await browser.storage.sync.get({ default_chatgpt_lang: prefs_default.default_chatgpt_lang });
finalSubs['thunderai_def_lang'] = placeholdersUtils.failSafePlaceholders(prefs_def_lang.default_chatgpt_lang);
break;
case 'mail_attachments_info':
@@ -516,4 +518,4 @@ export const placeholdersUtils = {
return element;
}
-}
\ No newline at end of file
+}
diff --git a/js/mzta-special-commands.js b/js/mzta-special-commands.js
index 2ac7ac38..93685669 100644
--- a/js/mzta-special-commands.js
+++ b/js/mzta-special-commands.js
@@ -19,6 +19,7 @@
import { taLogger } from './mzta-logger.js';
+ import { prefs_default } from '../options/mzta-options-default.js';
export class mzta_specialCommand {
@@ -60,27 +61,50 @@
async initWorker() {
switch (this.llm) {
case "chatgpt_api": {
- let prefs_api = await browser.storage.sync.get({chatgpt_api_key: '', chatgpt_model: '', chatgpt_developer_messages: ''});
+ let prefs_api = await browser.storage.sync.get({
+ chatgpt_api_key: prefs_default.chatgpt_api_key,
+ chatgpt_model: prefs_default.chatgpt_model,
+ chatgpt_developer_messages: prefs_default.chatgpt_developer_messages,
+ });
this.worker.postMessage({ type: 'init', chatgpt_api_key: prefs_api.chatgpt_api_key, chatgpt_model: prefs_api.chatgpt_model, chatgpt_developer_messages: prefs_api.chatgpt_developer_messages, do_debug: this.do_debug, i18nStrings: ''});
break;
}
case "google_gemini_api": {
- let prefs_api = await browser.storage.sync.get({google_gemini_api_key: '', google_gemini_model: '', google_gemini_system_instruction: ''});
+ let prefs_api = await browser.storage.sync.get({
+ google_gemini_api_key: prefs_default.google_gemini_api_key,
+ google_gemini_model: prefs_default.google_gemini_model,
+ google_gemini_system_instruction: prefs_default.google_gemini_system_instruction,
+ });
this.worker.postMessage({ type: 'init', google_gemini_api_key: prefs_api.google_gemini_api_key, google_gemini_model: prefs_api.google_gemini_model, google_gemini_system_instruction: prefs_api.google_gemini_system_instruction, do_debug: this.do_debug, i18nStrings: ''});
break;
}
case "ollama_api": {
- let prefs_api = await browser.storage.sync.get({ollama_host: '', ollama_model: ''});
+ let prefs_api = await browser.storage.sync.get({
+ ollama_host: prefs_default.ollama_host,
+ ollama_model: prefs_default.ollama_model,
+ });
this.worker.postMessage({ type: 'init', ollama_host: prefs_api.ollama_host, ollama_model: prefs_api.ollama_model, do_debug: this.do_debug, i18nStrings: ''});
break;
}
case "openai_comp_api": {
- let prefs_api = await browser.storage.sync.get({openai_comp_host: '', openai_comp_model: '', openai_comp_api_key: '', openai_comp_use_v1: true, openai_comp_chat_name: '', do_debug: false});
+ let prefs_api = await browser.storage.sync.get({
+ openai_comp_host: prefs_default.openai_comp_host,
+ openai_comp_model: prefs_default.openai_comp_model,
+ openai_comp_api_key: prefs_default.openai_comp_api_key,
+ openai_comp_use_v1: prefs_default.openai_comp_use_v1,
+ openai_comp_chat_name: prefs_default.openai_comp_chat_name,
+ do_debug: prefs_default.do_debug,
+ });
this.worker.postMessage({ type: 'init', openai_comp_host: prefs_api.openai_comp_host, openai_comp_model: prefs_api.openai_comp_model, openai_comp_api_key: prefs_api.openai_comp_api_key, openai_comp_use_v1: prefs_api.openai_comp_use_v1, do_debug: this.do_debug, i18nStrings: ''});
break;
}
case "anthropic_api": {
- let prefs_api = await browser.storage.sync.get({anthropic_api_key: '', anthropic_model: '', anthropic_version: '2023-06-01', anthropic_max_tokens: 4096});
+ let prefs_api = await browser.storage.sync.get({
+ anthropic_api_key: prefs_default.anthropic_api_key,
+ anthropic_model: prefs_default.anthropic_model,
+ anthropic_version: prefs_default.anthropic_version,
+ anthropic_max_tokens: prefs_default.anthropic_max_tokens,
+ });
this.worker.postMessage({ type: 'init', anthropic_api_key: prefs_api.anthropic_api_key, anthropic_model: prefs_api.anthropic_model, anthropic_version: prefs_api.anthropic_version, anthropic_max_tokens: prefs_api.anthropic_max_tokens, do_debug: this.do_debug, i18nStrings: ''});
break;
}
@@ -131,4 +155,4 @@
}
});
}
- }
\ No newline at end of file
+ }
diff --git a/js/mzta-utils-prompt.js b/js/mzta-utils-prompt.js
index 57098416..03f29c53 100644
--- a/js/mzta-utils-prompt.js
+++ b/js/mzta-utils-prompt.js
@@ -18,11 +18,12 @@
import { placeholdersUtils } from './mzta-placeholders.js';
import { extractJsonObject } from './mzta-utils.js';
+import { prefs_default } from '../options/mzta-options-default.js';
export const taPromptUtils = {
async getDefaultSignature(){
- let prefs = await browser.storage.sync.get({default_sign_name: ''});
+ let prefs = await browser.storage.sync.get({ default_sign_name: prefs_default.default_sign_name });
if(prefs.default_sign_name===''){
return '';
}else{
@@ -68,7 +69,7 @@ export const taPromptUtils = {
selection_html: selection_html,
tags_full_list: tags_full_list
});
- let prefs_ph = await browser.storage.sync.get({placeholders_use_default_value: false});
+ let prefs_ph = await browser.storage.sync.get({ placeholders_use_default_value: prefs_default.placeholders_use_default_value });
fullPrompt = (placeholdersUtils.replacePlaceholders({
text: curr_prompt.text,
replacements: finalSubs,
@@ -104,7 +105,7 @@ export const taPromptUtils = {
async getDefaultLang(curr_prompt){
let chatgpt_lang = '';
if(String(curr_prompt.define_response_lang) == "1"){
- let prefs = await browser.storage.sync.get({default_chatgpt_lang: ''});
+ let prefs = await browser.storage.sync.get({ default_chatgpt_lang: prefs_default.default_chatgpt_lang });
chatgpt_lang = prefs.default_chatgpt_lang;
if(chatgpt_lang === ''){
chatgpt_lang = browser.i18n.getMessage("reply_same_lang");
@@ -152,4 +153,4 @@ export const taPromptUtils = {
}
return tags;
}
-};
\ No newline at end of file
+};
diff --git a/js/mzta-utils.js b/js/mzta-utils.js
index bf41319a..af6e82fc 100644
--- a/js/mzta-utils.js
+++ b/js/mzta-utils.js
@@ -16,6 +16,7 @@
* along with this program. If not, see .
*/
+import { prefs_default } from '../options/mzta-options-default.js';
const sparks_min = '1.2.0'; // Minimum version of ThunderAI-Sparks required for the add-on to work
export const ChatGPTWeb_models = ['gpt-5','gpt-5-instant','gpt-5-t-mini','gpt-5-thinking']; // List of models available in ChatGPT Web
@@ -388,7 +389,7 @@ export async function getTagsList(){
}
export async function createTag(tag) {
- let prefs_tag = await browser.storage.sync.get({add_tags_first_uppercase: true});
+ let prefs_tag = await browser.storage.sync.get({ add_tags_first_uppercase: prefs_default.add_tags_first_uppercase });
if(prefs_tag.add_tags_first_uppercase) tag = tag.toLowerCase().charAt(0).toUpperCase() + tag.toLowerCase().slice(1);
try {
if(await isThunderbird128OrGreater()) {
@@ -753,4 +754,4 @@ export async function* getMessages(list) {
yield message;
}
}
-}
\ No newline at end of file
+}
diff --git a/mzta-background.js b/mzta-background.js
index 4046b52a..c3c9c290 100644
--- a/mzta-background.js
+++ b/mzta-background.js
@@ -414,7 +414,7 @@ async function openChatGPT(promptText, action, curr_tabId, prompt_name = '', do_
if((originalText == null) || (originalText == "")) {
originalText = prompt_info.body_text;
}
- let reply_type_pref = await browser.storage.sync.get({reply_type: 'reply_all'});
+ let reply_type_pref = await browser.storage.sync.get({ reply_type: prefs_default.reply_type });
//console.log(">>>>>>>>>> prompt_info: " + JSON.stringify(prompt_info));
let pre_script = `let mztaWinId = `+ createdTab.windowId +`;
let mztaStatusPageDesc="`+ browser.i18n.getMessage("prefs_status_page") +`";
diff --git a/pages/onboarding/onboarding.js b/pages/onboarding/onboarding.js
index d9f8e6a7..7857e4a0 100644
--- a/pages/onboarding/onboarding.js
+++ b/pages/onboarding/onboarding.js
@@ -17,11 +17,15 @@
*/
import { taLogger } from '../../js/mzta-logger.js';
+import { prefs_default } from '../../options/mzta-options-default.js';
let taLog = null;
document.addEventListener('DOMContentLoaded', async () => {
- let prefs = await browser.storage.sync.get({do_debug: false, connection_type: 'chatgpt_web'});
+ let prefs = await browser.storage.sync.get({
+ do_debug: prefs_default.do_debug,
+ connection_type: prefs_default.connection_type,
+ });
taLog = new taLogger("mzta-popup",prefs.do_debug);
i18n.updateDocument();
if(prefs.connection_type === 'chatgpt_web'){
@@ -62,4 +66,4 @@ document.addEventListener('DOMContentLoaded', async () => {
});
}
}
-}, { once: true });
\ No newline at end of file
+}, { once: true });