Skip to content

feat(websocket): implement WebSocket gateway for real-time communication#209

Merged
RUKAYAT-CODER merged 1 commit intoEarnQuestOne:mainfrom
steph-crown:main
Mar 29, 2026
Merged

feat(websocket): implement WebSocket gateway for real-time communication#209
RUKAYAT-CODER merged 1 commit intoEarnQuestOne:mainfrom
steph-crown:main

Conversation

@steph-crown
Copy link
Copy Markdown
Contributor

Add Socket.IO-based WebSocket gateway with JWT authentication, channel
subscriptions, message persistence, rate limiting, and broadcast support.

  • Configure WebSocket gateway with Socket.IO transport (ws + polling)
  • Create WsAuthGuard for JWT-based handshake authentication
  • Build subscription management with DB persistence for reconnection
  • Bridge EventEmitter2 domain events (quest, submission, payout,
    reputation) to WebSocket clients via WebsocketEventHandler
  • Add in-memory sliding-window rate limiting (60 msg/min per socket)
  • Implement broadcast to all, by role, and by channel room
  • Persist messages to ws_messages table for client history retrieval
  • Add live chat support with room join/leave/message
  • Add admin-only stats endpoint for connection monitoring
  • Include unit tests (31 passing) for gateway and service

Close #167

Made-with: Cursor

Add Socket.IO-based WebSocket gateway with JWT authentication, channel
subscriptions, message persistence, rate limiting, and broadcast support.

- Configure WebSocket gateway with Socket.IO transport (ws + polling)
- Create WsAuthGuard for JWT-based handshake authentication
- Build subscription management with DB persistence for reconnection
- Bridge EventEmitter2 domain events (quest, submission, payout,
  reputation) to WebSocket clients via WebsocketEventHandler
- Add in-memory sliding-window rate limiting (60 msg/min per socket)
- Implement broadcast to all, by role, and by channel room
- Persist messages to ws_messages table for client history retrieval
- Add live chat support with room join/leave/message
- Add admin-only stats endpoint for connection monitoring
- Include unit tests (31 passing) for gateway and service

Close EarnQuestOne#167

Made-with: Cursor
@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 28, 2026

@steph-crown Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER
Copy link
Copy Markdown
Contributor

Thank you for contributing to our project. You can support this project by giving us a star

@RUKAYAT-CODER RUKAYAT-CODER merged commit ec080fe into EarnQuestOne:main Mar 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement WebSocket Gateway

2 participants