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