# Build 20260812-75 — Web Push Agentes: destinatario real y autorecuperación

## Problema confirmado en el código
Las versiones 72–74 trataban `Agente` y `Supervisor` como roles mutuamente excluyentes al crear la cola `ticket_assigned`. Sin embargo, en el proyecto los usuarios internos (`user.is_client=0`) aparecen como Agentes en el módulo Usuarios, y un mismo usuario puede además figurar como supervisor de un área. En ese caso el ticket podía quedar asignado al usuario, pero `serintsaWebPushQueueTicketAssigned()` devolvía 0 y no creaba la notificación.

## Correcciones
- `ticket_assigned` acepta como destinatario a cualquier usuario interno activo, no administrador, al que el ticket esté realmente asignado (`tickets.asigned_id`).
- Ya no se descarta la notificación porque el mismo usuario también supervise una o más áreas.
- Al guardar/renovar una suscripción de un usuario interno se reconstruyen colas de asignaciones recientes (hasta 180 minutos) y se procesan inmediatamente.
- El backfill usa `tickets.asignado` en la clave idempotente para evitar duplicados.
- El panel de diagnóstico del Administrador ahora muestra suscripciones de agentes, colas `ticket_assigned` pendientes, último destinatario, último estado HTTP y último error específico de entrega a agentes.
- Se fuerza versión de JS/Service Worker `20260812-75` para evitar caché del build anterior.

## No modificado
- VAPID y `webpush.local.php`.
- Cron de cPanel.
- Notificaciones de Supervisores por tickets creados.
- Notificaciones de Empleados por tickets finalizados.
