Skip to content

Commit 128e7ad

Browse files
fix: remove stale socket operation branches
1 parent 9504519 commit 128e7ad

File tree

2 files changed

+93
-96
lines changed

2 files changed

+93
-96
lines changed

apps/sim/socket/handlers/operations.test.ts

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -992,4 +992,97 @@ describe('setupOperationsHandlers', () => {
992992
expect.objectContaining({ operationId: 'op-2', serverTimestamp: expect.any(Number) })
993993
)
994994
})
995+
996+
it('broadcasts valid block toggle operations through the default handler', async () => {
997+
mockPersistWorkflowOperation.mockResolvedValue({})
998+
999+
const socketEmit = vi.fn()
1000+
const socketRoomEmit = vi.fn()
1001+
const emitToWorkflow = vi.fn()
1002+
const socketHandlers = new Map<string, (data: unknown) => Promise<void>>()
1003+
1004+
const socket = {
1005+
id: 'socket-1',
1006+
on: vi.fn((event: string, handler: (data: unknown) => Promise<void>) => {
1007+
socketHandlers.set(event, handler)
1008+
}),
1009+
emit: socketEmit,
1010+
to: vi.fn(() => ({
1011+
emit: socketRoomEmit,
1012+
})),
1013+
}
1014+
1015+
const roomManager = {
1016+
io: {} as never,
1017+
initialize: vi.fn(),
1018+
isReady: vi.fn(() => true),
1019+
shutdown: vi.fn(),
1020+
addUserToRoom: vi.fn(),
1021+
removeUserFromRoom: vi.fn(),
1022+
getWorkflowIdForSocket: vi.fn().mockResolvedValue('workflow-1'),
1023+
getUserSession: vi.fn().mockResolvedValue({ userId: 'user-1', userName: 'Test User' }),
1024+
getWorkflowUsers: vi.fn().mockResolvedValue([
1025+
{
1026+
socketId: 'socket-1',
1027+
userId: 'user-1',
1028+
workflowId: 'workflow-1',
1029+
userName: 'Test User',
1030+
joinedAt: Date.now(),
1031+
lastActivity: Date.now(),
1032+
role: 'admin',
1033+
},
1034+
]),
1035+
hasWorkflowRoom: vi.fn().mockResolvedValue(true),
1036+
updateUserActivity: vi.fn(),
1037+
updateRoomLastModified: vi.fn(),
1038+
broadcastPresenceUpdate: vi.fn(),
1039+
emitToWorkflow,
1040+
getUniqueUserCount: vi.fn(),
1041+
getTotalActiveConnections: vi.fn(),
1042+
handleWorkflowDeletion: vi.fn(),
1043+
handleWorkflowRevert: vi.fn(),
1044+
handleWorkflowUpdate: vi.fn(),
1045+
}
1046+
1047+
setupOperationsHandlers(socket as never, roomManager)
1048+
1049+
const workflowOperationHandler = socketHandlers.get('workflow-operation')
1050+
1051+
await workflowOperationHandler?.({
1052+
operationId: 'op-toggle-enabled',
1053+
operation: BLOCK_OPERATIONS.TOGGLE_ENABLED,
1054+
target: OPERATION_TARGETS.BLOCK,
1055+
payload: {
1056+
id: 'block-1',
1057+
enabled: false,
1058+
},
1059+
timestamp: 789,
1060+
})
1061+
1062+
expect(mockPersistWorkflowOperation).toHaveBeenCalledWith(
1063+
'workflow-1',
1064+
expect.objectContaining({
1065+
operation: BLOCK_OPERATIONS.TOGGLE_ENABLED,
1066+
target: OPERATION_TARGETS.BLOCK,
1067+
payload: { id: 'block-1', enabled: false },
1068+
userId: 'user-1',
1069+
})
1070+
)
1071+
expect(socketRoomEmit).toHaveBeenCalledWith(
1072+
'workflow-operation',
1073+
expect.objectContaining({
1074+
operation: BLOCK_OPERATIONS.TOGGLE_ENABLED,
1075+
target: OPERATION_TARGETS.BLOCK,
1076+
payload: { id: 'block-1', enabled: false },
1077+
})
1078+
)
1079+
expect(emitToWorkflow).not.toHaveBeenCalled()
1080+
expect(socketEmit).toHaveBeenCalledWith(
1081+
'operation-confirmed',
1082+
expect.objectContaining({
1083+
operationId: 'op-toggle-enabled',
1084+
serverTimestamp: expect.any(Number),
1085+
})
1086+
)
1087+
})
9951088
})

