4.9 KiB
id, title, status, type, team, supporting_teams, roadmap_item, priority
| id | title | status | type | team | supporting_teams | roadmap_item | priority | ||
|---|---|---|---|---|---|---|---|---|---|
| TASK-142 | Player team visuals and recent counts | done | frontend | Frontend Senior |
|
foundation | high |
TASK-142 - Player team visuals and recent counts
Goal
Fix historical UI/data consistency by visually distinguishing player teams in internal match detail tables and exposing meaningful recent-match player counts for RCON materialized matches.
Context
Recent match cards can show Jugadores = 0 even when the corresponding internal detail page has materialized player rows. The detail player table also needs an additive visual distinction for Allies/Aliados and Axis/Eje rows while preserving all existing stats and detail-page behavior.
Steps
- Inspect the listed files first.
- Fix the backend RCON recent-match read model to expose a non-zero materialized player count when player stats exist.
- Add team-specific visual styling to all internal match detail player rows or team cells.
- Validate backend, frontend syntax, RCON pipeline, integration scripts, advanced Compose services and rendered UI behavior.
Files to Read First
ai/architecture-index.mdai/repo-context.mdai/orchestrator/backend-senior.mdai/orchestrator/frontend-senior.mdbackend/app/rcon_historical_read_model.pybackend/app/rcon_admin_log_materialization.pybackend/app/rcon_admin_log_storage.pyfrontend/assets/js/historico-partida.jsfrontend/assets/css/historico-scoreboard-detail.cssfrontend/assets/css/historico.css
Expected Files to Modify
backend/app/rcon_historical_read_model.pybackend/app/rcon_admin_log_materialization.pyfrontend/assets/js/historico-partida.jsfrontend/assets/css/historico-scoreboard-detail.cssai/tasks/done/TASK-142-player-team-visuals-and-recent-counts.md
Constraints
- Do not modify public scoreboard behavior.
- Do not modify frontend recent-card layout beyond consuming corrected backend data.
- Do not reintroduce raw match id, Estado, Resultado confirmado, Fuente, RCON/debug text, timeline/events, confidence/source/base, Elo/MVP blocks or Comunidad Hispana #03.
- Do not commit runtime DB files.
Validation
python -m compileall backend/appnode --check frontend/assets/js/historico.jsnode --check frontend/assets/js/historico-recent-live.jsnode --check frontend/assets/js/historico-partida.jspowershell -ExecutionPolicy Bypass -File scripts/run-rcon-data-pipeline-tests.ps1powershell -ExecutionPolicy Bypass -File scripts/run-integration-tests.ps1docker compose --profile advanced up -d --build backend frontend historical-runner rcon-historical-workerdocker compose --profile advanced psInvoke-WebRequest "http://localhost:8000/health" | Select-Object -ExpandProperty ContentInvoke-WebRequest "http://localhost:8000/api/historical/recent-matches?server=all-servers&limit=20" | Select-Object -ExpandProperty Content- Browser verification on
http://localhost:8080/historico.html?nocache=player-counts - Browser verification on an internal match detail page with materialized players
Outcome
Implemented. Materialized RCON recent-match rows now include player-stat counts and the RCON historical read model exposes those counts as player_count for recent cards and detail payloads. The internal match detail player table now renders localized team badges and team-specific row accents for Aliados, Eje and No disponible while preserving the existing stats columns and detail-page scoreboard link.
Validation passed:
python -m compileall backend/appnode --check frontend/assets/js/historico.jsnode --check frontend/assets/js/historico-recent-live.jsnode --check frontend/assets/js/historico-partida.jspowershell -ExecutionPolicy Bypass -File scripts/run-rcon-data-pipeline-tests.ps1powershell -ExecutionPolicy Bypass -File scripts/run-integration-tests.ps1docker compose --profile advanced up -d --build backend frontend historical-runner rcon-historical-workerdocker compose --profile advanced psInvoke-WebRequest "http://localhost:8000/health" | Select-Object -ExpandProperty ContentInvoke-WebRequest "http://localhost:8000/api/historical/recent-matches?server=all-servers&limit=20" | Select-Object -ExpandProperty Content- Browser verification on
http://localhost:8080/historico.html?nocache=player-counts - Browser verification on
historico-partida.htmlforcomunidad-hispana-02:1779178461:1779183861:carentanwarfare
Notes:
- The RCON pipeline test reports existing SQLite
ResourceWarningmessages from its test harness, but both unittest suites returnOKand the script reports validation passed. - The browser plugin was not exposed by tool discovery in this session, so rendered UI verification used local Chrome/Selenium fallback.
Change Budget
- Prefer fewer than 5 modified files.
- Prefer changes under 200 lines when feasible.