Skip to content

feat: implement scheduled leaderboard broadcasting (#116)#238

Open
GoodnessJohn wants to merge 2 commits intoNetwalls:mainfrom
GoodnessJohn:feature/leaderboard-scheduled-broadcasting-116
Open

feat: implement scheduled leaderboard broadcasting (#116)#238
GoodnessJohn wants to merge 2 commits intoNetwalls:mainfrom
GoodnessJohn:feature/leaderboard-scheduled-broadcasting-116

Conversation

@GoodnessJohn
Copy link
Contributor

closes #116

  • Add LeaderboardBroadcasterService with 5-minute scheduled broadcasts
  • Implement deterministic rank change detection with stable sorting
  • Add private achievement notifications via secure user rooms
  • Add public aggregated leaderboard updates
  • Ensure idempotent behavior with minimum 4-minute gap
  • Add resilience to restarts and error recovery
  • Integrate with Socket.IO for real-time notifications
  • Add user private rooms (user:{userId}) for personal notifications
  • Add leaderboard room (leaderboard:global) for public updates
  • Add subscribe_leaderboard/unsubscribe_leaderboard events
  • Update cron service to start/stop broadcaster
  • Update server initialization with Socket.IO and broadcaster
  • Add 25 comprehensive tests covering all requirements
  • Ensure no sensitive data exposure in public broadcasts
  • Implement achievement detection (Top 10, Top 100, Big Climb, Weekly Leader)
  • Add status monitoring endpoint
  • Ensure backward compatibility with no breaking changes

- Add LeaderboardBroadcasterService with 5-minute scheduled broadcasts
- Implement deterministic rank change detection with stable sorting
- Add private achievement notifications via secure user rooms
- Add public aggregated leaderboard updates
- Ensure idempotent behavior with minimum 4-minute gap
- Add resilience to restarts and error recovery
- Integrate with Socket.IO for real-time notifications
- Add user private rooms (user:{userId}) for personal notifications
- Add leaderboard room (leaderboard:global) for public updates
- Add subscribe_leaderboard/unsubscribe_leaderboard events
- Update cron service to start/stop broadcaster
- Update server initialization with Socket.IO and broadcaster
- Add 25 comprehensive tests covering all requirements
- Ensure no sensitive data exposure in public broadcasts
- Implement achievement detection (Top 10, Top 100, Big Climb, Weekly Leader)
- Add status monitoring endpoint
- Ensure backward compatibility with no breaking changes
@GoSTEAN
Copy link
Contributor

GoSTEAN commented Feb 26, 2026

@GoodnessJohn rezolve conflict

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.

[WebSocket] Leaderboard & achievement broadcasts

2 participants