mirror of
				https://github.com/SillyTavern/SillyTavern.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	Rework title displays on Horde workers
This commit is contained in:
		| @@ -952,12 +952,14 @@ function messageFormating(mes, ch_name, isSystem, forceAvatar) { | |||||||
|     return mes; |     return mes; | ||||||
| } | } | ||||||
|  |  | ||||||
| function getMessageFromTemplate(mesId, characterName, isUser, avatarImg, bias, isSystem) { | function getMessageFromTemplate(mesId, characterName, isUser, avatarImg, bias, isSystem, title) { | ||||||
|     const mes = $('#message_template .mes').clone(); |     const mes = $('#message_template .mes').clone(); | ||||||
|     mes.attr({ 'mesid': mesId, 'ch_name': characterName, 'is_user': isUser, 'is_system': !!isSystem }); |     mes.attr({ 'mesid': mesId, 'ch_name': characterName, 'is_user': isUser, 'is_system': !!isSystem }); | ||||||
|     mes.find('.avatar img').attr('src', avatarImg); |     mes.find('.avatar img').attr('src', avatarImg); | ||||||
|     mes.find('.ch_name .name_text').text(characterName); |     mes.find('.ch_name .name_text').text(characterName); | ||||||
|     mes.find('.mes_bias').html(bias); |     mes.find('.mes_bias').html(bias); | ||||||
|  |     title && mes.attr('title', title); | ||||||
|  |  | ||||||
|     return mes; |     return mes; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -965,7 +967,7 @@ function appendImageToMessage(mes, messageElement) { | |||||||
|     if (mes.extra?.image) { |     if (mes.extra?.image) { | ||||||
|         const image = document.createElement("img"); |         const image = document.createElement("img"); | ||||||
|         image.src = mes.extra?.image; |         image.src = mes.extra?.image; | ||||||
|         image.title = mes.title; |         image.title = mes.extra?.title; | ||||||
|         image.classList.add("img_extra"); |         image.classList.add("img_extra"); | ||||||
|         messageElement.find(".mes_text").prepend(image); |         messageElement.find(".mes_text").prepend(image); | ||||||
|     } |     } | ||||||
| @@ -999,6 +1001,7 @@ function addOneMessage(mes, { type = "normal", insertAfter = null, scroll = true | |||||||
|     var characterName = name1; |     var characterName = name1; | ||||||
|     var avatarImg = "User Avatars/" + user_avatar; |     var avatarImg = "User Avatars/" + user_avatar; | ||||||
|     const isSystem = mes.is_system; |     const isSystem = mes.is_system; | ||||||
|  |     const title = mes.title; | ||||||
|     generatedPromtCache = ""; |     generatedPromtCache = ""; | ||||||
|     if (!mes["is_user"]) { |     if (!mes["is_user"]) { | ||||||
|         if (mes.force_avatar) { |         if (mes.force_avatar) { | ||||||
| @@ -1030,7 +1033,7 @@ function addOneMessage(mes, { type = "normal", insertAfter = null, scroll = true | |||||||
|     ); |     ); | ||||||
|     const bias = messageFormating(mes.extra?.bias ?? ""); |     const bias = messageFormating(mes.extra?.bias ?? ""); | ||||||
|  |  | ||||||
|     var HTMLForEachMes = getMessageFromTemplate(count_view_mes, characterName, mes.is_user, avatarImg, bias, isSystem); |     var HTMLForEachMes = getMessageFromTemplate(count_view_mes, characterName, mes.is_user, avatarImg, bias, isSystem, title); | ||||||
|  |  | ||||||
|     if (type !== 'swipe') { |     if (type !== 'swipe') { | ||||||
|         if (!insertAfter) { |         if (!insertAfter) { | ||||||
| @@ -1060,12 +1063,13 @@ function addOneMessage(mes, { type = "normal", insertAfter = null, scroll = true | |||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     if (type === 'swipe') { |     if (type === 'swipe') { | ||||||
|         $("#chat").children().filter('[mesid="' + (count_view_mes - 1) + '"]').children('.mes_block').children('.mes_text').html(''); |         $("#chat").children().filter(`[mesid="${count_view_mes - 1}"]`).children('.mes_block').children('.mes_text').html(''); | ||||||
|         $("#chat").children().filter('[mesid="' + (count_view_mes - 1) + '"]').children('.mes_block').children('.mes_text').append(messageText); |         $("#chat").children().filter(`[mesid="${count_view_mes - 1}"]`).children('.mes_block').children('.mes_text').append(messageText); | ||||||
|  |         $("#chat").children().filter(`[mesid="${count_view_mes - 1}"]`).attr('title', title); | ||||||
|  |  | ||||||
|         //console.log(mes); |         //console.log(mes); | ||||||
|     } else { |     } else { | ||||||
|         $("#chat").children().filter('[mesid="' + count_view_mes + '"]').children('.mes_block').children('.mes_text').append(messageText); |         $("#chat").children().filter(`[mesid="${count_view_mes}"]`).children('.mes_block').children('.mes_text').append(messageText); | ||||||
|         hideSwipeButtons(); |         hideSwipeButtons(); | ||||||
|         count_view_mes++; |         count_view_mes++; | ||||||
|     } |     } | ||||||
| @@ -2025,7 +2029,8 @@ async function Generate(type, automatic_trigger, force_name2) { | |||||||
|                 is_send_press = false; |                 is_send_press = false; | ||||||
|                 if (!data.error) { |                 if (!data.error) { | ||||||
|                     //const getData = await response.json(); |                     //const getData = await response.json(); | ||||||
|                     let getMessage = extractMessageFromData(data, finalPromt); |                     let getMessage = extractMessageFromData(data); | ||||||
|  |                     let title = extractTitleFromData(data); | ||||||
|  |  | ||||||
|                     //Pygmalion run again |                     //Pygmalion run again | ||||||
|                     // to make it continue generating so long as it's under max_amount and hasn't signaled |                     // to make it continue generating so long as it's under max_amount and hasn't signaled | ||||||
| @@ -2038,11 +2043,11 @@ async function Generate(type, automatic_trigger, force_name2) { | |||||||
|                             ({ this_mes_is_name, getMessage } = extractNameFromMessage(getMessage, force_name2, isImpersonate)); |                             ({ this_mes_is_name, getMessage } = extractNameFromMessage(getMessage, force_name2, isImpersonate)); | ||||||
|                             if (generate_loop_counter == 0) { |                             if (generate_loop_counter == 0) { | ||||||
|                                 console.log("New message"); |                                 console.log("New message"); | ||||||
|                                 ({ type, getMessage } = saveReply(type, getMessage, this_mes_is_name)); |                                 ({ type, getMessage } = saveReply(type, getMessage, this_mes_is_name, title)); | ||||||
|                             } |                             } | ||||||
|                             else { |                             else { | ||||||
|                                 console.log("Should append message"); |                                 console.log("Should append message"); | ||||||
|                                 ({ type, getMessage } = saveReply('append', getMessage, this_mes_is_name)); |                                 ({ type, getMessage } = saveReply('append', getMessage, this_mes_is_name, title)); | ||||||
|                             } |                             } | ||||||
|                             generate_loop_counter++; |                             generate_loop_counter++; | ||||||
|                             getMessage = message_already_generated; |                             getMessage = message_already_generated; | ||||||
| @@ -2066,10 +2071,10 @@ async function Generate(type, automatic_trigger, force_name2) { | |||||||
|                         } |                         } | ||||||
|                         else { |                         else { | ||||||
|                             if (!isMultigenEnabled()) { |                             if (!isMultigenEnabled()) { | ||||||
|                                 ({ type, getMessage } = saveReply(type, getMessage, this_mes_is_name)); |                                 ({ type, getMessage } = saveReply(type, getMessage, this_mes_is_name, title)); | ||||||
|                             } |                             } | ||||||
|                             else { |                             else { | ||||||
|                                 ({ type, getMessage } = saveReply('appendFinal', getMessage, this_mes_is_name)); |                                 ({ type, getMessage } = saveReply('appendFinal', getMessage, this_mes_is_name, title)); | ||||||
|                             } |                             } | ||||||
|                         } |                         } | ||||||
|                         activateSendButtons(); |                         activateSendButtons(); | ||||||
| @@ -2230,6 +2235,14 @@ function throwCircuitBreakerError() { | |||||||
|     throw new Error('Generate circuit breaker interruption'); |     throw new Error('Generate circuit breaker interruption'); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | function extractTitleFromData(data) { | ||||||
|  |     if (main_api == 'kobold' && horde_settings.use_horde) { | ||||||
|  |         return data.workerName; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return undefined; | ||||||
|  | } | ||||||
|  |  | ||||||
| function extractMessageFromData(data) { | function extractMessageFromData(data) { | ||||||
|     let getMessage = ""; |     let getMessage = ""; | ||||||
|  |  | ||||||
| @@ -2238,7 +2251,7 @@ function extractMessageFromData(data) { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (main_api == 'kobold' && horde_settings.use_horde) { |     if (main_api == 'kobold' && horde_settings.use_horde) { | ||||||
|         getMessage = data; |         getMessage = data.text; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (main_api == 'textgenerationwebui') { |     if (main_api == 'textgenerationwebui') { | ||||||
| @@ -2311,7 +2324,7 @@ function cleanUpMessage(getMessage, isImpersonate) { | |||||||
|     return getMessage; |     return getMessage; | ||||||
| } | } | ||||||
|  |  | ||||||
| function saveReply(type, getMessage, this_mes_is_name) { | function saveReply(type, getMessage, this_mes_is_name, title) { | ||||||
|     if (type != 'append' && type != 'appendFinal' && chat.length && (chat[chat.length - 1]['swipe_id'] === undefined || |     if (type != 'append' && type != 'appendFinal' && chat.length && (chat[chat.length - 1]['swipe_id'] === undefined || | ||||||
|         chat[chat.length - 1]['is_user'])) { |         chat[chat.length - 1]['is_user'])) { | ||||||
|         type = 'normal'; |         type = 'normal'; | ||||||
| @@ -2323,19 +2336,20 @@ function saveReply(type, getMessage, this_mes_is_name) { | |||||||
|     if (type === 'swipe') { |     if (type === 'swipe') { | ||||||
|         chat[chat.length - 1]['swipes'][chat[chat.length - 1]['swipes'].length] = getMessage; |         chat[chat.length - 1]['swipes'][chat[chat.length - 1]['swipes'].length] = getMessage; | ||||||
|         if (chat[chat.length - 1]['swipe_id'] === chat[chat.length - 1]['swipes'].length - 1) { |         if (chat[chat.length - 1]['swipe_id'] === chat[chat.length - 1]['swipes'].length - 1) { | ||||||
|             //console.log(getMessage); |             chat[chat.length - 1]['title'] = title; | ||||||
|             chat[chat.length - 1]['mes'] = getMessage; |             chat[chat.length - 1]['mes'] = getMessage; | ||||||
|             // console.log('runGenerate calls addOneMessage for swipe'); |  | ||||||
|             addOneMessage(chat[chat.length - 1], { type: 'swipe' }); |             addOneMessage(chat[chat.length - 1], { type: 'swipe' }); | ||||||
|         } else { |         } else { | ||||||
|             chat[chat.length - 1]['mes'] = getMessage; |             chat[chat.length - 1]['mes'] = getMessage; | ||||||
|         } |         } | ||||||
|     } else if (type === 'append') { |     } else if (type === 'append') { | ||||||
|         console.log("Trying to append.") |         console.log("Trying to append.") | ||||||
|  |         chat[chat.length - 1]['title'] = title; | ||||||
|         chat[chat.length - 1]['mes'] += getMessage; |         chat[chat.length - 1]['mes'] += getMessage; | ||||||
|         addOneMessage(chat[chat.length - 1], { type: 'swipe' }); |         addOneMessage(chat[chat.length - 1], { type: 'swipe' }); | ||||||
|     } else if (type === 'appendFinal') { |     } else if (type === 'appendFinal') { | ||||||
|         console.log("Trying to append.") |         console.log("Trying to append.") | ||||||
|  |         chat[chat.length - 1]['title'] = title; | ||||||
|         chat[chat.length - 1]['mes'] = getMessage; |         chat[chat.length - 1]['mes'] = getMessage; | ||||||
|         addOneMessage(chat[chat.length - 1], { type: 'swipe' }); |         addOneMessage(chat[chat.length - 1], { type: 'swipe' }); | ||||||
|  |  | ||||||
| @@ -2349,6 +2363,7 @@ function saveReply(type, getMessage, this_mes_is_name) { | |||||||
|         chat[chat.length - 1]['send_date'] = humanizedDateTime(); |         chat[chat.length - 1]['send_date'] = humanizedDateTime(); | ||||||
|         getMessage = $.trim(getMessage); |         getMessage = $.trim(getMessage); | ||||||
|         chat[chat.length - 1]['mes'] = getMessage; |         chat[chat.length - 1]['mes'] = getMessage; | ||||||
|  |         chat[chat.length - 1]['title'] = title; | ||||||
|  |  | ||||||
|         if (selected_group) { |         if (selected_group) { | ||||||
|             console.log('entering chat update for groups'); |             console.log('entering chat update for groups'); | ||||||
| @@ -2373,7 +2388,7 @@ function saveImageToMessage(img, mes) { | |||||||
|             mes.extra = {}; |             mes.extra = {}; | ||||||
|         } |         } | ||||||
|         mes.extra.image = img.image; |         mes.extra.image = img.image; | ||||||
|         mes.title = img.title; |         mes.extra.title = img.title; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -3539,8 +3554,8 @@ function showSwipeButtons() { | |||||||
|  |  | ||||||
| function hideSwipeButtons() { | function hideSwipeButtons() { | ||||||
|     //console.log('hideswipebuttons entered'); |     //console.log('hideswipebuttons entered'); | ||||||
|     $("#chat").children().filter('[mesid="' + (count_view_mes - 1) + '"]').children('.swipe_right').css('display', 'none'); |     $("#chat").children().filter(`[mesid="${count_view_mes - 1}"]`).children('.swipe_right').css('display', 'none'); | ||||||
|     $("#chat").children().filter('[mesid="' + (count_view_mes - 1) + '"]').children('.swipe_left').css('display', 'none'); |     $("#chat").children().filter(`[mesid="${count_view_mes - 1}"]`).children('.swipe_left').css('display', 'none'); | ||||||
| } | } | ||||||
|  |  | ||||||
| function saveChatConditional() { | function saveChatConditional() { | ||||||
|   | |||||||
| @@ -44,8 +44,10 @@ async function sendCaptionedMessage(caption, image) { | |||||||
|         is_name: true, |         is_name: true, | ||||||
|         send_date: Date.now(), |         send_date: Date.now(), | ||||||
|         mes: messageText, |         mes: messageText, | ||||||
|         extra: { image: image }, |         extra: { | ||||||
|         title: caption |             image: image, | ||||||
|  |             title: caption, | ||||||
|  |         }, | ||||||
|     }; |     }; | ||||||
|     context.chat.push(message); |     context.chat.push(message); | ||||||
|     context.addOneMessage(message); |     context.addOneMessage(message); | ||||||
|   | |||||||
| @@ -119,12 +119,9 @@ async function generateHorde(prompt, params) { | |||||||
|             setGenerationProgress(100); |             setGenerationProgress(100); | ||||||
|             const generatedText = statusCheckJson.generations[0].text; |             const generatedText = statusCheckJson.generations[0].text; | ||||||
|             const WorkerName = statusCheckJson.generations[0].worker_name; |             const WorkerName = statusCheckJson.generations[0].worker_name; | ||||||
|             if (WorkerName !== undefined) { |  | ||||||
|                 $("#chat").last('.mes').attr('title', `Generated by Horde worker: ${WorkerName}`); |  | ||||||
|             } |  | ||||||
|             console.log(generatedText); |             console.log(generatedText); | ||||||
|             console.log(`Generated by Horde Worker: ${WorkerName}`); |             console.log(`Generated by Horde Worker: ${WorkerName}`); | ||||||
|             return generatedText; |             return { text: generatedText, workerName: `Generated by Horde worker: ${WorkerName}` }; | ||||||
|         } |         } | ||||||
|         else if (!queue_position_first) { |         else if (!queue_position_first) { | ||||||
|             queue_position_first = statusCheckJson.queue_position; |             queue_position_first = statusCheckJson.queue_position; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user