Fix up use of resolve_events_with_factory
This commit is contained in:
parent
fc954960e9
commit
15133477ee
|
@ -53,7 +53,7 @@ from synapse.replication.http.federation import (
|
||||||
ReplicationFederationSendEventsRestServlet,
|
ReplicationFederationSendEventsRestServlet,
|
||||||
)
|
)
|
||||||
from synapse.replication.http.membership import ReplicationUserJoinedLeftRoomRestServlet
|
from synapse.replication.http.membership import ReplicationUserJoinedLeftRoomRestServlet
|
||||||
from synapse.state import resolve_events_with_factory
|
from synapse.state import StateResolutionStore, resolve_events_with_factory
|
||||||
from synapse.types import UserID, get_domain_from_id
|
from synapse.types import UserID, get_domain_from_id
|
||||||
from synapse.util import logcontext, unwrapFirstError
|
from synapse.util import logcontext, unwrapFirstError
|
||||||
from synapse.util.async_helpers import Linearizer
|
from synapse.util.async_helpers import Linearizer
|
||||||
|
@ -384,22 +384,19 @@ class FederationHandler(BaseHandler):
|
||||||
for x in remote_state:
|
for x in remote_state:
|
||||||
event_map[x.event_id] = x
|
event_map[x.event_id] = x
|
||||||
|
|
||||||
# Resolve any conflicting state
|
|
||||||
@defer.inlineCallbacks
|
|
||||||
def fetch(ev_ids):
|
|
||||||
fetched = yield self.store.get_events(
|
|
||||||
ev_ids, get_prev_content=False, check_redacted=False,
|
|
||||||
)
|
|
||||||
# add any events we fetch here to the `event_map` so that we
|
|
||||||
# can use them to build the state event list below.
|
|
||||||
event_map.update(fetched)
|
|
||||||
defer.returnValue(fetched)
|
|
||||||
|
|
||||||
room_version = yield self.store.get_room_version(room_id)
|
room_version = yield self.store.get_room_version(room_id)
|
||||||
state_map = yield resolve_events_with_factory(
|
state_map = yield resolve_events_with_factory(
|
||||||
room_version, state_maps, event_map, fetch,
|
room_version, state_maps, event_map,
|
||||||
|
state_res_store=StateResolutionStore(self.store),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
evs = yield self.store.get_events(
|
||||||
|
list(state_map.values()),
|
||||||
|
get_prev_content=False,
|
||||||
|
check_redacted=False,
|
||||||
|
)
|
||||||
|
event_map.update(evs)
|
||||||
|
|
||||||
# we need to give _process_received_pdu the actual state events
|
# we need to give _process_received_pdu the actual state events
|
||||||
# rather than event ids, so generate that now.
|
# rather than event ids, so generate that now.
|
||||||
state = [
|
state = [
|
||||||
|
|
Loading…
Reference in New Issue