Fix for world info duplication on loading story

Fix for dragging world info on top of new world info crashing
This commit is contained in:
ebolam
2022-12-14 09:15:59 -05:00
parent 283a9bed7e
commit a27651ef1b
2 changed files with 16 additions and 6 deletions

View File

@@ -135,6 +135,7 @@ class koboldai_vars(object):
self._story_settings[story_name].socketio.emit("reset_story", {}, broadcast=True, room=story_name)
if story_name in self._story_settings:
self._story_settings[story_name].no_save = True
self._story_settings[story_name].worldinfo_v2.reset()
self._story_settings[story_name].from_json(json_data)
logger.debug("Calcing AI text after load story")
ignore = self.calc_ai_text()
@@ -2336,7 +2337,6 @@ class KoboldWorldInfo(object):
start_time = time.time()
for uid, item in data['entries'].items():
self.add_item(item['title'] if 'title' in item else item['key'][0],
item['key'] if 'key' in item else [],
item['keysecondary'] if 'keysecondary' in item else [],

View File

@@ -221,7 +221,7 @@ function disconnect() {
}
function reset_story() {
//console.log("Resetting story");
console.log("Resetting story");
clearTimeout(calc_token_usage_timeout);
clearTimeout(game_text_scroll_timeout);
clearTimeout(font_size_cookie_timout);
@@ -230,11 +230,10 @@ function reset_story() {
finder_last_input = null;
on_new_wi_item = null;
current_chunk_number = null;
//console.log("resetting scroll_trigger_element");
scroll_trigger_element = undefined;
//clear actions
actions_data = {};
world_info_data = {};
world_info_folder({"root": []});
var story_area = document.getElementById('Selected Text');
let temp = []
for (child of story_area.children) {
@@ -246,15 +245,22 @@ function reset_story() {
item.remove();
}
document.getElementById("Selected Text").setAttribute("contenteditable", "false");
//clear any options
var option_area = document.getElementById("Select Options");
while (option_area.firstChild) {
option_area.removeChild(option_area.firstChild);
}
//clear world info
world_info_data = {};
world_info_folder({"root": []});
var world_info_area = document.getElementById("WI_Area");
while (world_info_area.firstChild) {
world_info_area.removeChild(world_info_area.firstChild);
}
const storyPrompt = $el("#story_prompt");
if (storyPrompt) {
@@ -4030,7 +4036,11 @@ function drop(e) {
// display the draggable element
draggable.classList.remove('hidden');
if (element.getAttribute("folder") == draggable.getAttribute("folder")) {
console.log("Drop_ID = "+drop_id);
if (drop_id == "-1") {
folder = element.parentElement.id.split("_").slice(-1)[0];
socket.emit("wi_set_folder", {'dragged_id': dragged_id, 'folder': folder});
} else if (element.getAttribute("folder") == draggable.getAttribute("folder")) {
socket.emit("move_wi", {'dragged_id': dragged_id, 'drop_id': drop_id, 'folder': null});
} else {
socket.emit("move_wi", {'dragged_id': dragged_id, 'drop_id': drop_id, 'folder': element.getAttribute("folder")});