From 37a419d8d0d62438c19fad636765c8d641af07d0 Mon Sep 17 00:00:00 2001 From: ebolam Date: Fri, 8 Sep 2023 20:43:29 -0400 Subject: [PATCH] Changed password variables to transmit **** (length = length of text) if --host is on --- koboldai_settings.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/koboldai_settings.py b/koboldai_settings.py index 38570783..8d3c0838 100644 --- a/koboldai_settings.py +++ b/koboldai_settings.py @@ -25,6 +25,8 @@ enable_whitelist = False if importlib.util.find_spec("tortoise") is not None: from tortoise import api from tortoise.utils.audio import load_voices + +password_vars = ["horde_api_key", "privacy_password", "img_gen_api_password"] def clean_var_for_emit(value): if isinstance(value, KoboldStoryRegister) or isinstance(value, KoboldWorldInfo): @@ -42,7 +44,7 @@ def process_variable_changes(socketio, classname, name, value, old_value, debug_ transmit_time = str(datetime.datetime.now()) if debug_message is not None: print("{} {}: {} changed from {} to {}".format(debug_message, classname, name, old_value, value)) - if value != old_value and (not koboldai_vars_main.host or name not in ["horde_api_key", "privacy_password", "img_gen_api_password"]): + if value != old_value: #Get which room we'll send the messages to if multi_story: if classname != 'story': @@ -83,14 +85,20 @@ def process_variable_changes(socketio, classname, name, value, old_value, debug_ else: #If we got a variable change from a thread other than what the app is run it, eventlet seems to block and no further messages are sent. Instead, we'll rely the message to the app and have the main thread send it if not has_request_context(): - data = ["var_changed", {"classname": classname, "name": name, "old_value": clean_var_for_emit(old_value), "value": clean_var_for_emit(value), "transmit_time": transmit_time}, {"include_self":True, "broadcast":True, "room":room}] + if not koboldai_vars_main.host or name not in password_vars: + data = ["var_changed", {"classname": classname, "name": name, "old_value": clean_var_for_emit(old_value), "value": clean_var_for_emit(value), "transmit_time": transmit_time}, {"include_self":True, "broadcast":True, "room":room}] + else: + data = ["var_changed", {"classname": classname, "name": name, "old_value": "*" * len(old_value) if old_value is not None else "", "value": "*" * len(value) if value is not None else "", "transmit_time": transmit_time}, {"include_self":True, "broadcast":True, "room":room}] if queue is not None: #logger.debug("Had to use queue") queue.put(data) else: if socketio is not None: - socketio.emit("var_changed", {"classname": classname, "name": name, "old_value": clean_var_for_emit(old_value), "value": clean_var_for_emit(value), "transmit_time": transmit_time}, include_self=True, broadcast=True, room=room) + if not koboldai_vars_main.host or name not in password_vars: + socketio.emit("var_changed", {"classname": classname, "name": name, "old_value": clean_var_for_emit(old_value), "value": clean_var_for_emit(value), "transmit_time": transmit_time}, include_self=True, broadcast=True, room=room) + else: + socketio.emit("var_changed", {"classname": classname, "name": name, "old_value": "*" * len(old_value) if old_value is not None else "", "value": "*" * len(value) if value is not None else "", "transmit_time": transmit_time}, include_self=True, broadcast=True, room=room) class koboldai_vars(object): def __init__(self, socketio):