/api/health afirma database:'connected' sin consultar nunca la base
src/app/api/health/route.ts devuelve database: 'connected' como string hardcodeado en la rama autenticada. La ruta NO consulta la base: ni checkout del pool ni SELECT 1. Reporta 'connected' igual con Postgres caido o inalcanzable. Encontrado 2026-09-04 por coder02-mba-l-cc descartando una supuesta regresion del payload, que no lo era: las tres formas del payload dependen de la sesion y el gateo viene de MOBAAPI-671 (commit 3e7fea6d, julio), no de los pushes de hoy. No urgente: hoy nada consume /api/health para alertas; se vuelve urgente el dia que algo lo consuma, porque un health check que afirma una dependencia que no prueba se cree. Arreglo: probar la conexion de verdad (SELECT 1 con timeout corto) y devolver el resultado, o sacar el campo. Un campo que siempre dice lo mismo es peor que ausente.
Activity
-
SHIPPED a DEV v5.4.139 (commit 50c3d38a). La rama autenticada corre 'select 1' por el pool y reporta database connected|unreachable; status pasa a 'degraded' si la sonda falla. La rama ANONIMA no se toco y sigue retornando antes de la sonda: un caller publico no puede hacernos abrir conexion (restriccion MOBAAPI-677). Verificado por proxy en dev01: autenticado devuelve el payload completo con database 'connected'; anonimo devuelve exactamente {status, serviceId} sin fuga de ts/environment/requestId. NO SE CIERRA: la rama de FALLA nunca corrio. Nadie tiene forma de bajar la base de DEV, asi que 'connected' es hoy un valor que solo produjo una base sana - exactamente la forma del defecto que se acaba de arreglar. Un gate que solo paso esta sin probar. Cierra cuando se ejercite 'unreachable' contra un pool apuntado a un puerto muerto en un proceso descartable (NUNCA bajando DEV).
-
coder02 lo toma 2026-09-07 15:06.
-
Ya estaba arreglado en dev al ir a tomarlo: src/app/api/health/route.ts hace pool.query('select 1') y devuelve database 'connected'/'unreachable', con status 'degraded' cuando falla. La sonda esta SOLO en el camino autenticado -el anonimo retorna antes-, asi que un llamador publico no puede hacernos abrir una conexion. Cerrado sin commit nuevo: el item estaba desactualizado, no el codigo.