change event type name of websocket

This commit is contained in:
hjlarry 2025-10-11 09:07:02 +08:00
parent 6c039be2ca
commit c4d03bf378
8 changed files with 38 additions and 35 deletions

View File

@ -240,11 +240,14 @@ def broadcast_online_users(workflow_id):
def handle_collaboration_event(sid, data):
"""
Handle general collaboration events, include:
1. mouseMove
2. varsAndFeaturesUpdate
3. syncRequest(ask leader to update graph)
4. appStateUpdate
5. mcpServerUpdate
1. mouse_move
2. vars_and_features_update
3. sync_request (ask leader to update graph)
4. app_state_update
5. mcp_server_update
6. workflow_update
7. comments_update
8. node_panel_presence
"""
mapping = redis_client.get(f"ws_sid_map:{sid}")

View File

@ -56,7 +56,7 @@ const CardView: FC<ICardViewProps> = ({ appId, isInPanel, className }) => {
const socket = webSocketClient.getSocket(appId)
if (socket) {
socket.emit('collaboration_event', {
type: 'appStateUpdate',
type: 'app_state_update',
data: { timestamp: Date.now() },
timestamp: Date.now(),
})

View File

@ -97,7 +97,7 @@ function MCPServiceCard({
const socket = webSocketClient.getSocket(appId)
if (socket) {
socket.emit('collaboration_event', {
type: 'mcpServerUpdate',
type: 'mcp_server_update',
data: {
action: 'codeRegenerated',
timestamp: Date.now(),
@ -139,7 +139,7 @@ function MCPServiceCard({
const socket = webSocketClient.getSocket(appId)
if (socket) {
socket.emit('collaboration_event', {
type: 'mcpServerUpdate',
type: 'mcp_server_update',
data: {
action: 'statusChanged',
status: state ? 'active' : 'inactive',

View File

@ -285,7 +285,7 @@ export class CollaborationManager {
const socket = webSocketClient.getSocket(this.currentAppId)
if (socket) {
socket.emit('collaboration_event', {
type: 'mouseMove',
type: 'mouse_move',
userId: socket.id,
data: { x: position.x, y: position.y },
timestamp: Date.now(),
@ -300,7 +300,7 @@ export class CollaborationManager {
if (socket) {
console.log('Emitting sync request to leader')
socket.emit('collaboration_event', {
type: 'syncRequest',
type: 'sync_request',
data: { timestamp: Date.now() },
timestamp: Date.now(),
})
@ -314,7 +314,7 @@ export class CollaborationManager {
if (socket) {
console.log('Emitting Workflow update event')
socket.emit('collaboration_event', {
type: 'workflowUpdate',
type: 'workflow_update',
data: { appId, timestamp: Date.now() },
timestamp: Date.now(),
})
@ -336,7 +336,7 @@ export class CollaborationManager {
}
socket.emit('collaboration_event', {
type: 'nodePanelPresence',
type: 'node_panel_presence',
data: payload,
timestamp: payload.timestamp,
})
@ -397,7 +397,7 @@ export class CollaborationManager {
if (socket) {
console.log('Emitting Comments update event')
socket.emit('collaboration_event', {
type: 'commentsUpdate',
type: 'comments_update',
data: { appId, timestamp: Date.now() },
timestamp: Date.now(),
})
@ -793,7 +793,7 @@ export class CollaborationManager {
console.log('Setting up socket event listeners for collaboration')
socket.on('collaboration_update', (update: any) => {
if (update.type === 'mouseMove') {
if (update.type === 'mouse_move') {
// Update cursor state for this user
this.cursors[update.userId] = {
x: update.data.x,
@ -804,31 +804,31 @@ export class CollaborationManager {
this.eventEmitter.emit('cursors', { ...this.cursors })
}
else if (update.type === 'varsAndFeaturesUpdate') {
console.log('Processing varsAndFeaturesUpdate event:', update)
else if (update.type === 'vars_and_features_update') {
console.log('Processing vars_and_features_update event:', update)
this.eventEmitter.emit('varsAndFeaturesUpdate', update)
}
else if (update.type === 'appStateUpdate') {
console.log('Processing appStateUpdate event:', update)
else if (update.type === 'app_state_update') {
console.log('Processing app_state_update event:', update)
this.eventEmitter.emit('appStateUpdate', update)
}
else if (update.type === 'mcpServerUpdate') {
console.log('Processing mcpServerUpdate event:', update)
else if (update.type === 'mcp_server_update') {
console.log('Processing mcp_server_update event:', update)
this.eventEmitter.emit('mcpServerUpdate', update)
}
else if (update.type === 'workflowUpdate') {
console.log('Processing workflowUpdate event:', update)
else if (update.type === 'workflow_update') {
console.log('Processing workflow_update event:', update)
this.eventEmitter.emit('workflowUpdate', update.data)
}
else if (update.type === 'commentsUpdate') {
console.log('Processing commentsUpdate event:', update)
else if (update.type === 'comments_update') {
console.log('Processing comments_update event:', update)
this.eventEmitter.emit('commentsUpdate', update.data)
}
else if (update.type === 'nodePanelPresence') {
console.log('Processing nodePanelPresence event:', update)
else if (update.type === 'node_panel_presence') {
console.log('Processing node_panel_presence event:', update)
this.applyNodePanelPresenceUpdate(update.data as NodePanelPresenceEventData)
}
else if (update.type === 'syncRequest') {
else if (update.type === 'sync_request') {
console.log('Received sync request from another user')
// Only process if we are the leader
if (this.isLeader) {

View File

@ -50,7 +50,7 @@ export type GraphSyncData = {
}
export type CollaborationUpdate = {
type: 'mouseMove' | 'graphUpdate' | 'userJoin' | 'userLeave'
type: 'mouse_move' | 'vars_and_features_update' | 'sync_request' | 'app_state_update' | 'mcp_server_update' | 'workflow_update' | 'comments_update' | 'node_panel_presence'
userId: string
data: any
timestamp: number

View File

@ -70,7 +70,7 @@ const Features = () => {
const socket = webSocketClient.getSocket(appId)
if (socket) {
socket.emit('collaboration_event', {
type: 'varsAndFeaturesUpdate',
type: 'vars_and_features_update',
})
}
}

View File

@ -86,7 +86,7 @@ const ChatVariablePanel = () => {
const socket = webSocketClient.getSocket(appId)
if (socket) {
socket.emit('collaboration_event', {
type: 'varsAndFeaturesUpdate',
type: 'vars_and_features_update',
})
}
@ -128,7 +128,7 @@ const ChatVariablePanel = () => {
const socket = webSocketClient.getSocket(appId)
if (socket) {
socket.emit('collaboration_event', {
type: 'varsAndFeaturesUpdate',
type: 'vars_and_features_update',
})
}
@ -169,7 +169,7 @@ const ChatVariablePanel = () => {
const socket = webSocketClient.getSocket(appId)
if (socket) {
socket.emit('collaboration_event', {
type: 'varsAndFeaturesUpdate',
type: 'vars_and_features_update',
})
}

View File

@ -82,7 +82,7 @@ const EnvPanel = () => {
const socket = webSocketClient.getSocket(appId)
if (socket?.connected) {
socket.emit('collaboration_event', {
type: 'varsAndFeaturesUpdate',
type: 'vars_and_features_update',
timestamp: Date.now(),
})
}
@ -137,7 +137,7 @@ const EnvPanel = () => {
const socket = webSocketClient.getSocket(appId)
if (socket) {
socket.emit('collaboration_event', {
type: 'varsAndFeaturesUpdate',
type: 'vars_and_features_update',
})
}
@ -203,7 +203,7 @@ const EnvPanel = () => {
const socket = webSocketClient.getSocket(appId)
if (socket) {
socket.emit('collaboration_event', {
type: 'varsAndFeaturesUpdate',
type: 'vars_and_features_update',
})
}