Files
2026-07-14 00:41:05 +02:00

1.3 KiB

Game Activity Domain

Foreground-window-first game detection, RAWG matching, and P2P now-playing sync.

Cross-context contract: agents-docs/features/game-activity.md

Module map

game-activity/
├── domain/
│   ├── game-activity.models.ts    Shared-kernel types (re-exported)
│   └── game-activity-time.ts      formatGameActivityElapsed()
├── application/
│   ├── game-activity.service.ts   Scan loop, match cache, P2P broadcast
│   └── game-activity.service.spec.ts
└── index.ts

Public entry points

Export Role
GameActivityService Started from App bootstrap; updates user store + broadcasts
formatGameActivityElapsed() Profile card / sidebar elapsed time label

Dependencies

  • ElectronBridgeService — process names and foreground candidate (desktop only)
  • ServerDirectoryFacadePOST /api/games/match base URL
  • RealtimeSessionFacade — P2P game-activity send/receive

UI consumers

  • Profile card components (formatGameActivityElapsed, user.gameActivity)
  • Room side panel member list

Boundaries

  • Does not own RAWG API keys (server configuration).
  • Browser/mobile shells do not scan processes locally.