diff --git a/jupyter/stock.py b/jupyter/stock.py index 1bf15fa..9f5aeaf 100644 --- a/jupyter/stock.py +++ b/jupyter/stock.py @@ -740,7 +740,7 @@ class WebServer: def __init__(self, logging): self.logging = logging - self.app = Flask(__name__, static_folder='/opt/airc/src/client/dist', static_url_path='') + self.app = Flask(__name__, static_folder='/opt/airc/src/ketr-chat/build', static_url_path='') self.sock = Sock(self.app) self.sessions = {} @@ -756,7 +756,7 @@ class WebServer: "system": system_message, "users": [], "history": [], - "sockets": [socket] + "sockets": [] } logging.info(f"{session['id']} created and added to sessions.") self.sessions[session['id']] = session @@ -770,8 +770,8 @@ class WebServer: user = random_nick() if not session_id in self.sessions: self.generate_session(ws, session_id) - else: - self.sessions[session_id]['sockets'].append(ws) + + self.sessions[session_id]['sockets'].append(ws) while True: try: @@ -831,8 +831,10 @@ class WebServer: ws.send(json.dumps({"type": "error", "error": f"Invalid request type: {data['type']}"})) except Exception as e: logging.error(f"WebSocket error: {str(e)}") - self.sessions[session_id]['users'].remove(user) - self.sessions[session_id]['sockets'].remove(ws) + if user in self.sessions[session_id]['users']: + self.sessions[session_id]['users'].remove(user) + if ws in self.sessions[session_id]['sockets']: + self.sessions[session_id]['sockets'].remove(ws) for socket in self.sessions[session_id]['sockets']: socket.send(json.dumps({"type": "users", "update": self.sessions[session_id]['users']})) diff --git a/src/ketr-chat/favicon.ico b/src/ketr-chat/favicon.ico new file mode 100755 index 0000000..ddf3b88 Binary files /dev/null and b/src/ketr-chat/favicon.ico differ diff --git a/src/ketr-chat/favicon.png b/src/ketr-chat/favicon.png new file mode 100644 index 0000000..9ad6bf3 Binary files /dev/null and b/src/ketr-chat/favicon.png differ diff --git a/src/ketr-chat/public/adaptive-icon.png b/src/ketr-chat/public/adaptive-icon.png new file mode 100755 index 0000000..03d6f6b Binary files /dev/null and b/src/ketr-chat/public/adaptive-icon.png differ diff --git a/src/ketr-chat/public/favicon.ico b/src/ketr-chat/public/favicon.ico index a11777c..ddf3b88 100644 Binary files a/src/ketr-chat/public/favicon.ico and b/src/ketr-chat/public/favicon.ico differ diff --git a/src/ketr-chat/public/favicon.png b/src/ketr-chat/public/favicon.png new file mode 100755 index 0000000..9ad6bf3 Binary files /dev/null and b/src/ketr-chat/public/favicon.png differ diff --git a/src/ketr-chat/public/icon.png b/src/ketr-chat/public/icon.png new file mode 100755 index 0000000..a0b1526 Binary files /dev/null and b/src/ketr-chat/public/icon.png differ diff --git a/src/ketr-chat/public/index.html b/src/ketr-chat/public/index.html index aa069f2..872ee28 100644 --- a/src/ketr-chat/public/index.html +++ b/src/ketr-chat/public/index.html @@ -24,7 +24,7 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> -