Skip to content
Snippets Groups Projects
Commit 46ecd9fd authored by Erik Johnston's avatar Erik Johnston
Browse files

Use stream_ordering_to_exterm for /keys/changes

parent 5ae38b65
No related branches found
No related tags found
No related merge requests found
...@@ -17,7 +17,7 @@ from synapse.api import errors ...@@ -17,7 +17,7 @@ from synapse.api import errors
from synapse.api.constants import EventTypes from synapse.api.constants import EventTypes
from synapse.util import stringutils from synapse.util import stringutils
from synapse.util.async import Linearizer from synapse.util.async import Linearizer
from synapse.types import get_domain_from_id from synapse.types import get_domain_from_id, RoomStreamToken
from twisted.internet import defer from twisted.internet import defer
from ._base import BaseHandler from ._base import BaseHandler
...@@ -243,15 +243,15 @@ class DeviceHandler(BaseHandler): ...@@ -243,15 +243,15 @@ class DeviceHandler(BaseHandler):
possibly_changed = set(changed) possibly_changed = set(changed)
for room_id in rooms_changed: for room_id in rooms_changed:
# Fetch (an approximation) of the current state at the time. # Fetch the current state at the time.
event_rows, token = yield self.store.get_recent_event_ids_for_room( stream_ordering = RoomStreamToken.parse_stream_token(from_token.room_key)
room_id, end_token=from_token.room_key, limit=1,
)
if event_rows: try:
last_event_id = event_rows[-1]["event_id"] event_ids = yield self.store.get_forward_extremeties_for_room(
prev_state_ids = yield self.store.get_state_ids_for_event(last_event_id) room_id, stream_ordering=stream_ordering
else: )
prev_state_ids = yield self.store.get_state_ids_for_events(event_ids)
except:
prev_state_ids = {} prev_state_ids = {}
current_state_ids = yield self.state.get_current_state_ids(room_id) current_state_ids = yield self.state.get_current_state_ids(room_id)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment