# Build 20260811-64 — Web Push: entregas pendientes de suscripciones inactivas

## Problema observado
El diagnóstico mostraba colas procesadas pero `Enviados ahora: 0` y `Fallidos/reintentos: 0`, mientras seguían existiendo entregas `pending`.

La causa compatible con ese estado era que versiones anteriores podían dejar entregas `pending/retry` ligadas a suscripciones posteriormente desactivadas. El emisor solo selecciona suscripciones `active=1`, pero el cálculo del estado de la cola contaba también esas entregas inactivas; por eso una cola podía permanecer `partial` indefinidamente sin enviar ni fallar.

## Correcciones
- Las entregas `pending/retry` asociadas a suscripciones inactivas pasan a `expired` y dejan de bloquear la cola.
- El estado de cada cola se calcula solo con suscripciones activas.
- Al reactivar una suscripción que volvió a responder correctamente, entregas `failed/expired` recuperables pueden volver a `pending`.
- Se registra explícitamente cualquier error SQL al consultar entregas.
- El diagnóstico diferencia:
  - pendientes globales,
  - pendientes con suscripción activa,
  - pendientes con suscripción inactiva,
  - pendientes del Supervisor actual.
- El Cron informa cuántas entregas inactivas descartó y cuántos errores de consulta encontró.
- Se fuerza `supervisor_browser_notifications.js?v=20260811-64` para evitar caché del diagnóstico anterior.

## Seguridad
El parche no incluye ni modifica `admin/config/webpush.local.php` ni claves VAPID.
