From 4bab16adbccaa0ae5f8996f238b6811344f32b85 Mon Sep 17 00:00:00 2001 From: Mic Date: Wed, 18 Dec 2024 01:23:00 +0100 Subject: [PATCH] correctly assigning multiple tags. see #183 --- js/mzta-menus.js | 2 +- js/mzta-utils.js | 7 +++++-- mzta-background.js | 14 ++++++++------ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/js/mzta-menus.js b/js/mzta-menus.js index 38fa4de7..e860c132 100644 --- a/js/mzta-menus.js +++ b/js/mzta-menus.js @@ -218,7 +218,7 @@ export class mzta_Menus { this.logger.log("fullPrompt: " + fullPrompt); // TODO: use the current API, abort if using chatgpt web // COMMENTED TO DO TESTS - mail_tags = "recipients, test, home, work, CAR, light"; + mail_tags = "recipients, TEST, home, work, CAR, light"; // let cmd_addTags = new mzta_specialCommand_AddTags(fullPrompt,prefs_at.connection_type,true); // await cmd_addTags.initWorker(); // try{ diff --git a/js/mzta-utils.js b/js/mzta-utils.js index 27ab29eb..d7f1b300 100644 --- a/js/mzta-utils.js +++ b/js/mzta-utils.js @@ -212,9 +212,12 @@ export async function createTag(tag) { } } -export async function assignTagToMessage(messageId, tag) { +export async function assignTagsToMessage(messageId, tags) { + tags = tags.map(tag => `ta-${tag.toLowerCase()}`); + let msg_prop = await browser.messages.get(messageId); + tags = tags.concat(msg_prop.tags || []); try { - return browser.messages.update(messageId, {tags: ["ta-"+tag.toLowerCase()]}); + return browser.messages.update(messageId, {tags: tags}); } catch (error) { console.error('[ThunderAI] Error assigning tag [messageId: ', messageId, ' - tag: ', tag, ']:', error); } diff --git a/mzta-background.js b/mzta-background.js index 4c04e3bb..8aca3e94 100644 --- a/mzta-background.js +++ b/mzta-background.js @@ -20,7 +20,7 @@ import { mzta_script } from './js/mzta-chatgpt.js'; import { prefs_default } from './options/mzta-options-default.js'; import { mzta_Menus } from './js/mzta-menus.js'; import { taLogger } from './js/mzta-logger.js'; -import { getCurrentIdentity, getOriginalBody, replaceBody, setBody, i18nConditionalGet, generateCallID, migrateCustomPromptsStorage, migrateDefaultPromptsPropStorage, getGPTWebModelString, getTagsList, createTag, assignTagToMessage } from './js/mzta-utils.js'; +import { getCurrentIdentity, getOriginalBody, replaceBody, setBody, i18nConditionalGet, generateCallID, migrateCustomPromptsStorage, migrateDefaultPromptsPropStorage, getGPTWebModelString, getTagsList, createTag, assignTagsToMessage } from './js/mzta-utils.js'; await migrateCustomPromptsStorage(); await migrateDefaultPromptsPropStorage(); @@ -238,15 +238,17 @@ messenger.runtime.onMessage.addListener((message, sender, sendResponse) => { all_tags_list = all_tags_list[1]; console.log(">>>>>>>>>>>>>>> all_tags_list: " + JSON.stringify(all_tags_list)); taLog.log("assign_tags data: " + JSON.stringify(message)); - message.tags.forEach(async (tag) => { + let new_tags = []; + for (const tag of message.tags) { console.log(">>>>>>>>>>>>>>> tag: " + tag); - if (!all_tags_list.hasOwnProperty("ta-"+tag)) { + if (!all_tags_list.hasOwnProperty("ta-" + tag.toLowerCase())) { taLog.log("Creating tag: " + tag); await createTag(tag); } - await assignTagToMessage(message.messageId, tag); - taLog.log("Assigned tag: " + tag); - }); + new_tags.push(tag); + } + await assignTagsToMessage(message.messageId, new_tags); + taLog.log("Assigned tags: " + JSON.stringify(new_tags)); } return _assign_tags(); break;