Fix issues with reasoning add/delete
| @@ -2276,10 +2276,12 @@ function getMessageFromTemplate({ | ||
| 2276 | 2276 | * @param {number} messageId Message ID |
| 2277 | 2277 | * @param {object} message Message object |
| 2278 | 2278 | */ |
| 2279 | 2279 | export function updateMessageBlock(messageId, message, { rerenderMessage = true } = {}) { |
| 2280 | 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 | 2285 | messageElement.find('.mes_reasoning').html(messageFormatting(message.extra?.reasoning ?? '', '', false, false, messageId, {}, true)); |
| 2284 | 2286 | messageElement.toggleClass('reasoning', !!message.extra?.reasoning); |
| 2285 | 2287 | addCopyToCodeBlocks(messageElement); |
| @@ -401,7 +401,7 @@ function setReasoningEventHandlers() { | ||
| 401 | 401 | }); |
| 402 | 402 | |
| 403 | 403 | $(document).on('click', '.mes_edit_add_reasoning', async function () { |
| 404 | 404 | const { message, messageId, messageBlock } = getMessageFromJquery(this); |
| 405 | 405 | if (!message?.extra) { |
| 406 | 406 | return; |
| 407 | 407 | } |
| @@ -412,7 +412,8 @@ function setReasoningEventHandlers() { | ||
| 412 | 412 | } |
| 413 | 413 | |
| 414 | 414 | message.extra.reasoning = PromptReasoning.REASONING_PLACEHOLDER; |
| 415 | 415 | updateMessageBlock(messageId, message, { rerenderMessage: false }); |
| 416 | + messageBlock.find('.mes_reasoning_edit').trigger('click'); | |
| 416 | 417 | await saveChatConditional(); |
| 417 | 418 | }); |
| 418 | 419 | |
| @@ -426,13 +427,15 @@ function setReasoningEventHandlers() { | ||
| 426 | 427 | return; |
| 427 | 428 | } |
| 428 | 429 | |
| 429 | 430 | const { message, messageId, messageBlock } = getMessageFromJquery(this); |
| 430 | 431 | if (!message?.extra) { |
| 431 | 432 | return; |
| 432 | 433 | } |
| 433 | 434 | message.extra.reasoning = ''; |
| 434 | 435 | await saveChatConditional(); |
| 435 | 436 | updateMessageBlock(messageId, message); |
| 437 | + const textarea = messageBlock.find('.reasoning_edit_textarea'); | |
| 438 | + textarea.remove(); | |
| 436 | 439 | }); |
| 437 | 440 | |
| 438 | 441 | $(document).on('pointerup', '.mes_reasoning_copy', async function () { |