Skip to content

[P1] Backend: Add WebSocket events for Git and PR operations #279

Description

@frankbria

Problem

Steps 8-10 will need real-time updates but no WebSocket events exist for Git/PR operations.

Current State

  • websocket_broadcasts.py has 27 broadcast functions
  • Only commit_created exists for git operations
  • No events for: branch creation, PR creation, PR merge

Required Events

Git Events

async def broadcast_branch_created(
    project_id: int,
    branch_name: str,
    issue_id: int | None = None
)

async def broadcast_branch_merged(
    project_id: int,
    branch_name: str,
    target_branch: str = "main"
)

PR Events

async def broadcast_pr_created(
    project_id: int,
    pr_number: int,
    title: str,
    branch: str
)

async def broadcast_pr_merged(
    project_id: int,
    pr_number: int,
    merge_commit: str
)

async def broadcast_pr_closed(
    project_id: int,
    pr_number: int,
    reason: str
)

Frontend Integration

Add to websocketMessageMapper.ts:

case 'branch_created':
case 'pr_created':
case 'pr_merged':
  return { type: 'ACTIVITY_ADDED', payload: {...} };

Acceptance Criteria

  • All Git/PR events implemented
  • Events fire from appropriate API handlers
  • Frontend mapper handles all new event types
  • Activity feed shows Git/PR updates

Dependencies

Committee Report Reference

WebSocket Expert rated Steps 9-10 as "Missing" with quote: "No PR-related events exist."

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1-high-betaHigh priority - should fix before beta for best experiencearchitectureSystem architecture and design patternsenhancementNew feature or requestv1-legacyV1-specific issue, retained as reference for Phase 3 UI rebuild

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions