From a27651ef1b2af378d50337a7486d4e6dc04ffc9e Mon Sep 17 00:00:00 2001 From: ebolam Date: Wed, 14 Dec 2022 09:15:59 -0500 Subject: [PATCH] Fix for world info duplication on loading story Fix for dragging world info on top of new world info crashing --- koboldai_settings.py | 2 +- static/koboldai.js | 20 +++++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/koboldai_settings.py b/koboldai_settings.py index 2b1b9cb6..4934726d 100644 --- a/koboldai_settings.py +++ b/koboldai_settings.py @@ -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 [], diff --git a/static/koboldai.js b/static/koboldai.js index 90fca65d..64c3d6e6 100644 --- a/static/koboldai.js +++ b/static/koboldai.js @@ -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")});