Commit Graph

103 Commits

Author SHA1 Message Date
e698cc795a fix
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
2025-11-22 02:12:42 -06:00
028d7e54c8 mejoras UI 4
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 11s
2025-11-22 02:07:57 -06:00
99a2137daa mejoras UI 3
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
2025-11-22 01:57:19 -06:00
1478ad9e09 mejoras de UI 2
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
2025-11-22 01:50:46 -06:00
990b87fca0 mejorar de UI
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
2025-11-22 01:44:17 -06:00
a395dcbd62 Fix: Usar host único de Postgres para evitar conflictos en red compartida
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
Cambio de 'postgres' a 'lotes-postgres' para evitar errores 28P01 causados
por resolución de DNS a instancias incorrectas en la red principal.
2025-11-22 01:35:27 -06:00
6331199e4a el dice que estoy lo arregla pa siempre 2025-11-22 01:32:20 -06:00
f551fa67ed mejorando la trazabilidad
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
2025-11-22 01:18:37 -06:00
0bdb5013f7 veamo
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
2025-11-22 01:10:37 -06:00
2500cb1181 arreglelo plix
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
2025-11-22 01:00:30 -06:00
47c42cbcf3 seguimos confiando en codex
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
2025-11-22 00:57:13 -06:00
9b1628485f codex es otro pedo, lo soluciono
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m7s
2025-11-22 00:48:21 -06:00
5b9445ca2d Simplificar configuración de PostgreSQL con cadena de conexión única
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
Eliminados hacks de autenticación md5 y configuración manual de pg_hba.conf.
Ahora usa NUXT_POSTGRES_URL como secret de Gitea para conexión directa.
2025-11-22 00:31:47 -06:00
2d04966388 seguimos con postgress
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
2025-11-22 00:18:23 -06:00
158f9551a8 mas cambios al postgress
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 5s
2025-11-22 00:15:01 -06:00
712412f944 cambios en postgress, no me esta gustando el problema de autenticacion
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 1m6s
2025-11-22 00:04:30 -06:00
12da05bfe7 Fix: Envolver componentes en ClientOnly para evitar error SSR
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m7s
Los componentes LotesTable y OperacionesTable usan UTable de Nuxt UI,
que internamente usa @tanstack/table-core. Esta librería no puede
renderizarse en el servidor (SSR), causando error 500.

Solución: Envolver los componentes en <ClientOnly> para que solo se
rendericen en el navegador.
2025-11-21 23:46:36 -06:00
bd31838139 Debug: Agregar plugin de error handler y más logging
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Crear plugin error-handler.ts para capturar todos los errores
- Captura errores de app:error, vue:error y errorHandler
- Agregar logs en script setup de componentes
- Logs antes y después de llamar a useLotes()
- Esto nos mostrará exactamente dónde crashea la app
2025-11-21 23:42:08 -06:00
b0b179d945 Debug: Agregar logging extensivo en servidor y cliente
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
- Logs en useLotes() para ver cuándo se llama
- Logs en fetchLotes() para rastrear el flujo
- Logs en API /api/lotes para ver requests del servidor
- Todos los logs con emojis para fácil identificación:
  🔵 = Cliente/Composable
  🟦 = Servidor/API
   = Errores
2025-11-21 23:39:11 -06:00
2ca062b9e0 Fix: Deshabilitar useToast en SSR para evitar crash
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
El problema era que useToast() no funciona en Server-Side Rendering.
Cuando los componentes se renderizaban en el servidor, crasheaba con error 500.

