mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Merge pull request #3331 from qvink/emit_event_on_load_messages
adding event after loading more messages in chat
This commit is contained in:
@@ -443,6 +443,7 @@ export const event_types = {
|
||||
MESSAGE_DELETED: 'message_deleted',
|
||||
MESSAGE_UPDATED: 'message_updated',
|
||||
MESSAGE_FILE_EMBEDDED: 'message_file_embedded',
|
||||
MORE_MESSAGES_LOADED: 'more_messages_loaded',
|
||||
IMPERSONATE_READY: 'impersonate_ready',
|
||||
CHAT_CHANGED: 'chat_id_changed',
|
||||
GENERATION_AFTER_COMMANDS: 'GENERATION_AFTER_COMMANDS',
|
||||
@@ -1829,7 +1830,7 @@ export async function replaceCurrentChat() {
|
||||
}
|
||||
}
|
||||
|
||||
export function showMoreMessages(messagesToLoad = null) {
|
||||
export async function showMoreMessages(messagesToLoad = null) {
|
||||
const firstDisplayedMesId = $('#chat').children('.mes').first().attr('mesid');
|
||||
let messageId = Number(firstDisplayedMesId);
|
||||
let count = messagesToLoad || power_user.chat_truncation || Number.MAX_SAFE_INTEGER;
|
||||
@@ -1859,6 +1860,8 @@ export function showMoreMessages(messagesToLoad = null) {
|
||||
const newHeight = $('#chat').prop('scrollHeight');
|
||||
$('#chat').scrollTop(newHeight - prevHeight);
|
||||
}
|
||||
|
||||
await eventSource.emit(event_types.MORE_MESSAGES_LOADED);
|
||||
}
|
||||
|
||||
export async function printMessages() {
|
||||
@@ -11465,8 +11468,8 @@ jQuery(async function () {
|
||||
$('#avatar-and-name-block').slideToggle();
|
||||
});
|
||||
|
||||
$(document).on('mouseup touchend', '#show_more_messages', () => {
|
||||
showMoreMessages();
|
||||
$(document).on('mouseup touchend', '#show_more_messages', async function () {
|
||||
await showMoreMessages();
|
||||
});
|
||||
|
||||
$(document).on('click', '.open_characters_library', async function () {
|
||||
|
@@ -2534,7 +2534,7 @@ async function loadUntilMesId(mesId) {
|
||||
let target;
|
||||
|
||||
while (getFirstDisplayedMessageId() > mesId && getFirstDisplayedMessageId() !== 0) {
|
||||
showMoreMessages();
|
||||
await showMoreMessages();
|
||||
await delay(1);
|
||||
target = $('#chat').find(`.mes[mesid=${mesId}]`);
|
||||
|
||||
|
@@ -1968,8 +1968,8 @@ export function initDefaultSlashCommands() {
|
||||
SlashCommandParser.addCommandObject(SlashCommand.fromProps({
|
||||
name: 'chat-render',
|
||||
helpString: 'Renders a specified number of messages into the chat window. Displays all messages if no argument is provided.',
|
||||
callback: (args, number) => {
|
||||
showMoreMessages(number && !isNaN(Number(number)) ? Number(number) : Number.MAX_SAFE_INTEGER);
|
||||
callback: async (args, number) => {
|
||||
await showMoreMessages(number && !isNaN(Number(number)) ? Number(number) : Number.MAX_SAFE_INTEGER);
|
||||
if (isTrueBoolean(String(args?.scroll ?? ''))) {
|
||||
$('#chat').scrollTop(0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user