From 0bc864938c9a891d98ee62948afc3e3910d97489 Mon Sep 17 00:00:00 2001 From: Mic Date: Thu, 1 May 2025 22:44:40 +0200 Subject: [PATCH] Update checkGPTModel to return a promise and improve DOM element handling --- js/mzta-chatgpt.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/js/mzta-chatgpt.js b/js/mzta-chatgpt.js index 27be3ad0..dfb711e8 100644 --- a/js/mzta-chatgpt.js +++ b/js/mzta-chatgpt.js @@ -325,13 +325,15 @@ function customTextBtnClick(args) { } function checkGPTModel(model) { - if(model == '') return; + if(model == '') return Promise.resolve(); doLog("checkGPTModel model: " + model); return new Promise((resolve, reject) => { // Set up an interval that shows the warning after 2 seconds const intervalId2 = setTimeout(() => { - document.getElementById('mzta-model_warn').style.display = 'inline-block'; - document.getElementById('mzta-btn_model').style.display = 'inline'; + let modelWarn = document.getElementById('mzta-model_warn'); + let btnModel = document.getElementById('mzta-btn_model'); + if (modelWarn) modelWarn.style.display = 'inline-block'; + if (btnModel) btnModel.style.display = 'inline'; }, 2000); // Set up an interval that checks the value every 100 milliseconds const intervalId = setInterval(() => { @@ -339,15 +341,13 @@ function checkGPTModel(model) { // const element = document.querySelector('div#radix-\\\\:ri2\\\\: > div > span.text-token-text-secondary'); const elements = document.querySelectorAll('[id*=radix] span') - for(element of elements){ + for(let element of elements){ // Check if the element exists and its content is '4' or '4o' doLog("checkGPTModel model found in DOM: " + element.textContent); if ((element && element.textContent === model)||(force_go)) { doLog("The GPT Model is now " + model); clearInterval(intervalId); clearTimeout(intervalId2); - document.getElementById('mzta-model_warn').style.display = 'none'; - document.getElementById('mzta-btn_model').style.display = 'none'; resolve(model); break; } else if (!element) {