diff --git a/packages/views/issues/components/agent-live-card.tsx b/packages/views/issues/components/agent-live-card.tsx index 633bfc48e..dd5872111 100644 --- a/packages/views/issues/components/agent-live-card.tsx +++ b/packages/views/issues/components/agent-live-card.tsx @@ -208,7 +208,9 @@ export function AgentLiveCard({ issueId }: AgentLiveCardProps) { // Pick up newly dispatched tasks useWSEvent( "task:dispatch", - useCallback(() => { + useCallback((payload: unknown) => { + const p = payload as { issue_id?: string }; + if (p.issue_id && p.issue_id !== issueId) return; api.getActiveTasksForIssue(issueId).then(({ tasks }) => { setTaskStates((prev) => { const next = new Map(prev); diff --git a/server/internal/service/task.go b/server/internal/service/task.go index b15893fc8..f0ff5b3be 100644 --- a/server/internal/service/task.go +++ b/server/internal/service/task.go @@ -461,6 +461,8 @@ func (s *TaskService) broadcastTaskDispatch(ctx context.Context, task db.AgentTa } payload["task_id"] = util.UUIDToString(task.ID) payload["runtime_id"] = util.UUIDToString(task.RuntimeID) + payload["issue_id"] = util.UUIDToString(task.IssueID) + payload["agent_id"] = util.UUIDToString(task.AgentID) workspaceID := s.resolveTaskWorkspaceID(ctx, task) if workspaceID == "" {