250 Commits (90265939c63d1229f9eb20f78e25f422e42dc203)

Author SHA1 Message Date
borja 3039af3a43 fix: evitar duplicar recordatorio diario, filtrar por grupos y limitar a 10
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja cae5a7f1f6 feat: implementar ventana de gracia para recordatorios y métricas
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja 275f5adfde feat: validar y normalizar fechas explícitas (YYYY-MM-DD y YY-MM-DD)
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja b39ca2041a fix: corregir texto del footer para usar 'responsable'
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja 1635d0af17 fix: actualizar encabezado de lista de tareas activas
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja cdcc5091cb feat: añade pie de página con instrucción para ver tareas sin dueño
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja c912ee362e feat: añadir /admin ver todos para listar tareas activas globales
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert cd453afbce feat: exponer group_sync_seconds_until_next y adaptar tests
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert a5eedb5c7f fix: usar '' como fallback para community_id al insertar grupos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 4dfac4a6e7 fix: reiniciar db AllowedGroups tras discovery y quitar retorno
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 228f2d40a2 feat: habilitar sync multicomunidad y persistir nombres de grupos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 46d172fc12 feat: permitir forzar sync de grupos y completar labels faltantes
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert abfa9b73a7 feat: añadir alias para comandos de admin y actualizar tests
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja 95abc8d025 fix: alinear dbInstance de AllowedGroups con la del servidor antes del seed
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja ad26dd5175 feat: guarda label en allowed_groups y actualiza en upsertGroups
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja 662c335824 feat: instrumentar métricas de allowed_groups, admin, commands y sync
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja df8f8a7096 feat: sembrar ALLOWED_GROUPS desde env y exponer métricas en /metrics
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja bf46976b1c fix: limpiar caché de AllowedGroups al activar gating por grupos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja 78efc857bc feat: mostrar resumen '… y N más' en recordatorios cuando hay tope
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja db9f71abaa feat: aplicar gating por AllowedGroups en tareas y recordatorios
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja c51cb3f124 feat: notifica a ADMIN_USERS al descubrir grupos (modo discover)
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja adad0a0609 refactor: normalizar IDs de WhatsApp eliminando dominio y separador
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja 7308c73a79 fix: normalizar ID de WhatsApp para usuarios y grupos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja ae0a853b63 feat: agrega AdminService y comandos /admin con bypass del gating
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja 302ba6daa8 feat: aplicar gating en syncMembersForActiveGroups y añadir pruebas
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja 37db7b283d fix: asegurar grupo existente en DB; actualizar prueba de gating
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja d747e7aa4b feat: activar gating de grupos en CommandService y GroupSyncService
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja a03604d293 feat: implementar gating de grupos en server en modo enforce
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja c7c0491200 feat: implementar descubrimiento de grupos desconocidos (discover)
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja 0fa985c145 feat: añadir migración v9_allowed_groups y servicio AllowedGroups
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 8b701e9435 feat: mostrar id de tarea al quedar sin responsable
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 9d3636b828 fix: corregir errores de sintaxis y alcance en CommandService
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 0e90dbfa0f fix: eliminar línea innecesaria y alinear sangría en CommandService
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 6031207c6f fix: usar resolvedId en respuestas y añadir display_code en tareas
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 133d7670fb feat: añade display_code global para tareas, con migración y render
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 4a8523746e mejora más la ayuda, buen punto al que volver si algo falla más adelante. Aquí funciona de to 10 months ago
brobert 7c66dac01d afina ayuda. está en un buen punto donde funciona todo, pendiente de hacer cambios para autojoin a grupos 10 months ago
brobert 670a2488c3 fix: filtrar IDs numéricos en mentioned al resolver alias
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 3d9f044f34 feat: añadir caché en memoria para alias y resolver solo IDs numéricos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 9b57662a6b feat: permitir múltiples IDs en /t x y /t tomar (espacios o comas; máx 10)
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert ac0c5ff064 fix: resolver ids de usuarios con IdentityService al devolver resultados
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 0e07efd155 feat: resolver alias de IDs de miembros durante la sincronización de grupos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 029a632e9d feat: añadir scheduler de grupos y arrancarlo al iniciar el servicio
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 098e135b11 feat: añadir modo weekdays en recordatorios con hora configurable
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert a8448fa4dd fix: usar MAX_MEMBERS_SNAPSHOT_AGE_MS y snapshot_fresh para last_sync_ok
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 753e0688ec fix: calcular last_sync_ok usando métrica o fallback a lv
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert e526707bf7 fix: omitir CHATBOT_PHONE_NUMBER en la validación de entorno
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 48c031441b fix: quitar autocorrección de URL interna y permitir Docker en producción
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert 67caca8b26 feat: añadir IdentityService para mapear alias a números
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
brobert f4b0e4433e fix: priorizar participantAlt para sender JID en grupos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
10 months ago
borja bae6678a0e fix: ignorar mensajes de grupos inactivos en modo test
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 0d29200dd7 feat: asegurar grupo al instante y sincronizar miembros ante eventos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja e8e319afb0 afina algunos formatos de mensajes, a ver si no petan los tests 11 months ago
borja 12d18322ff refactor: quitar cursivas de descripciones y añadir saltos entre grupos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja fe5a8d29cb feat: aplicar codeId y monoespacio en listados, ayudas y mensajes
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 60ed92970b refactor: reemplazar ackParts por ackLines y usar codeId en mensajes
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja b4f6d525e1 fix: usar id directo y formatear con ) en listado de tareas
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 3824c6c6c9 fix: usar codeId para IDs en listados, acuse y completado
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja ac158416a5 fix: usar id en completada y generar ack en formato compacto
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 135fee7773 feat: actualizar guía rápida y formato de mensajes de tarea completada
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja ca09b82390 fix: adaptar formato de respuestas al modo compacto
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 0401f1661c fix: estandarizar mensajes de tarea con codeId(id) y texto de estado
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 05952efbf3 feat: añadir formatting.ts para IDs 4 dígitos y fechas
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 8983cfa453 feat: añade métricas, health detallada, mantenimiento y tests
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja b686d20caa refactor: activar FK, eliminar baseline y log persistente de migraciones
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja a34739d5ed feat: añadir alias para ver todos y mapear alcance en comandos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 845fb86f57 fix: ajustar ver todos para mostrar sin responsable por grupo
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja de544c42de feat: agregar verificación de membresía y filtrado por snapshot
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja e11978663d fix: quitar bypass de rate limit en pruebas de GroupSync
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja c306b2a762 fix: usar process.env en GroupSync y mejorar parseo de participantes
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja a092a25234 feat: agregar sincronización de miembros con Evolution API y webhooks
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 61add46ede feat: crear tabla group_members y reconciliar miembros de grupos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja bdba776b5c feat: activar WAL en SQLite y actualizar STATUS.md y .gitignore
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja bff4c99876 feat: hacer dinámico el mensaje del límite por minuto y README
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 21e01c7470 fix: ajustar formato del mensaje de tarea completada
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 3b41c01360 fix: cambiar 'dueño' a 'responsable' y quitar comillas en descripciones
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja f22fff887c feat: centralizar iconos en ICONS y actualizar mensajes a nuevos iconos
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 5c49f16c4e feat: añadir recordatorios por DM diarios/semanales y configuración
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 530c0f6f70 fix: shouldNotify maneja undefined y admite primer aviso por usuario
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 9668802cbe feat: añade limitador de tasa por usuario (15/min) y tests
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 831778ce51 feat: usar TZ por entorno y parsear 'hoy'/'mañana' como fechas
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 57f5dd04e6 feat: añadir soporte de tomar y soltar tareas (claim/unassign)
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja a4c0d49991 fix: añadir cabecera 'Tus tareas' y aplicar COALESCE en filtros
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 137e0d2d07 feat: añade alias para tomar/soltar y ver sin/todos con consultas por grupo
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 3f9280eb1a feat: añadir limpieza/retención de response_queue (borrado duro)
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 79b5d83f5b feat: habilitar reintentos con backoff exponencial + jitter en cola
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja efe8aaef89 feat: añadir migrador de migraciones up-only para SQLite
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 4a305dc007 fix: usar remitente correcto en DMs y evitar Invalid sender ID
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja a1df163db0 feat: añadir conteos de pendientes y mostrar… y X más en /t ver
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 218080ae45 feat: Fase 3: listar pendientes y completar tareas por DM (dd/MM)
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 48d750b648 fix: silenciar errores DB en webhook y actualizar pruebas de TaskService
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 90d78bf195 refactor: asegurar created_by y usuarios al asignarlos en TaskService
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 714c7a6c4e feat: habilita /t y /tarea con parsing de fechas y respuestas compactas
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 2a3345e21c fix: evitar llamadas de red en tests desde ContactsService
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 89398d2dfd fix: añadir metadata a response_queue y unificar ack en CommandService
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 4f6f483a27 feat: añadir menciones del creador y de asignados en notificaciones
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 4a1baca559 feat: agregar notificaciones DM a creador y asignados; grupo desactivado
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja bfb9f44b69 refactor: añade rutas Evolution para obtener nombre de contacto
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 8fdac8b49f fix: enviar siempre la respuesta por DM al creador
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago
borja 3ff63f1503 feat: añadir ContactsService y usar nombres en menciones de usuarios
Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
11 months ago