From 161e5128057c0889b9836fa4794c39663b264fd0 Mon Sep 17 00:00:00 2001 From: Wolfsblvt Date: Thu, 25 Apr 2024 04:29:20 +0200 Subject: [PATCH] Fix expression list resolve - New expression api "LLM" still queried local classify model for expressions, fixed by returning default list - Fixed failed API calls crashing Expressions extension --- .../scripts/extensions/expressions/index.js | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/public/scripts/extensions/expressions/index.js b/public/scripts/extensions/expressions/index.js index 8ff0ac935..1ebc24010 100644 --- a/public/scripts/extensions/expressions/index.js +++ b/public/scripts/extensions/expressions/index.js @@ -1270,13 +1270,10 @@ async function getExpressionsList() { * @returns {Promise} */ async function resolveExpressionsList() { - // get something for offline mode (default images) - if (!modules.includes('classify') && extension_settings.expressions.api == EXPRESSION_API.extras) { - return DEFAULT_EXPRESSIONS; - } - + // See if we can retrieve a specific expression list from the API try { - if (extension_settings.expressions.api == EXPRESSION_API.extras) { + // Check Extras api first, if enabled and that module active + if (extension_settings.expressions.api == EXPRESSION_API.extras && modules.includes('classify')) { const url = new URL(getApiUrl()); url.pathname = '/api/classify/labels'; @@ -1291,7 +1288,10 @@ async function getExpressionsList() { expressionsList = data.labels; return expressionsList; } - } else { + } + + // If running the local classify model (not using the LLM), we ask that one + if (extension_settings.expressions.api == EXPRESSION_API.local) { const apiResult = await fetch('/api/extra/classify/labels', { method: 'POST', headers: getRequestHeaders(), @@ -1303,11 +1303,12 @@ async function getExpressionsList() { return expressionsList; } } - } - catch (error) { + } catch (error) { console.log(error); - return []; } + + // If there was no specific list, or an error, just return the default expressions + return DEFAULT_EXPRESSIONS; } const result = await resolveExpressionsList();