fix(sockets): joining currently deleted workflow#4004
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Adds a Reviewed by Cursor Bugbot for commit d31bd1b. Configure here. |
Greptile SummaryThis PR fixes a race condition in The fix introduces Key changes:
One style finding (P2): Confidence Score: 5/5Safe to merge — the fix correctly addresses the race condition with no correctness issues All findings are P2 style suggestions. The bug fix is logically sound and the deletedWorkflowIdRef approach correctly handles all identified code paths (join-workflow effect, SESSION_ERROR rejoin, and cleanup on navigation). The single flagged item (side effect inside a state updater) is idempotent in practice and follows the same pre-existing pattern already present in the file. No files require special attention Important Files Changed
Sequence DiagramsequenceDiagram
actor User
participant Server
participant SocketProvider
participant Router
User->>Server: delete workflow
Server->>SocketProvider: emit("workflow-deleted", { workflowId })
SocketProvider->>SocketProvider: setCurrentWorkflowId(null)
SocketProvider->>SocketProvider: deletedWorkflowIdRef.current = workflowId
SocketProvider->>Router: workflowDeleted handler fires → router.push(newUrl)
Note over SocketProvider: React re-renders before router.push() settles
SocketProvider->>SocketProvider: join-workflow useEffect fires
SocketProvider->>SocketProvider: urlWorkflowId still == deleted ID
SocketProvider->>SocketProvider: deletedWorkflowIdRef === urlWorkflowId → return early ✓
Router->>SocketProvider: urlWorkflowId changes (navigation complete)
SocketProvider->>SocketProvider: deletedWorkflowIdRef.current = null (cleanup)
SocketProvider->>Server: emit("join-workflow", { workflowId: newId })
alt operation-forbidden with SESSION_ERROR
Server->>SocketProvider: emit("operation-forbidden", { type: "SESSION_ERROR" })
SocketProvider->>SocketProvider: deletedWorkflowIdRef === urlWorkflowId → skip rejoin ✓
end
|
|
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit d31bd1b. Configure here.
Summary
Joining current workflow when deleted.
Type of Change
Testing
Tested manually
Checklist