Fixes
Availability notifications verified against actual downloads
Availability notifications now verify the media file actually exists on disk before telling a user their request is ready. Previously, a media item merely added to the local library could trigger an availability notification while it was still downloading.
QR pairing timeout auto-restarts
If a pairing QR isn't scanned within its validity window, the connection flow now restarts the QR loop automatically instead of stopping in a disconnected state until the Connect button is pressed again.
WhatsApp session survives container recreation
Deployed configuration update: the WhatsApp session directory is now mapped to a persistent volume, so redeploys and container restarts no longer invalidate the session or require re-pairing. (Infra-only change; no application code.)
Retry loop test hardening
Fixed two reconnect tests that checked timer state before an async step completed; added coverage for the QR timeout restart path.
747/747 tests passing.