undef-engine 2025-11-17
Add chat system, spectator mode, tournament brackets, and PWA offline support
627 files · 135,779+ · 9,204-

Real-time chat system

9 files changed
  • ChatInput.tsx Chat message input component
  • ChatMessage.tsx Individual chat message display
  • ChatPanel.tsx Chat panel container with message list
  • ChatPanel.test.tsx Chat panel unit tests
  • chatStore.ts Chat state management
  • useChatHandler.ts Chat WebSocket handler hook
  • chat_handlers.py Server-side chat message handlers
  • chat_store.py Chat message persistence
  • models.py Chat data models
  • Created ChatInput, ChatMessage, and ChatPanel components with WebSocket real-time messaging instantiate behavioral
    3 files
    • ChatInput.tsx
    • ChatMessage.tsx
    • ChatPanel.tsx
  • Added server-side chat handlers, store, and integration module instantiate behavioral
    3 files
    • chat_handlers.py
    • chat_store.py
    • chat_integration.py
  • Added comprehensive ChatPanel tests qualify internal
    1 file
    • ChatPanel.test.tsx

Spectator mode and tournament system

11 files changed
  • SpectatorView.tsx Live game spectator view component
  • TournamentBracket.tsx Tournament bracket display
  • Leaderboard.tsx Player rankings leaderboard
  • SpectatePage.tsx Spectator page routing
  • TournamentPage.tsx Tournament page routing
  • spectator_service.py Spectator mode backend service
  • spectator_routes.py Spectator API routes
  • tournament_routes.py Tournament API routes
  • engine.py Tournament engine logic
  • brackets.py Bracket generation and management
  • leaderboard.py Leaderboard computation
  • Added SpectatorView for watching live games instantiate behavioral
    2 files
    • SpectatorView.tsx
    • SpectatePage.tsx
  • Added TournamentBracket and Leaderboard components instantiate behavioral
    2 files
    • TournamentBracket.tsx
    • Leaderboard.tsx
  • Created tournament engine with brackets, leaderboard, and backend routes instantiate behavioral
    3 files
    • engine.py
    • brackets.py
    • tournament_routes.py

PWA offline support

7 files changed
  • InstallPrompt.tsx PWA install prompt component
  • OfflineIndicator.tsx Offline status indicator
  • offline.ts Offline detection and handling
  • serviceWorker.ts Service worker registration
  • sw.js Service worker implementation
  • manifest.json PWA manifest
  • offline.spec.ts Offline E2E test suite
  • Added InstallPrompt and OfflineIndicator components with service worker instantiate behavioral
    3 files
    • InstallPrompt.tsx
    • OfflineIndicator.tsx
    • sw.js
  • Created offline E2E test suite qualify internal
    1 file
    • offline.spec.ts

GameBoard decomposition and mode frontend components

6 files changed
  • AnswerSelectionSection.tsx Answer selection sub-component
  • GameBoardHeader.tsx Game board header sub-component
  • JudgingSection.tsx Judging phase sub-component
  • PlayerSubmissionSection.tsx Player submission sub-component
  • useGameBoard.ts Game board hook extracting shared logic
  • oauth_demo.py OAuth authentication flow demo script
  • Decomposed GameBoard into sub-components for answer selection, header, judging, and player submission decouple internal
    4 files
    • AnswerSelectionSection.tsx
    • GameBoardHeader.tsx
    • JudgingSection.tsx
    • PlayerSubmissionSection.tsx
  • Added OAuth demo script for authentication flow examples specify internal
    1 file
    • oauth_demo.py