mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Add safety switches
This commit is contained in:
@ -143,6 +143,7 @@ const system_messages = {
|
|||||||
is_user: false,
|
is_user: false,
|
||||||
is_system: true,
|
is_system: true,
|
||||||
is_name: true,
|
is_name: true,
|
||||||
|
is_group: true,
|
||||||
mes: "Group chat created. Say 'Hi' to lovely people!",
|
mes: "Group chat created. Say 'Hi' to lovely people!",
|
||||||
},
|
},
|
||||||
empty: {
|
empty: {
|
||||||
@ -920,7 +921,7 @@ async function Generate(type, automatic_trigger) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selected_group && !is_group_generating) {
|
if (selected_group) {
|
||||||
generateGroupWrapper(false);
|
generateGroupWrapper(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1607,7 +1608,7 @@ async function Generate(type, automatic_trigger) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
// clean-up group message from excessive generations
|
// clean-up group message from excessive generations
|
||||||
if (type == "group_chat" && selected_group) {
|
if (selected_group) {
|
||||||
getMessage = cleanGroupMessage(getMessage);
|
getMessage = cleanGroupMessage(getMessage);
|
||||||
}
|
}
|
||||||
let this_mes_is_name = true;
|
let this_mes_is_name = true;
|
||||||
@ -1628,7 +1629,7 @@ async function Generate(type, automatic_trigger) {
|
|||||||
getMessage = $.trim(getMessage);
|
getMessage = $.trim(getMessage);
|
||||||
chat[chat.length - 1]["mes"] = getMessage;
|
chat[chat.length - 1]["mes"] = getMessage;
|
||||||
|
|
||||||
if (type === "group_chat") {
|
if (selected_group) {
|
||||||
let avatarImg = default_avatar;
|
let avatarImg = default_avatar;
|
||||||
if (characters[this_chid].avatar != "none") {
|
if (characters[this_chid].avatar != "none") {
|
||||||
avatarImg = `characters/${characters[this_chid].avatar}?${Date.now()}`;
|
avatarImg = `characters/${characters[this_chid].avatar}?${Date.now()}`;
|
||||||
@ -1641,7 +1642,7 @@ async function Generate(type, automatic_trigger) {
|
|||||||
$("#send_but").css("display", "inline");
|
$("#send_but").css("display", "inline");
|
||||||
$("#loading_mes").css("display", "none");
|
$("#loading_mes").css("display", "none");
|
||||||
|
|
||||||
if (type == "group_chat" && selected_group) {
|
if (selected_group) {
|
||||||
saveGroupChat(selected_group);
|
saveGroupChat(selected_group);
|
||||||
} else {
|
} else {
|
||||||
saveChat();
|
saveChat();
|
||||||
@ -1753,6 +1754,10 @@ function resultCheckStatusNovel() {
|
|||||||
|
|
||||||
async function saveChat() {
|
async function saveChat() {
|
||||||
chat.forEach(function (item, i) {
|
chat.forEach(function (item, i) {
|
||||||
|
if (item["is_group"]) {
|
||||||
|
alert('Trying to save group chat with regular saveChat function. Aborting to prevent corruption.');
|
||||||
|
throw new Error('Group chat saved from saveChat');
|
||||||
|
}
|
||||||
if (item["is_user"]) {
|
if (item["is_user"]) {
|
||||||
var str = item["mes"].replace(name1 + ":", default_user_name + ":");
|
var str = item["mes"].replace(name1 + ":", default_user_name + ":");
|
||||||
chat[i]["mes"] = str;
|
chat[i]["mes"] = str;
|
||||||
|
@ -83,6 +83,7 @@ async function getGroupChat(id) {
|
|||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
if (Array.isArray(data) && data.length) {
|
if (Array.isArray(data) && data.length) {
|
||||||
|
data[0].is_group = true;
|
||||||
for (let key of data) {
|
for (let key of data) {
|
||||||
chat.push(key);
|
chat.push(key);
|
||||||
}
|
}
|
||||||
@ -238,6 +239,10 @@ async function generateGroupWrapper(by_auto_mode) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_group_generating) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
const group = groups.find((x) => x.id === selected_group);
|
const group = groups.find((x) => x.id === selected_group);
|
||||||
|
|
||||||
if (!group || !Array.isArray(group.members) || !group.members.length) {
|
if (!group || !Array.isArray(group.members) || !group.members.length) {
|
||||||
@ -308,6 +313,7 @@ async function generateGroupWrapper(by_auto_mode) {
|
|||||||
is_group_generating = false;
|
is_group_generating = false;
|
||||||
setSendButtonState(false);
|
setSendButtonState(false);
|
||||||
setCharacterId(undefined);
|
setCharacterId(undefined);
|
||||||
|
setCharacterName('');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -605,8 +605,7 @@ input[type=submit] {}
|
|||||||
}
|
}
|
||||||
|
|
||||||
#rm_print_characters_block {
|
#rm_print_characters_block {
|
||||||
margin-top: 15px;
|
margin: 15px 0;
|
||||||
padding-bottom: 10vh;
|
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user