change event type name of websocket

This commit is contained in:
hjlarry 2025-10-11 09:07:02 +08:00
parent fa11f0e488
commit 3a7f729176
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): def handle_collaboration_event(sid, data):
""" """
Handle general collaboration events, include: Handle general collaboration events, include:
1. mouseMove 1. mouse_move
2. varsAndFeaturesUpdate 2. vars_and_features_update
3. syncRequest(ask leader to update graph) 3. sync_request (ask leader to update graph)
4. appStateUpdate 4. app_state_update
5. mcpServerUpdate 5. mcp_server_update
6. workflow_update
7. comments_update
8. node_panel_presence
""" """
mapping = redis_client.get(f"ws_sid_map:{sid}") 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) const socket = webSocketClient.getSocket(appId)
if (socket) { if (socket) {
socket.emit('collaboration_event', { socket.emit('collaboration_event', {
type: 'appStateUpdate', type: 'app_state_update',
data: { timestamp: Date.now() }, data: { timestamp: Date.now() },
timestamp: Date.now(), timestamp: Date.now(),
}) })

View File

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

View File

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

View File

@ -50,7 +50,7 @@ export type GraphSyncData = {
} }
export type CollaborationUpdate = { 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 userId: string
data: any data: any
timestamp: number timestamp: number

View File

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

View File

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

View File

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