correctly handling additional text without placeholder. see #681

This commit is contained in:
mic 2026-02-27 22:11:05 +01:00
parent 7048164ee0
commit 7390764764

View file

@ -614,11 +614,21 @@ async function doProceed(message, customText = ''){
let final_prompt = message.prompt; let final_prompt = message.prompt;
if (Array.isArray(customText)) { if (Array.isArray(customText)) {
let anyReplaced = false;
customText.forEach(obj => { customText.forEach(obj => {
let escapedPH = obj.placeholder.replace(/[.*+?^{$}()|[\\]\\\\]/g, '\\\\$&'); if (final_prompt.includes(obj.placeholder)) {
let regex = new RegExp(escapedPH, 'g'); anyReplaced = true;
final_prompt = final_prompt.replace(regex, obj.custom_text); let escapedPH = obj.placeholder.replace(/[.*+?^{$}()|[\\]\\\\]/g, '\\\\$&');
let regex = new RegExp(escapedPH, 'g');
final_prompt = final_prompt.replace(regex, obj.custom_text);
}
}); });
if (!anyReplaced) {
const inputText = customText.map(obj => obj.custom_text).join(' ');
if (inputText !== '') {
final_prompt += ' ' + inputText;
}
}
} else { } else {
//check if there is the additional_text placeholder //check if there is the additional_text placeholder
if(final_prompt.includes('{%additional_text%}')){ if(final_prompt.includes('{%additional_text%}')){