mirror of
https://github.com/KoboldAI/KoboldAI-Client.git
synced 2025-06-05 21:59:24 +02:00
Fix for new story bug
This commit is contained in:
@@ -8261,11 +8261,12 @@ def UI_2_load_story(file):
|
|||||||
logger.debug("Load Story took {}s".format(time.time()-start_time))
|
logger.debug("Load Story took {}s".format(time.time()-start_time))
|
||||||
|
|
||||||
#==================================================================#
|
#==================================================================#
|
||||||
# Event triggered on load story
|
# Event triggered on new story
|
||||||
#==================================================================#
|
#==================================================================#
|
||||||
@socketio.on('new_story')
|
@socketio.on('new_story')
|
||||||
@logger.catch
|
@logger.catch
|
||||||
def UI_2_new_story(data):
|
def UI_2_new_story(data):
|
||||||
|
logger.info("Starting new story")
|
||||||
koboldai_vars.create_story("")
|
koboldai_vars.create_story("")
|
||||||
|
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@ from dataclasses import dataclass
|
|||||||
import os, re, time, threading, json, pickle, base64, copy, tqdm, datetime, sys
|
import os, re, time, threading, json, pickle, base64, copy, tqdm, datetime, sys
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from flask import has_request_context, session
|
from flask import has_request_context, session
|
||||||
from flask_socketio import SocketIO
|
from flask_socketio import SocketIO, join_room, leave_room
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
import multiprocessing
|
import multiprocessing
|
||||||
from logger import logger
|
from logger import logger
|
||||||
@@ -106,8 +106,15 @@ class koboldai_vars(object):
|
|||||||
original_story_name = story_name
|
original_story_name = story_name
|
||||||
if not multi_story:
|
if not multi_story:
|
||||||
story_name = 'default'
|
story_name = 'default'
|
||||||
|
#Leave the old room and join the new one
|
||||||
|
logger.debug("Leaving room {}".format(session['story']))
|
||||||
|
leave_room(session['story'])
|
||||||
|
logger.debug("Joining room {}".format(story_name))
|
||||||
|
join_room(story_name)
|
||||||
|
session['story'] = story_name
|
||||||
|
logger.debug("Sending story reset")
|
||||||
|
self._story_settings[story_name].socketio.emit("reset_story", {}, broadcast=True, room=story_name)
|
||||||
if story_name in self._story_settings:
|
if story_name in self._story_settings:
|
||||||
self._story_settings[story_name].socketio.emit("reset_story", {}, broadcast=True, room="UI_2")
|
|
||||||
self._story_settings[story_name].no_save = True
|
self._story_settings[story_name].no_save = True
|
||||||
self._story_settings[story_name].from_json(json_data)
|
self._story_settings[story_name].from_json(json_data)
|
||||||
self._story_settings[story_name].no_save = False
|
self._story_settings[story_name].no_save = False
|
||||||
@@ -131,16 +138,22 @@ class koboldai_vars(object):
|
|||||||
#story_name = 'default'
|
#story_name = 'default'
|
||||||
if not multi_story:
|
if not multi_story:
|
||||||
story_name = 'default'
|
story_name = 'default'
|
||||||
if story_name in self._story_settings:
|
self._story_settings[story_name] = story_settings(self.socketio, self)
|
||||||
self._story_settings[story_name].reset()
|
#self._story_settings[story_name].reset()
|
||||||
else:
|
|
||||||
self._story_settings[story_name] = story_settings(self.socketio, self)
|
|
||||||
self._story_settings[story_name].reset()
|
|
||||||
if json_data is not None:
|
if json_data is not None:
|
||||||
self.load_story(story_name, json_data)
|
self.load_story(story_name, json_data)
|
||||||
|
else:
|
||||||
|
#Leave the old room and join the new one
|
||||||
|
logger.debug("Leaving room {}".format(session['story']))
|
||||||
|
leave_room(session['story'])
|
||||||
|
logger.debug("Joining room {}".format(story_name))
|
||||||
|
join_room(story_name)
|
||||||
|
session['story'] = story_name
|
||||||
|
logger.debug("Sending story reset")
|
||||||
|
self._story_settings[story_name].socketio.emit("reset_story", {}, broadcast=True, room=story_name)
|
||||||
|
self._story_settings[story_name].send_to_ui()
|
||||||
session['story'] = story_name
|
session['story'] = story_name
|
||||||
|
|
||||||
self._story_settings[story_name].send_to_ui()
|
|
||||||
|
|
||||||
def story_list(self):
|
def story_list(self):
|
||||||
return [x for x in self._story_settings]
|
return [x for x in self._story_settings]
|
||||||
@@ -751,7 +764,7 @@ class story_settings(settings):
|
|||||||
old_value = getattr(self, name, None)
|
old_value = getattr(self, name, None)
|
||||||
super().__setattr__(name, value)
|
super().__setattr__(name, value)
|
||||||
#Put variable change actions here
|
#Put variable change actions here
|
||||||
if name not in self.local_only_variables and name[0] != "_" and not new_variable:
|
if name not in self.local_only_variables and name[0] != "_" and not new_variable and old_value != value:
|
||||||
process_variable_changes(self.socketio, self.__class__.__name__.replace("_settings", ""), name, value, old_value)
|
process_variable_changes(self.socketio, self.__class__.__name__.replace("_settings", ""), name, value, old_value)
|
||||||
#We want to automatically set gamesaved to false if something happens to the actions list (pins, redos, generations, text, etc)
|
#We want to automatically set gamesaved to false if something happens to the actions list (pins, redos, generations, text, etc)
|
||||||
#To do that we need to give the actions list a copy of this data so it can set the gamesaved variable as needed
|
#To do that we need to give the actions list a copy of this data so it can set the gamesaved variable as needed
|
||||||
|
Reference in New Issue
Block a user