apps/sim/socket/handlers/operations.ts

Lines changed: 0 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -684,70 +684,6 @@ export function setupOperationsHandlers(socket: AuthenticatedSocket, roomManager
684684
return
685685
}
686686

687-
if (target === OPERATION_TARGETS.VARIABLE && operation === VARIABLE_OPERATIONS.UPDATE) {
688-
await persistWorkflowOperation(workflowId, {
689-
operation,
690-
target,
691-
payload,
692-
timestamp: operationTimestamp,
693-
userId: session.userId,
694-
})
695-
696-
await roomManager.updateRoomLastModified(workflowId)
697-
698-
socket.to(workflowId).emit('workflow-operation', {
699-
operation,
700-
target,
701-
payload,
702-
timestamp: operationTimestamp,
703-
senderId: socket.id,
704-
userId: session.userId,
705-
userName: session.userName,
706-
metadata: { workflowId, operationId: crypto.randomUUID() },
707-
})
708-
709-
if (operationId) {
710-
socket.emit('operation-confirmed', {
711-
operationId,
712-
serverTimestamp: Date.now(),
713-
})
714-
}
715-
716-
return
717-
}
718-
719-
if (target === OPERATION_TARGETS.BLOCK && operation === BLOCK_OPERATIONS.UPDATE_METADATA) {
720-
await persistWorkflowOperation(workflowId, {
721-
operation,
722-
target,
723-
payload,
724-
timestamp: operationTimestamp,
725-
userId: session.userId,
726-
})
727-
728-
await roomManager.updateRoomLastModified(workflowId)
729-
730-
socket.to(workflowId).emit('workflow-operation', {
731-
operation,
732-
target,
733-
payload,
734-
timestamp: operationTimestamp,
735-
senderId: socket.id,
736-
userId: session.userId,
737-
userName: session.userName,
738-
metadata: { workflowId, operationId: crypto.randomUUID() },
739-
})
740-
741-
if (operationId) {
742-
socket.emit('operation-confirmed', {
743-
operationId,
744-
serverTimestamp: Date.now(),
745-
})
746-
}
747-
748-
return
749-
}
750-
751687
if (target === OPERATION_TARGETS.BLOCK && operation === BLOCK_OPERATIONS.UPDATE_NAME) {
752688
await persistWorkflowOperation(workflowId, {
753689
operation,
@@ -780,38 +716,6 @@ export function setupOperationsHandlers(socket: AuthenticatedSocket, roomManager
780716
return
781717
}
782718

783-
if (target === OPERATION_TARGETS.BLOCK && operation === BLOCK_OPERATIONS.UPDATE_SUBBLOCK) {
784-
await persistWorkflowOperation(workflowId, {
785-
operation,
786-
target,
787-
payload,
788-
timestamp: operationTimestamp,
789-
userId: session.userId,
790-
})
791-
792-
await roomManager.updateRoomLastModified(workflowId)
793-
794-
socket.to(workflowId).emit('workflow-operation', {
795-
operation,
796-
target,
797-
payload,
798-
timestamp: operationTimestamp,
799-
senderId: socket.id,
800-
userId: session.userId,
801-
userName: session.userName,
802-
metadata: { workflowId, operationId: crypto.randomUUID() },
803-
})
804-
805-
if (operationId) {
806-
socket.emit('operation-confirmed', {
807-
operationId,
808-
serverTimestamp: Date.now(),
809-
})
810-
}
811-
812-
return
813-
}
814-
815719
// Default handler for simple persistence and broadcast
816720
await persistWorkflowOperation(workflowId, {
817721
operation,

0 commit comments

Comments
 (0)