Cambios:
- Hacer que toast sea opcional: process.client ? useToast() : null
- Cambiar todos toast.add() a toast?.add()
- Ahora el composable funciona tanto en servidor como en cliente
2025-11-21 23:36:01 -06:00
da5032ad54 Debug: Agregar manejo robusto de errores en componentes
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
- Agregar try-catch en loadLotes/loadOperaciones
- Agregar try-catch en onMounted y watch
- Agregar estado de error y mostrar mensaje en UI
- Agregar console.log detallados para debug
- Mostrar errores en tarjeta roja sin crashear la app
2025-11-21 23:30:12 -06:00
01e99609c9 Fix: Restaurar componentes completos de Lotes y Operaciones
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Restaurar LotesTable completo con onMounted y watch
- Habilitar carga automática de datos
- Base de datos recreada con credenciales correctas
- Conexión PostgreSQL funcionando correctamente
2025-11-21 23:25:16 -06:00
120e1871e5 Test: Simplificar LotesTable para debug de hidratación
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 2m30s
Componente ultra simple sin composables complejos ni Nuxt UI
para aislar el problema de hidratación SSR.
2025-11-21 23:07:08 -06:00
039bf47d21 masiso
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
2025-11-21 23:03:31 -06:00
acafcd1390 Fix: Usar nombres correctos de componentes LotesLotesTable y OperacionesOperacionesTable
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
2025-11-21 23:00:19 -06:00
a385f58500 otra vez cambiesito facil de codex 2025-11-21 22:58:45 -06:00
85bcd5737c Debug: Deshabilitar onMounted y watch en componentes de tablas
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m3s
2025-11-21 22:55:17 -06:00
c5d11433e3 Debug: Importar componentes explícitamente en app.vue
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
2025-11-21 22:49:51 -06:00
0857573334 Debug: Agregar console.logs a componentes de tablas
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
2025-11-21 22:46:40 -06:00
c37dbc03f6 UI: Mejorar estilo del header principal
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
2025-11-21 22:41:32 -06:00
f230105be3 Docs: Actualizar título del README
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m3s
2025-11-21 22:39:28 -06:00
00b508ffaf Debug: Agregar headers a tabs para verificar renderizado
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 15s
2025-11-21 20:48:09 -06:00
6f713a5ed1 Fix: Actualizar implementación de UTabs a Nuxt UI v4
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Cambiar selectedTab de ref(0) a ref('lotes') para usar string
- Agregar propiedad value explícita a cada tab item
- Crear documento nuxt-ui-tips.md con documentación de cambios
- Los valores deben ser strings según API de v4
2025-11-21 20:44:04 -06:00
d9ea2fb18d Fix: Actualizar implementación de UModal a Nuxt UI v4
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Cambiar v-model a v-model:open según API de v4
- Agregar slot #content requerido en todos los modales
- Corregir prop :ui para anchos personalizados (content en lugar de width)
- Aplicar clases correctas del tema para max-w-3xl y max-w-4xl
2025-11-21 20:35:58 -06:00
f8045abb5b Documentar peculiaridades de implementación de PostgreSQL
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Agregar sección completa sobre autenticación md5 vs scram-sha-256
- Documentar race condition entre app y PostgreSQL con retry logic
- Explicar idempotencia de scripts (schema vs seed)
- Documentar persistencia de datos y volúmenes Docker
- Incluir troubleshooting detallado de errores comunes
- Agregar diagramas de arquitectura de inicialización
- Documentar endpoints de debug temporales
- Tabla de decisiones técnicas con alternativas descartadas
- Queries útiles y comandos de backup/restore
2025-11-21 20:18:07 -06:00
81934c7088 Fix: Ejecutar schema antes de seed en botón de carga de datos
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Endpoint seed-database ahora ejecuta 01_schema.sql primero
- Luego ejecuta 02_seed.sql
- Resuelve error cuando se presiona seed después de borrar BD
- Schema tiene CREATE TABLE IF NOT EXISTS (idempotente)

Flujo correcto:
1. Borrar BD → DROP TABLE de todo
2. Cargar datos → Crea tablas + inserta datos
2025-11-21 20:09:02 -06:00
2d532e42c6 Agregar retry logic para conexión inicial a PostgreSQL
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Implementar 5 reintentos con 2s de delay entre cada uno
- Resolver error de autenticación en primera carga
- PostgreSQL necesita tiempo para ejecutar 00_configure_auth.sh
- App ahora espera automáticamente hasta que auth esté configurado

Esto resuelve el error 28P01 (password authentication failed)
que ocurría solo en la primera conexión después del deploy.
2025-11-21 20:04:42 -06:00
e5b2331922 Fix: Resolver problemas de inicialización y seed de BD
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
Soluciones implementadas:

1. Copiar archivos SQL al contenedor Docker
   - Agregar COPY de server/database/ en Dockerfile
   - Permite que endpoint seed-database encuentre 02_seed.sql

2. Aumentar timeout de conexión PostgreSQL
   - connectionTimeoutMillis: 2000 -> 10000 (10 segundos)
   - Evita errores de autenticación en primera carga

3. Reducir logs en producción
   - Solo mostrar 'Nueva conexión' en desarrollo
   - Reduce ruido en logs de producción
2025-11-21 20:02:35 -06:00
fdb01ecb0c Documentar funcionalidad de debug en README y PLAN
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
- Agregar sección de botones de debug (temporales) en README
- Documentar endpoints /api/debug/reset-database y /api/debug/seed-database
- Incluir advertencias y flujos de uso recomendados
- Marcar claramente como TEMPORALES con instrucciones de no eliminar
- Actualizar PLAN con endpoints de debug en sección Completado
2025-11-21 19:55:26 -06:00
a6672cdcd0 Modificar reset-database para DROP tablas en lugar de TRUNCATE
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 17s
Problema: Al hacer TRUNCATE, las tablas quedaban vacías pero existían,
entonces el workflow pensaba que ya estaba inicializada y no recreaba
los datos de ejemplo.

