|  borja | 3a161e2821 | feat: mostrar siempre la URL ICS usando token_plain y migración Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 weeks ago | 
				
					
						|  borja | 331b21ec71 | fix: añadir fallback de migraciones y export de crypto Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 weeks ago | 
				
					
						|  borja | 73ae69892f | feat: añadir migración calendar-tokens y servicio ICS de tokens Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 2 weeks ago | 
				
					
						|  borja | 689e030a83 | feat: agregar /admin allow all para habilitar pendientes de grupos Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 3 weeks ago | 
				
					
						|  brobert | 90771eb34a | fix: usar dígitos del jid como fallback al normalizar WhatsApp ID Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 3 weeks ago | 
				
					
						|  brobert | bd0fda2248 | fix: endurece GroupSyncService y activa métricas en tests web-login Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 3 weeks ago | 
				
					
						|  brobert | 6082574a52 | chore: silenciar logs del migrador en test para reducir ruido Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 3 weeks ago | 
				
					
						|  brobert | c8c4fdd927 | feat: añadir soporte para /t web con tokens de login y util crypto Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 3 weeks ago | 
				
					
						|  brobert | f6672ec52b | feat: agrega migración v10 para web_tokens y web_sessions Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 3 weeks ago | 
				
					
						|  brobert | 3d6c446547 | feat: dar prioridad a DB_PATH sobre DATA_DIR en la BD SQLite Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 3 weeks ago | 
				
					
						|  borja | e647ad7c3a | feat: añadir DATA_DIR para DB compartida y configurar Bun workspaces Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 3 weeks ago | 
				
					
						|  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> | 3 weeks ago | 
				
					
						|  borja | cae5a7f1f6 | feat: implementar ventana de gracia para recordatorios y métricas Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 3 weeks 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> | 3 weeks ago | 
				
					
						|  borja | b39ca2041a | fix: corregir texto del footer para usar 'responsable' Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | 1635d0af17 | fix: actualizar encabezado de lista de tareas activas Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month 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> | 1 month 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> | 1 month ago | 
				
					
						|  brobert | cd453afbce | feat: exponer group_sync_seconds_until_next y adaptar tests Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  brobert | a5eedb5c7f | fix: usar '' como fallback para community_id al insertar grupos Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  brobert | 4dfac4a6e7 | fix: reiniciar db AllowedGroups tras discovery y quitar retorno Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  brobert | 228f2d40a2 | feat: habilitar sync multicomunidad y persistir nombres de grupos Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  brobert | 46d172fc12 | feat: permitir forzar sync de grupos y completar labels faltantes Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month 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> | 1 month 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> | 1 month ago | 
				
					
						|  borja | ad26dd5175 | feat: guarda label en allowed_groups y actualiza en upsertGroups Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month 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> | 1 month 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> | 1 month ago | 
				
					
						|  borja | bf46976b1c | fix: limpiar caché de AllowedGroups al activar gating por grupos Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month 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> | 1 month ago | 
				
					
						|  borja | db9f71abaa | feat: aplicar gating por AllowedGroups en tareas y recordatorios Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | c51cb3f124 | feat: notifica a ADMIN_USERS al descubrir grupos (modo discover) Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | adad0a0609 | refactor: normalizar IDs de WhatsApp eliminando dominio y separador Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | 7308c73a79 | fix: normalizar ID de WhatsApp para usuarios y grupos Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | ae0a853b63 | feat: agrega AdminService y comandos /admin con bypass del gating Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | 302ba6daa8 | feat: aplicar gating en syncMembersForActiveGroups y añadir pruebas Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | 37db7b283d | fix: asegurar grupo existente en DB; actualizar prueba de gating Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | d747e7aa4b | feat: activar gating de grupos en CommandService y GroupSyncService Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | a03604d293 | feat: implementar gating de grupos en server en modo enforce Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  borja | c7c0491200 | feat: implementar descubrimiento de grupos desconocidos (discover) Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month 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> | 1 month ago | 
				
					
						|  brobert | 8b701e9435 | feat: mostrar id de tarea al quedar sin responsable Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month ago | 
				
					
						|  brobert | 9d3636b828 | fix: corregir errores de sintaxis y alcance en CommandService Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month 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> | 1 month 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> | 1 month 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> | 1 month ago | 
				
					
						|  brobert | 4a8523746e | mejora más la ayuda, buen punto al que volver si algo falla más adelante. Aquí funciona de to | 1 month ago | 
				
					
						|  brobert | 7c66dac01d | afina ayuda. está en un buen punto donde funciona todo, pendiente de hacer cambios para autojoin a grupos | 1 month ago | 
				
					
						|  brobert | 670a2488c3 | fix: filtrar IDs numéricos en mentioned al resolver alias Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat> | 1 month 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> | 1 month ago |