# Ajustar la sincronización de grupos y miembros

Configuración por entorno
- GROUP_SYNC_INTERVAL_MS: intervalo para refrescar lista de grupos activos.
- GROUP_MEMBERS_SYNC_INTERVAL_MS: intervalo para refrescar miembros de grupos activos.
- WHATSAPP_COMMUNITY_ID: comunidad a sincronizar desde Evolution API.

Operaciones comunes
- Forzar refresco de caché de grupos:
  - Llama `GroupSyncService.refreshActiveGroupsCache()` tras cambios relevantes.
- Sincronizar miembros de un grupo concreto:
  - `await GroupSyncService.syncMembersForGroup(groupId)`.
- Comprobar frescura de snapshot:
  - `GroupSyncService.isSnapshotFresh(groupId)` en función de `MAX_SNAPSHOT_AGE_MS`.

Puntos de extensión
- API de origen:
  - Implementa/ajusta `(GroupSyncService as any).fetchGroupMembersFromAPI(groupId)` si se mockea/inyecta.
- Reconciliación:
  - `reconcileGroupMembers(groupId, snapshot)` espera objetos `{ userId, isAdmin }`.

Buenas prácticas
- No correr schedulers en test (el servicio ya lo evita).
- Usa transacciones al actualizar tablas de grupos/miembros (ya integrado en upsert).
