Added
- Optional inbound-media skip. New
MEDIA_DOWNLOAD_ENABLEDflag (defaulttrue) lets operators skip downloading inbound media entirely on both the whatsapp-web.js and Baileys engines — useful for text-only or low-resource deployments. When disabled, inbound messages omit themediafield and reporthasMedia: falsein webhooks and the dashboard. Thanks @spidgrou. (#492)
Fixed
- External-S3 setups no longer silently fall back to local disk after upgrading:
docker-compose.ymlagain forwards the legacyS3_ACCESS_KEY/S3_SECRET_KEY(alongside the canonicalS3_ACCESS_KEY_ID/S3_SECRET_ACCESS_KEY) so an existing.envkeeps reaching the container, and the legacy names are blank-cleared so they can't shadow the dashboard config. (#488 follow-up) - The production default-secret guard no longer skips a weak credential for a host-pinned external datastore just because the built-in flag is set: the built-in exemption now requires both the
*_BUILTINflag and an internal host (postgres/minio), so an external Postgres/MinIO with a default password is still rejected in production. (#488 follow-up) - The Infrastructure page now shows an error + retry (instead of an editable form seeded from defaults) when the live
/infra/statuscan't be loaded, so a save can no longer flip a running built-in database/Redis/storage to external+empty. (#488 follow-up) /infra/statusno longer blocks on the WhatsApp Web version registry fetch, and that fetch is rate-limited after a failure, so a firewalled/offline host no longer stalls up to 5s on every status poll and every session start/reconnect. (#488 follow-up)- A replayed
message.sentWebSocket echo no longer downgrades a chat message already shown as delivered/read; the live-append path now applies the same forward-only delivery-status merge as the ack path. (#484 follow-up)
Changed
- Italian translation update. Refreshed the Italian (
it) dashboard locale. Thanks @albanobattistella. (#491)