Centralize first message retrigger on persona changes Moves retrigger logic to setUserAvatar entry point to avoid duplicate calls when updating personas Removes redundant triggers from name/avatar handlers Fixes #3774

d95524032ecfea4db6484964901967c43fd94f0b

Wolfsblvt <wolfsblvt@gmail.com>

1 files changed, +1 -5Showing whitespace changes
public/scripts/personas.js+1 -5
@@ -111,6 +111,7 @@ export function setUserAvatar(imgfile, { toastPersonaNameChange = true, navigate
111111 reloadUserAvatar();
112112 updatePersonaUIStates({ navigateToCurrent: navigateToCurrent });
113113 selectCurrentPersona({ toastPersonaNameChange: toastPersonaNameChange });
114+ retriggerFirstMessageOnEmptyChat();
114115 saveSettingsDebounced();
115116 $('.zoomed_avatar[forchar]').remove();
116117}
@@ -1782,7 +1783,6 @@ function setNameCallback({ mode = 'all' }, name) {
17821783 if (!persona) persona = Object.entries(power_user.personas).find(([_, personaName]) => personaName.toLowerCase() === name.toLowerCase())?.[1];
17831784 if (persona) {
17841785 autoSelectPersona(persona);
1785- retriggerFirstMessageOnEmptyChat();
17861786 return '';
17871787 } else if (mode === 'lookup') {
17881788 toastr.warning(`Persona ${name} not found`);
@@ -1793,7 +1793,6 @@ function setNameCallback({ mode = 'all' }, name) {
17931793 if (['temp', 'all'].includes(mode)) {
17941794 // Otherwise, set just the name
17951795 setUserName(name); //this prevented quickReply usage
1796- retriggerFirstMessageOnEmptyChat();
17971796 }
17981797
17991798 return '';
@@ -1944,9 +1943,6 @@ export async function initPersonas() {
19441943 $(document).on('click', '#user_avatar_block .avatar-container', function () {
19451944 const imgfile = $(this).attr('data-avatar-id');
19461945 setUserAvatar(imgfile);
1947-
1948- // force firstMes {{user}} update on persona switch
1949- retriggerFirstMessageOnEmptyChat();
19501946 });
19511947
19521948 $('#persona_rename_button').on('click', () => renamePersona(user_avatar));