7.3 KiB
id, title, status, type, team, supporting_teams, roadmap_item, priority
| id | title | status | type | team | supporting_teams | roadmap_item | priority | |
|---|---|---|---|---|---|---|---|---|
| TASK-222 | Fix historical match detail backend URL and false KPM | done | frontend | Frontend Senior |
|
foundation | high |
TASK-222 - Fix historical match detail backend URL and false KPM
Goal
Corregir frontend/historico-partida.html para que el detalle de una partida historica no intente conectar con 127.0.0.1:8000 en produccion y eliminar el KPM falso calculado con la duracion total de la partida.
Context
La pagina de detalle historico lee /api/historical/matches/detail?server=<server>&match=<match>. En produccion, el frontend no debe usar http://127.0.0.1:8000 como backend por defecto porque eso apunta al PC del usuario. Ademas, la tabla de jugadores mostraba KPM calculado como kills / duration_seconds de la partida completa, lo que no representa tiempo real jugado por jugador.
Preserve the current product identity: Spanish-speaking HLL Vietnam community, military/Vietnam/tactical/sober visual direction and controlled repository evolution.
Steps
- Leer primero los archivos listados y confirmar el fallback de backend y el uso de KPM.
- Corregir la resolucion de URL de backend en
historico-partida.jssin ampliar el alcance a otros modulos. - Confirmar que el detalle sigue llamando a
/api/historical/matches/detail?server=<server>&match=<match>. - Eliminar de
historico-partidala exposicion de KPM si no existeplayer_active_secondsreal. - Validar sintaxis y revisar el alcance del diff.
Files to Read First
ai/architecture-index.mdai/repo-context.mdai/orchestrator/frontend-senior.mdfrontend/historico-partida.htmlfrontend/assets/js/historico-partida.jsdocs/REAL_KPM_PLAYER_ACTIVE_SECONDS_DESIGN.md
Tambien se revisaron:
frontend/assets/js/historico.jsfrontend/assets/js/historico-recent-live.jsfrontend/assets/js/ranking.jsfrontend/assets/js/config.jsfrontend/assets/css/historico.cssai/tasks/done/TASK-216-clean-ranking-ui-and-fix-kpm-metric.md
Expected Files to Modify
frontend/historico-partida.htmlfrontend/assets/js/historico-partida.jsai/tasks/done/TASK-222-fix-historical-match-detail-backend-url-and-false-kpm.md
Constraints
- Keep the change minimal.
- Preserve HLL Vietnam project identity.
- Do not introduce unnecessary frameworks or dependencies.
- Do not implement backend functionality unless frontend diagnosis proves it is necessary.
- No ejecutar
ai-platform run. - No hacer push.
- No tocar assets de armas.
- No tocar SVGs.
- No modificar imagenes fisicas.
- No tocar
ai/system-metrics.md. - No reactivar Elo/MMR.
- No reintroducir Comunidad Hispana #03.
- No incluir cambios previos no relacionados.
- Mantener compatibilidad con desarrollo local si existe
data-backend-base-url. - No publicar KPM sin
player_active_secondsreal.
Validation
Before completing the task ensure:
node --check frontend/assets/js/historico-partida.js- Si se tocan otros JS,
node --checktambien. - Validar por navegador o inspeccion que el detalle no intenta
127.0.0.1. - Confirmar que la llamada de detalle usa
/api/historical/matches/detail?server=<server>&match=<match>. - Validar que no queda texto KPM falso en
historico-partida. git diff --name-onlymatches the expected scope, except pre-existing unrelated changes.- Confirmar que no se tocaron backend, assets de armas, SVGs, imagenes fisicas ni
ai/system-metrics.md.
Outcome
Archivos modificados por esta task:
frontend/historico-partida.htmlfrontend/assets/js/historico-partida.jsai/tasks/done/TASK-222-fix-historical-match-detail-backend-url-and-false-kpm.md
Causa exacta corregida:
frontend/historico-partida.htmlteniadata-backend-base-url="http://127.0.0.1:8000".frontend/assets/js/historico-partida.jsusabadocument.body.dataset.backendBaseUrl || "http://127.0.0.1:8000".- En produccion, esa combinacion podia construir llamadas contra el localhost del usuario. La pagina de detalle ya no define localhost en el HTML y el JS resuelve primero
data-backend-base-urlsi existe, luegowindow.HLL_FRONTEND_CONFIG.backendBaseUrl, y si no hay configuracion usa URL relativa para/api.
Endpoint de detalle:
- Se confirmo que
historico-partida.jsmantiene la llamada a/api/historical/matches/detail?server=<server>&match=<match>. - El backend local no estaba escuchando en
http://127.0.0.1:8000, por lo que no se pudo obtener una respuesta real del endpoint local. - No se toco backend porque el fallo confirmado en esta task era frontend y no hubo evidencia de error backend.
Decision sobre KPM falso:
- Se elimino KPM del detalle de partida hasta que exista
player_active_secondsreal. - Se quitaron la opcion de orden
KPM, la cabecera de columnaKPM, la celda por jugador, el chip del panel ampliado y las funcionesformatKpm/getKpmValue. duration_secondspermanece solo para mostrar la duracion de la partida en el marcador, no para calcular rendimiento por jugador.- No se toco la logica de ranking
Kills/partidacorregida enTASK-216.
Otros fallbacks localhost detectados:
- Siguen existiendo paginas publicas con
data-backend-base-url="http://127.0.0.1:8000"o JS que lee ese dataset enstats,historico,ranking,partida-actual,indexyhistorico-recent-live. - No se corrigieron en esta task para no ampliar alcance.
frontend/assets/js/config.jsya tiene una capa de reescritura defensiva, pero esos puntos quedan como deuda de endurecimiento fuera de esta causa directa.
Validaciones ejecutadas:
node --check frontend/assets/js/historico-partida.jsrg -n "KPM|getKpmValue|formatKpm|kpm|kills_per_minute|player_active_seconds" frontend/historico-partida.html frontend/assets/js/historico-partida.jsrg -n "api/historical/matches/detail|server=|match=" frontend/assets/js/historico-partida.jsInvoke-WebRequest -UseBasicParsing -Uri 'http://127.0.0.1:8000/api/historical/matches/detail?server=all-servers&match=__validation__' -TimeoutSec 5git diff --name-onlygit status --short -- ai/tasks/pending ai/tasks/in-progress ai/tasks/done frontend/historico-partida.html frontend/assets/js/historico-partida.js backend frontend/assets/img/weapons ai/system-metrics.md
Resultado de validaciones:
node --checkpaso sin errores.- No queda texto ni funcion KPM en
historico-partida.htmlnihistorico-partida.js. - La llamada de detalle conserva el endpoint esperado.
- La prueba HTTP local fallo con
No es posible conectar con el servidor remoto; se documenta como backend local no disponible, no como fallo del endpoint. - El navegador integrado no estaba disponible en esta sesion (
iabno expuesto), asi que la validacion de red en navegador no pudo ejecutarse. La URL construida queda relativa cuando no hay backend configurado, por lo que ya no apunta a127.0.0.1.
Confirmacion de exclusiones:
- No se ejecuto
ai-platform run. - No se hizo push.
- No se hizo commit.
- No se toco backend.
- No se tocaron assets de armas.
- No se tocaron SVGs.
- No se modificaron imagenes fisicas.
- No se toco
ai/system-metrics.md. - No se reactivo Elo/MMR.
- No se reintrodujo Comunidad Hispana #03.
- No se incluyeron cambios previos no relacionados.
Change Budget
- Prefer fewer than 5 modified files.
- Prefer changes under 200 lines when feasible.
- Split the work into follow-up tasks if limits are exceeded.