Prevent accidental chat overwrites when switching between characters/groups
| @@ -837,9 +837,11 @@ export async function selectCharacterById(id, { switchMenu = true } = {}) { | ||
| 837 | 837 | if (selected_group || String(this_chid) !== String(id)) { |
| 838 | 838 | //if clicked on a different character from what was currently selected |
| 839 | 839 | if (!is_send_press) { |
| 840 | + setCharacterId(undefined); | |
| 841 | + setCharacterName(''); | |
| 842 | + resetSelectedGroup(); | |
| 840 | 843 | await clearChat({ clearData: true }); |
| 841 | 844 | cancelTtsPlay(); |
| 842 | - resetSelectedGroup(); | |
| 843 | 845 | this_edit_mes_id = undefined; |
| 844 | 846 | selected_button = 'character_edit'; |
| 845 | 847 | setCharacterId(id); |
| @@ -2039,11 +2039,12 @@ export async function openGroupById(groupId) { | ||
| 2039 | 2039 | |
| 2040 | 2040 | if (selected_group !== groupId) { |
| 2041 | 2041 | groupChatQueueOrder = new Map(); |
| 2042 | + setCharacterId(undefined); | |
| 2043 | + setCharacterName(''); | |
| 2044 | + resetSelectedGroup(); | |
| 2042 | 2045 | await clearChat({ clearData: true }); |
| 2043 | 2046 | cancelTtsPlay(); |
| 2044 | 2047 | selected_group = groupId; |
| 2045 | - setCharacterId(undefined); | |
| 2046 | - setCharacterName(''); | |
| 2047 | 2048 | setEditedMessageId(undefined); |
| 2048 | 2049 | updateChatMetadata({}, true); |
| 2049 | 2050 | await getGroupChat(groupId); |