--- id: TASK-127 title: Update recent match link actions status: done type: frontend team: Frontend Senior supporting_teams: - Experto en interfaz - Backend Senior roadmap_item: rcon-full-data priority: medium --- # TASK-127 - Update recent match link actions ## Goal Update recent match cards so internal details and external scoreboard links are prioritized clearly and safely. ## Background Recent match cards should always offer internal details when supported and only show public scoreboard links when the backend provides a safe `match_url`. RCON remains primary, and the UI must not expose stale wording or paused Elo/MVP content. ## Constraints - Do not reintroduce Comunidad Hispana #03. - Do not show paused Elo/MVP blocks. - Do not expose public "snapshot" wording. - Do not show broken external links. - Do not change backend behavior unless strictly required and justified. - Preserve HLL Vietnam tactical, sober styling. ## Allowed Changes - `frontend/assets/js/historico.js` - `frontend/assets/js/historico-recent-live.js` if needed - minimal CSS only if needed for the action layout - this task file when moving it through the workflow ## Implementation Requirements - Work from a dedicated branch for this task. - Read first: - `AGENTS.md` - `ai/architecture-index.md` - `ai/repo-context.md` - `ai/orchestrator/frontend-senior.md` - `ai/orchestrator/ui-expert.md` - `frontend/historico.html` - `frontend/assets/js/historico.js` - `frontend/assets/js/historico-recent-live.js` - `frontend/assets/css/historico.css` - Show score when result exists. - Show `Ver detalles` internal link for every match with internal detail support. - Show `Ver scoreboard` or `Ver partida externa` only when `match_url` exists. - If a match has no score yet, show `En curso` or `Resultado no disponible` instead of `---` when a better status exists. - Keep cards compatible with existing API fallback payloads. ## Validation Commands - `node --check frontend/assets/js/historico.js` - `node --check frontend/assets/js/historico-recent-live.js` if changed - `docker compose up -d --build backend frontend` ## Manual Verification Steps - Open `http://localhost:8080/historico.html`. - Confirm scores appear where available. - Confirm internal detail link is visible when supported. - Confirm external scoreboard link appears only when `match_url` exists. - Confirm there is no Elo/MVP/server #03/snapshot wording. - Confirm `git diff --name-only` matches the allowed scope. ## Git Requirements - Create a dedicated branch for this task, for example `codex/task-127-recent-match-actions`. - Run relevant validation before committing. - Stage only intended files. - Commit the completed implementation. - Push the branch to origin. ## Outcome Updated recent match cards to consume materialized RCON recent-match fields. Cards now show available scores, a friendly result status/source, an internal `Ver detalles` link built from `internal_detail_match_id` or `match_id`, and an external scoreboard link only when `match_url` is present. The rendering keeps paused Elo/MVP blocks out of the page, does not reintroduce Comunidad Hispana #03, and avoids visible "snapshot" wording. Missing-score RCON competitive-window rows render as in-progress instead of placeholder dashes. ## Validation Result - Passed: `node --check frontend/assets/js/historico.js` - Passed: `node --check frontend/assets/js/historico-recent-live.js` - Passed: `docker compose up -d --build backend frontend` - Browser-verified `http://localhost:8080/historico.html`. - Confirmed recent cards show internal detail links and materialized RCON score `3 - 2`. - Confirmed external scoreboard links are not rendered when `match_url` is absent. - Confirmed no visible Elo/MVP/Comunidad Hispana #03/snapshot wording appears.