support empty collaboration event data

This commit is contained in:
hjlarry 2025-08-05 15:21:41 +08:00
parent c2eec8545d
commit 9c5c597c85
2 changed files with 6 additions and 6 deletions

View File

@ -111,7 +111,7 @@ def handle_collaboration_event(sid, data):
"""
Handle general collaboration events, include:
1. mouseMove
2. openPanel
2. varsAndFeaturesUpdate
"""
mapping = redis_client.get(f"ws_sid_map:{sid}")
@ -127,8 +127,8 @@ def handle_collaboration_event(sid, data):
event_data = data.get("data")
timestamp = data.get("timestamp", int(time.time()))
if not event_type or not event_data:
return {"msg": "invalid event data"}, 400
if not event_type:
return {"msg": "invalid event type"}, 400
sio.emit(
"collaboration_update",

View File

@ -9,8 +9,8 @@ type WebSocketStore = {
isConnected: () => boolean
getSocket: (appId: string) => WebSocketInstance
emit: (eventType: string, data: any) => void
on: (eventType: string, handler: (data: any) => void) => () => void
emit: (eventType: string, data?: any) => void
on: (eventType: string, handler: (data?: any) => void) => () => void
}
export const useWebSocketStore = create<WebSocketStore>((set, get) => ({
@ -47,7 +47,7 @@ export const useWebSocketStore = create<WebSocketStore>((set, get) => ({
return socket
},
emit: (eventType: string, data: any) => {
emit: (eventType: string, data?: any) => {
const { socket } = get()
if (socket?.connected) {
socket.emit('collaboration_event', {