Prevent accidental chat overwrites when switching between characters/groups

4e5cb9c44f99f6ecd886a7c4a26defb6b8ed06f6

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

2 files changed, +6 -3Ignore whitespace
public/script.js+3 -1
@@ -837,9 +837,11 @@ export async function selectCharacterById(id, { switchMenu = true } = {}) {
837837 if (selected_group || String(this_chid) !== String(id)) {
838838 //if clicked on a different character from what was currently selected
839839 if (!is_send_press) {
840+ setCharacterId(undefined);
841+ setCharacterName('');
842+ resetSelectedGroup();
840843 await clearChat({ clearData: true });
841844 cancelTtsPlay();
842- resetSelectedGroup();
843845 this_edit_mes_id = undefined;
844846 selected_button = 'character_edit';
845847 setCharacterId(id);
public/scripts/group-chats.js+3 -2
@@ -2039,11 +2039,12 @@ export async function openGroupById(groupId) {
20392039
20402040 if (selected_group !== groupId) {
20412041 groupChatQueueOrder = new Map();
2042+ setCharacterId(undefined);
2043+ setCharacterName('');
2044+ resetSelectedGroup();
20422045 await clearChat({ clearData: true });
20432046 cancelTtsPlay();
20442047 selected_group = groupId;
2045- setCharacterId(undefined);
2046- setCharacterName('');
20472048 setEditedMessageId(undefined);
20482049 updateChatMetadata({}, true);
20492050 await getGroupChat(groupId);