|  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> | 1 month ago | 
				
					
						|  brobert | ac0c5ff064 | fix: resolver ids de usuarios con IdentityService al devolver resultados Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month 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> | 1 month 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> | 1 month ago | 
				
					
						|  brobert | 098e135b11 | feat: añadir modo weekdays en recordatorios con hora configurable Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month 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> | 1 month 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> | 1 month 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> | 1 month 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> | 1 month ago | 
				
					
						|  brobert | 67caca8b26 | feat: añadir IdentityService para mapear alias a números Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  brobert | f4b0e4433e | fix: priorizar participantAlt para sender JID en grupos Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | bae6678a0e | fix: ignorar mensajes de grupos inactivos en modo test Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 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> | 2 months ago | 
				
					
						|  borja | e8e319afb0 | afina algunos formatos de mensajes, a ver si no petan los tests | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 months ago | 
				
					
						|  borja | ca09b82390 | fix: adaptar formato de respuestas al modo compacto Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 months ago | 
				
					
						|  borja | 21e01c7470 | fix: ajustar formato del mensaje de tarea completada Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 months ago | 
				
					
						|  borja | 79b5d83f5b | feat: habilitar reintentos con backoff exponencial + jitter en cola Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 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> | 2 months ago | 
				
					
						|  borja | 2a3345e21c | fix: evitar llamadas de red en tests desde ContactsService Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 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> | 2 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> | 2 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> | 2 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> | 2 months ago | 
				
					
						|  borja | 8fdac8b49f | fix: enviar siempre la respuesta por DM al creador Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 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> | 2 months ago | 
				
					
						|  borja | 7a901c9d95 | feat: enviar al grupo si está activo; si no, al creador Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 133058caeb | feat: aceptar tokens @user como asignados y combinar con menciones Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | de70cd863b | fix: usar assignmentUserIds para mentionsForSending Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 59605e01e8 | le pido que me console loguee lo que manda de payload para ver cómo hace lo de las menciones | 2 months ago | 
				
					
						|  borja | a6ec631329 | feat: agregar columna metadata a response_queue Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 6c9f744f1f | feat: habilita menciones en mensajes y limpia descripciones de tareas Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | a209c40ac3 | feat: centralizar /tarea en CommandService y usar DB Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 703ea61c67 | refactor: migrar a bun:sqlite y adaptar servicio/tareas y pruebas Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 7b9928937b | feat: añadir TaskService con dbInstance y tests unitarios Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 94f6813cb2 | fix: persistir tarea con created_by y asignaciones en transacción Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 939cf1ac9f | feat: normalizar evento webhook y registrar rawEvent en logs Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 8bdb851062 | feat: iniciar worker de ResponseQueue y mejorar procesamiento Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 6c70e1dce7 | feat: persistir respuestas en la cola con DB Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | b80cc3ea3c | feat: crear tabla response_queue, actualizar tests DB y README Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 9f339ad218 | fix: hacer público el cache de grupos para tests Co-authored-by: aider (openrouter/x-ai/grok-code-fast-1) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 69a5747cf9 | fix: arreglar cache de grupos en tests unitarios Co-authored-by: aider (openrouter/x-ai/grok-code-fast-1) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 8177a8eaa9 | refactor: implementar procesamiento de comandos directamente en handleMessageUpsert Co-authored-by: aider (openrouter/x-ai/grok-code-fast-1) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 206949aabe | feat: agregar verificación de grupos activos Co-authored-by: aider (openrouter/x-ai/grok-code-fast-1) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | d6604dfb2f | feat: integrar validación de usuarios en procesamiento de mensajes Co-authored-by: aider (openrouter/x-ai/grok-code-fast-1) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 93bbd923ae | fix: inyectar base de datos de prueba en WebhookServer para tests unitarios Co-authored-by: aider (openrouter/x-ai/grok-code-fast-1) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | d97db3507d | feat: integrar verificación de existencia de usuario en manejo de mensajes Co-authored-by: aider (openrouter/x-ai/grok-code-fast-1) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja | 02f931e055 | feat: Añadir normalización del ID del remitente Co-authored-by: aider (openrouter/x-ai/grok-code-fast-1) <aider@aider.chat> | 2 months ago | 
				
					
						|  borja (aider) | 015204f1cc | fix: manejar error EEXIST al crear directorio data | 2 months ago | 
				
					
						|  borja (aider) | 5fce8e72e9 | feat: mover base de datos a carpeta data | 2 months ago | 
				
					
						|  borja (aider) | 6e4720d7cd | debug: añade logging temporal para diagnóstico de sincronización | 2 months ago | 
				
					
						|  borja (aider) | ff0923f3cb | fix: maneja WHATSAPP_COMMUNITY_ID no definido mostrando comunidades | 2 months ago | 
				
					
						|  borja (aider) | e59ce7319e | feat: Muestra IDs de comunidades disponibles cuando WHATSAPP_COMMUNITY_ID no está definido | 2 months ago | 
				
					
						|  borja (aider) | d0f8442e65 | fix: use strftime for millisecond timestamp precision in SQLite | 6 months ago | 
				
					
						|  borja (aider) | fbf76036f5 | feat: implement ensureUserExists, add foreign keys and tests | 6 months ago | 
				
					
						|  borja (aider) | be653f0355 | feat: add WhatsApp ID normalization utility | 6 months ago | 
				
					
						|  borja (aider) | dd32a3dd11 | test: use in-memory database for tests | 6 months ago | 
				
					
						|  borja (aider) | 17437c6e28 | feat: improve command parsing to handle multiple dates and invalid date formats | 6 months ago | 
				
					
						|  borja (aider) | 0477530757 | fix: properly extract dates and count mentions in /tarea command | 6 months ago | 
				
					
						|  borja (aider) | d232e8db5f | fix: skip debug logs in test environment | 6 months ago | 
				
					
						|  borja (aider) | 284e35b0eb | feat: update database schema for user tracking | 7 months ago | 
				
					
						|  borja | da659f2130 | añado que loguee lo que pilla para mostrar el grupo y el mensaje y así poder ver cómo hago para ver usuarios | 7 months ago | 
				
					
						|  borja (aider) | e762a7c840 | docs: document EvolutionGroup type with API response format | 7 months ago | 
				
					
						|  borja (aider) | 50133ecb9a | feat: handle direct array response in group sync API | 7 months ago | 
				
					
						|  borja | 244a6e9483 | toqueteo un poco en cómo hago el fetchAllGroups a ver si consigo que me mande la respuesta que sí me funciona con curl pero no haciendo un fetch | 7 months ago |