Fix issues with reasoning add/delete

25d1db3852b2b2f03740f6e36a691f46cce95907

Wolfsblvt <wolfsblvt@gmail.com>

2 files changed, +11 -6Ignore whitespace
public/script.js+5 -3
@@ -2276,10 +2276,12 @@ function getMessageFromTemplate({
2276 * @param {number} messageId Message ID2276 * @param {number} messageId Message ID
2277 * @param {object} message Message object2277 * @param {object} message Message object
2278 */2278 */
2279export function updateMessageBlock(messageId, message) {2279export function updateMessageBlock(messageId, message, { rerenderMessage = true } = {}) {
2280 const messageElement = $(`#chat [mesid="${messageId}"]`);2280 const messageElement = $(`#chat [mesid="${messageId}"]`);
2281 const text = message?.extra?.display_text ?? message.mes;2281 if (rerenderMessage) {
2282 messageElement.find('.mes_text').html(messageFormatting(text, message.name, message.is_system, message.is_user, messageId, {}, false));2282 const text = message?.extra?.display_text ?? message.mes;
2283 messageElement.find('.mes_text').html(messageFormatting(text, message.name, message.is_system, message.is_user, messageId, {}, false));
2284 }
2283 messageElement.find('.mes_reasoning').html(messageFormatting(message.extra?.reasoning ?? '', '', false, false, messageId, {}, true));2285 messageElement.find('.mes_reasoning').html(messageFormatting(message.extra?.reasoning ?? '', '', false, false, messageId, {}, true));
2284 messageElement.toggleClass('reasoning', !!message.extra?.reasoning);2286 messageElement.toggleClass('reasoning', !!message.extra?.reasoning);
2285 addCopyToCodeBlocks(messageElement);2287 addCopyToCodeBlocks(messageElement);
public/scripts/reasoning.js+6 -3
@@ -401,7 +401,7 @@ function setReasoningEventHandlers() {
401 });401 });
402402
403 $(document).on('click', '.mes_edit_add_reasoning', async function () {403 $(document).on('click', '.mes_edit_add_reasoning', async function () {
404 const { message, messageId } = getMessageFromJquery(this);404 const { message, messageId, messageBlock } = getMessageFromJquery(this);
405 if (!message?.extra) {405 if (!message?.extra) {
406 return;406 return;
407 }407 }
@@ -412,7 +412,8 @@ function setReasoningEventHandlers() {
412 }412 }
413413
414 message.extra.reasoning = PromptReasoning.REASONING_PLACEHOLDER;414 message.extra.reasoning = PromptReasoning.REASONING_PLACEHOLDER;
415 updateMessageBlock(messageId, message);415 updateMessageBlock(messageId, message, { rerenderMessage: false });
416 messageBlock.find('.mes_reasoning_edit').trigger('click');
416 await saveChatConditional();417 await saveChatConditional();
417 });418 });
418419
@@ -426,13 +427,15 @@ function setReasoningEventHandlers() {
426 return;427 return;
427 }428 }
428429
429 const { message, messageId } = getMessageFromJquery(this);430 const { message, messageId, messageBlock } = getMessageFromJquery(this);
430 if (!message?.extra) {431 if (!message?.extra) {
431 return;432 return;
432 }433 }
433 message.extra.reasoning = '';434 message.extra.reasoning = '';
434 await saveChatConditional();435 await saveChatConditional();
435 updateMessageBlock(messageId, message);436 updateMessageBlock(messageId, message);
437 const textarea = messageBlock.find('.reasoning_edit_textarea');
438 textarea.remove();
436 });439 });
437440
438 $(document).on('pointerup', '.mes_reasoning_copy', async function () {441 $(document).on('pointerup', '.mes_reasoning_copy', async function () {