1.3 KiB
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)ServerDirectoryFacade—POST /api/games/matchbase URLRealtimeSessionFacade— P2Pgame-activitysend/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.