Fix issues with reasoning add/delete

This commit is contained in:
Wolfsblvt
2025-02-06 22:39:29 +01:00
parent 3ec3d71c5f
commit 25d1db3852
2 changed files with 11 additions and 6 deletions

View File

@ -2276,10 +2276,12 @@ function getMessageFromTemplate({
* @param {number} messageId Message ID * @param {number} messageId Message ID
* @param {object} message Message object * @param {object} message Message object
*/ */
export function updateMessageBlock(messageId, message) { export function updateMessageBlock(messageId, message, { rerenderMessage = true } = {}) {
const messageElement = $(`#chat [mesid="${messageId}"]`); const messageElement = $(`#chat [mesid="${messageId}"]`);
const text = message?.extra?.display_text ?? message.mes; if (rerenderMessage) {
messageElement.find('.mes_text').html(messageFormatting(text, message.name, message.is_system, message.is_user, messageId, {}, false)); const text = message?.extra?.display_text ?? message.mes;
messageElement.find('.mes_text').html(messageFormatting(text, message.name, message.is_system, message.is_user, messageId, {}, false));
}
messageElement.find('.mes_reasoning').html(messageFormatting(message.extra?.reasoning ?? '', '', false, false, messageId, {}, true)); messageElement.find('.mes_reasoning').html(messageFormatting(message.extra?.reasoning ?? '', '', false, false, messageId, {}, true));
messageElement.toggleClass('reasoning', !!message.extra?.reasoning); messageElement.toggleClass('reasoning', !!message.extra?.reasoning);
addCopyToCodeBlocks(messageElement); addCopyToCodeBlocks(messageElement);

View File

@ -401,7 +401,7 @@ function setReasoningEventHandlers() {
}); });
$(document).on('click', '.mes_edit_add_reasoning', async function () { $(document).on('click', '.mes_edit_add_reasoning', async function () {
const { message, messageId } = getMessageFromJquery(this); const { message, messageId, messageBlock } = getMessageFromJquery(this);
if (!message?.extra) { if (!message?.extra) {
return; return;
} }
@ -412,7 +412,8 @@ function setReasoningEventHandlers() {
} }
message.extra.reasoning = PromptReasoning.REASONING_PLACEHOLDER; message.extra.reasoning = PromptReasoning.REASONING_PLACEHOLDER;
updateMessageBlock(messageId, message); updateMessageBlock(messageId, message, { rerenderMessage: false });
messageBlock.find('.mes_reasoning_edit').trigger('click');
await saveChatConditional(); await saveChatConditional();
}); });
@ -426,13 +427,15 @@ function setReasoningEventHandlers() {
return; return;
} }
const { message, messageId } = getMessageFromJquery(this); const { message, messageId, messageBlock } = getMessageFromJquery(this);
if (!message?.extra) { if (!message?.extra) {
return; return;
} }
message.extra.reasoning = ''; message.extra.reasoning = '';
await saveChatConditional(); await saveChatConditional();
updateMessageBlock(messageId, message); updateMessageBlock(messageId, message);
const textarea = messageBlock.find('.reasoning_edit_textarea');
textarea.remove();
}); });
$(document).on('pointerup', '.mes_reasoning_copy', async function () { $(document).on('pointerup', '.mes_reasoning_copy', async function () {