diff --git a/public/script.js b/public/script.js index 73314902d..2c615d2dc 100644 --- a/public/script.js +++ b/public/script.js @@ -1540,7 +1540,6 @@ function messageFormatting(mes, ch_name, isSystem, isUser) { mes = mes.replaceAll('\\begin{align*}', '$$'); mes = mes.replaceAll('\\end{align*}', '$$'); mes = converter.makeHtml(mes); - mes = replaceBiasMarkup(mes); mes = mes.replace(/[\s\S]*?<\/code>/g, function (match) { // Firefox creates extra newlines from
s in code blocks, so we replace them before converting newlines to
s. @@ -3070,7 +3069,7 @@ async function Generate(type, { automatic_trigger, force_name2, quiet_prompt, qu //for normal messages sent from user.. if ((textareaText != '' || hasPendingFileAttachment()) && !automatic_trigger && type !== 'quiet' && !dryRun) { // If user message contains no text other than bias - send as a system message - if (messageBias && replaceBiasMarkup(textareaText).trim().length === 0) { + if (messageBias && !removeMacros(textareaText)) { sendSystemMessage(system_message_types.GENERIC, ' ', { bias: messageBias }); } else { @@ -4089,13 +4088,16 @@ function formatMessageHistoryItem(chatItem, isInstruct, forceOutputSequence) { textResult = formatInstructModeChat(itemName, chatItem.mes, chatItem.is_user, isNarratorType, chatItem.force_avatar, name1, name2, forceOutputSequence); } - textResult = replaceBiasMarkup(textResult); - return textResult; } -export function replaceBiasMarkup(str) { - return (str ?? '').replace(/\{\{[\s\S]*?\}\}/gm, ''); +/** + * Removes all {{macros}} from a string. + * @param {string} str String to remove macros from. + * @returns {string} String with macros removed. + */ +export function removeMacros(str) { + return (str ?? '').replace(/\{\{[\s\S]*?\}\}/gm, '').trim(); } /** diff --git a/public/scripts/openai.js b/public/scripts/openai.js index c9e297dfc..c8821eda8 100644 --- a/public/scripts/openai.js +++ b/public/scripts/openai.js @@ -21,7 +21,6 @@ import { MAX_INJECTION_DEPTH, name1, name2, - replaceBiasMarkup, replaceItemizedPromptText, resultCheckStatus, saveSettingsDebounced, @@ -441,8 +440,6 @@ function setOpenAIMessages(chat) { content = `${chat[j].name}: ${content}`; } } - content = replaceBiasMarkup(content); - // remove caret return (waste of tokens) content = content.replace(/\r/gm, ''); diff --git a/public/scripts/slash-commands.js b/public/scripts/slash-commands.js index 97b24b1c7..cb66726ed 100644 --- a/public/scripts/slash-commands.js +++ b/public/scripts/slash-commands.js @@ -20,7 +20,7 @@ import { main_api, name1, reloadCurrentChat, - replaceBiasMarkup, + removeMacros, saveChatConditional, sendMessageAsUser, sendSystemMessage, @@ -1260,7 +1260,7 @@ export async function sendMessageAs(args, text) { // Messages that do nothing but set bias will be hidden from the context const bias = extractMessageBias(mesText); - const isSystem = replaceBiasMarkup(mesText).trim().length === 0; + const isSystem = bias && !removeMacros(mesText).length; const character = characters.find(x => x.name === name); let force_avatar, original_avatar; @@ -1313,7 +1313,7 @@ export async function sendNarratorMessage(args, text) { const name = chat_metadata[NARRATOR_NAME_KEY] || NARRATOR_NAME_DEFAULT; // Messages that do nothing but set bias will be hidden from the context const bias = extractMessageBias(text); - const isSystem = replaceBiasMarkup(text).trim().length === 0; + const isSystem = bias && !removeMacros(text).length; const message = { name: name,