Solución: Ahora hace DROP TABLE (eliminar completamente) para que el
próximo deploy detecte que no existen tablas y las recree con el seed.

Ahora el flujo correcto es:
1. Click en 'BORRAR TODA LA BD' → DROP de todas las tablas
2. Push o redeploy → Workflow detecta que no hay tablas
3. Workflow ejecuta 01_schema.sql y 02_seed.sql automáticamente
2025-11-21 19:46:50 -06:00
3a1c3fb7a2 Agregar botones de debug temporales para gestión de BD
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
⚠️ CÓDIGO TEMPORAL - NO ELIMINAR SIN CONSULTAR ⚠️

Backend:
- POST /api/debug/reset-database - Borra todos los datos
- POST /api/debug/seed-database - Carga datos de ejemplo

Frontend:
- Card rojo con advertencias notorias
- Botones: 🗑️ BORRAR TODA LA BD y 🌱 CARGAR DATOS DE EJEMPLO
- Confirmación antes de resetear
- Estados de loading
- Alertas de éxito/error

Todos los archivos marcados con comentarios muy visibles:
⚠️⚠️⚠️ NO ELIMINAR SIN CONSULTAR A DARIO/DRAGANEL/NUCLEO000 ⚠️⚠️⚠️

Útil para desarrollo y debugging del sistema de trazabilidad.
2025-11-21 19:43:04 -06:00
0f8891f77d Actualizar README y PLAN con estado actual del sistema
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
README.md:
- Transformado en documentación completa del sistema de trazabilidad
- Agregadas secciones: Modelo de Datos, API Endpoints, Base de Datos
- Documentado estado de persistencia entre deploys
- Agregado próximo objetivo: Visualización del Grafo
- Actualizada estructura del proyecto
- Ejemplos de uso y configuración

PLAN_TRAZABILIDAD.md:
- Agregada sección 'Estado Actual del Proyecto' al inicio
- Lista de características completadas
- Objetivo actual claramente definido: Visualización del Grafo
- Tecnologías a considerar para implementación
2025-11-21 19:39:34 -06:00
a14ce46ab3 Agregar configuración automática de autenticación PostgreSQL
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m3s
- Script 00_configure_auth.sh configura pg_hba.conf para usar md5
- Se ejecuta automáticamente en inicializaciones de BD
- Soluciona permanentemente problemas de autenticación con driver pg de Node.js
2025-11-21 19:33:46 -06:00
f24f2373f9 Agregar botones de prueba de API en frontend
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Botones simples para probar GET /api/lotes, /api/operaciones y trazabilidad
- Resultados se muestran en console.log del navegador
- Facilita debugging de la API desde el frontend
2025-11-21 19:28:59 -06:00
53b7eb01cb Remover eliminación forzada de volumen - BD inicializada correctamente
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
Los datos ahora persistirán entre deploys.
2025-11-21 19:13:21 -06:00
7c8ba38e04 Forzar recreación de BD eliminando volumen en deploy
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
Esto reinicializará la BD con los scripts corregidos.
Una vez verificado, se puede remover esta línea temporal.
2025-11-21 19:12:00 -06:00
6f49b315cb Corregir script de seed: separar RETURNING en múltiples INSERT
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m3s
PostgreSQL no soporta RETURNING id INTO con múltiples variables cuando
se insertan múltiples filas. Separado en INSERT individuales.
2025-11-21 19:07:06 -06:00
808bb0589e Inicializar BD manualmente después del deploy
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
Los scripts de init de Docker no se ejecutaban porque el bind mount
apunta a un directorio temporal del runner. Ahora ejecutamos los scripts
SQL manualmente después del deploy si las tablas no existen.
2025-11-21 18:59:35 -06:00
659819d0ae Trigger redeploy con nuevas variables (APP_NAME=lotes, dominio=lotes.nucleoriofrio.com)
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
2025-11-21 18:57:44 -06:00
fd9515432a Cambiar dominio a lotes.nucleoriofrio.com y limpiar deploy anterior
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 16s
- Cambiar APP_NAME de 'seguidor-de-lotes' a 'lotes'
- Cambiar dominio de 'seguidor.interno.com' a 'lotes.nucleoriofrio.com'
- Agregar limpieza del deploy anterior en workflow para recrear volumen PostgreSQL
- Esto permitirá que los scripts de init de la BD se ejecuten correctamente
2025-11-21 18:56:17 -06:00