54a0f07101
A platform with a missing dependency or missing credentials can never succeed on retry, but connect() returned bare False, so the gateway treated the failure as transient and queued it for background reconnection — looping forever at the backoff cap. Set _set_fatal_error(..., retryable=False) for missing-dependency and missing-credential failures in the Slack, Telegram, and Discord adapters so the reconnect watcher drops them from the retry queue. Salvaged from PR #31057 by @dskwe (reapplied onto the plugin-migrated adapter paths). Fixes #31049.