2 files changed, 13 insertions, 1 deletions
diff --git a/synapse/handlers/appservice.py b/synapse/handlers/appservice.py
index 306686a384..b440280b74 100644
--- a/synapse/handlers/appservice.py
+++ b/synapse/handlers/appservice.py
@@ -176,6 +176,16 @@ class ApplicationServicesHandler(object):
defer.returnValue(ret)
@defer.inlineCallbacks
+ def get_3pe_protocols(self):
+ services = yield self.store.get_app_services()
+ protocols = {}
+ for s in services:
+ for p in s.protocols:
+ protocols[p] = yield self.appservice_api.get_3pe_protocol(s, p)
+
+ defer.returnValue(protocols)
+
+ @defer.inlineCallbacks
def _get_services_for_event(self, event):
"""Retrieve a list of application services interested in this event.
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index 2b88e6550e..a6642ff232 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -387,7 +387,9 @@ class FederationHandler(BaseHandler):
)).addErrback(unwrapFirstError)
auth_events.update({a.event_id: a for a in results if a})
required_auth.update(
- a_id for event in results for a_id, _ in event.auth_events if event
+ a_id
+ for event in results if event
+ for a_id, _ in event.auth_events
)
missing_auth = required_auth - set(auth_events)
|