Fix restoration of current character after /ask Fixes #2825

86d9a80ff8a3f60b13ba7c37ea678329724fcb81

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +9 -8Ignore whitespace
public/scripts/slash-commands.js+9 -8
@@ -2533,22 +2533,23 @@ async function askCharacter(args, text) {
2533 lastMessage.force_avatar = force_avatar;2533 lastMessage.force_avatar = force_avatar;
2534 lastMessage.original_avatar = original_avatar;2534 lastMessage.original_avatar = original_avatar;
2535 }2535 }
2536
2537 // Kill this callback once the event fires
2538 eventSource.removeListener(event_types.CHARACTER_MESSAGE_RENDERED, restoreCharacter);
2539 };2536 };
25402537
2541 // Run generate and restore previous character on error2538 // Run generate and restore previous character
2542 try {2539 try {
2543 toastr.info(`Asking ${character.name} something...`);2540 toastr.info(`Asking ${character.name} something...`);
2544 await Generate('ask_command');2541 await Generate('ask_command');
2545 } catch {2542 await saveChatConditional();
2543 } catch (error) {
2544 console.error('Error running /ask command', error);
2545 } finally {
2546 restoreCharacter();2546 restoreCharacter();
2547
2548 if (this_chid !== prevChId) {
2549 toastr.error('It is strongly recommended to reload the page.', 'Something went wrong');
2550 }
2547 }2551 }
25482552
2549 // Restore previous character once message renders
2550 // Hack for generate
2551 eventSource.on(event_types.CHARACTER_MESSAGE_RENDERED, restoreCharacter);
2552 return '';2553 return '';
2553}2554}
25542555