_fetch_new_messages() wrapped the whole IMAP connect/login/select/search/ fetch sequence in a bare except that logged and returned an empty list — indistinguishable from a genuinely empty inbox. The adapter never invoked its fatal-error handler, so the gateway's reconnect/backoff/status machinery never learned the mailbox was unreachable; outages lasted until a manual restart. Track fetch failure on the adapter and, when the poll loop observes it, set a retryable fatal error (email_imap_fetch_failed) and notify the gateway handler so the platform enters the reconnect queue just like a startup connection failure. |
||
|---|---|---|
| .. | ||
| browser | ||
| context_engine | ||
| cron_providers | ||
| dashboard_auth | ||
| disk-cleanup | ||
| google_meet | ||
| hermes-achievements | ||
| image_gen | ||
| kanban | ||
| memory | ||
| model-providers | ||
| observability | ||
| platforms | ||
| security-guidance | ||
| spotify | ||
| teams_pipeline | ||
| video_gen | ||
| web | ||
| __init__.py | ||
| plugin_utils.py | ||