feat(#16): Implement WebSocket real-time updates #106

Merged
jason.woltje merged 2 commits from feature/16-websocket into develop 2026-01-30 01:43:33 +00:00
Owner

Summary

Adds WebSocket support for real-time entity updates.

Features

WebSocket Gateway

  • Connection handling with workspace-scoped rooms
  • Event emission for all entity types:
    • task:created, task:updated, task:deleted
    • event:created, event:updated, event:deleted
    • project:created, project:updated, project:deleted

Shared Types

  • WebSocketEvent enum
  • Type-safe payload interfaces
  • WebSocketCallbacks for client handlers

Usage

// Server - emit from services
this.wsGateway.emitTaskCreated(workspaceId, taskPayload);

// Client - subscribe to events
socket.on('task:created', (payload) => { ... });

QA Checklist

  • WebSocket connects successfully
  • Events emit on entity changes
  • Workspace scoping works (only see own workspace events)
  • Reconnection handles gracefully

Closes #16

## Summary Adds WebSocket support for real-time entity updates. ## Features ### WebSocket Gateway - Connection handling with workspace-scoped rooms - Event emission for all entity types: - `task:created`, `task:updated`, `task:deleted` - `event:created`, `event:updated`, `event:deleted` - `project:created`, `project:updated`, `project:deleted` ### Shared Types - `WebSocketEvent` enum - Type-safe payload interfaces - `WebSocketCallbacks` for client handlers ## Usage ```typescript // Server - emit from services this.wsGateway.emitTaskCreated(workspaceId, taskPayload); // Client - subscribe to events socket.on('task:created', (payload) => { ... }); ``` ## QA Checklist - [ ] WebSocket connects successfully - [ ] Events emit on entity changes - [ ] Workspace scoping works (only see own workspace events) - [ ] Reconnection handles gracefully Closes #16
jason.woltje added 1 commit 2026-01-30 01:38:23 +00:00
- Add WebSocket gateway with workspace-scoped rooms
- Define event types: task.created, task.updated, task.deleted
- Define event types: event.created, event.updated, event.deleted
- Define event types: project.created, project.updated, project.deleted
- Add shared WebSocket types for type safety
- WebSocketModule already integrated in AppModule
jason.woltje added 1 commit 2026-01-30 01:43:08 +00:00
jason.woltje merged commit 567a799c53 into develop 2026-01-30 01:43:33 +00:00
jason.woltje deleted branch feature/16-websocket 2026-01-30 01:43:33 +00:00
Sign in to join this conversation.