Merge pull request #1052 from matrix-org/erikj/noop_new_device_message
Noop get_new_messages_for_device if token hasn't changed
This commit is contained in:
commit
fba1111dd6
|
@ -565,21 +565,26 @@ class SyncHandler(object):
|
||||||
if sync_result_builder.since_token is not None:
|
if sync_result_builder.since_token is not None:
|
||||||
since_stream_id = int(sync_result_builder.since_token.to_device_key)
|
since_stream_id = int(sync_result_builder.since_token.to_device_key)
|
||||||
|
|
||||||
if since_stream_id:
|
if since_stream_id != int(now_token.to_device_key):
|
||||||
|
# We only delete messages when a new message comes in, but that's
|
||||||
|
# fine so long as we delete them at some point.
|
||||||
|
|
||||||
logger.debug("Deleting messages up to %d", since_stream_id)
|
logger.debug("Deleting messages up to %d", since_stream_id)
|
||||||
yield self.store.delete_messages_for_device(
|
yield self.store.delete_messages_for_device(
|
||||||
user_id, device_id, since_stream_id
|
user_id, device_id, since_stream_id
|
||||||
)
|
)
|
||||||
|
|
||||||
logger.debug("Getting messages up to %d", now_token.to_device_key)
|
logger.debug("Getting messages up to %d", now_token.to_device_key)
|
||||||
messages, stream_id = yield self.store.get_new_messages_for_device(
|
messages, stream_id = yield self.store.get_new_messages_for_device(
|
||||||
user_id, device_id, now_token.to_device_key
|
user_id, device_id, now_token.to_device_key
|
||||||
)
|
)
|
||||||
logger.debug("Got messages up to %d: %r", stream_id, messages)
|
logger.debug("Got messages up to %d: %r", stream_id, messages)
|
||||||
sync_result_builder.now_token = now_token.copy_and_replace(
|
sync_result_builder.now_token = now_token.copy_and_replace(
|
||||||
"to_device_key", stream_id
|
"to_device_key", stream_id
|
||||||
)
|
)
|
||||||
sync_result_builder.to_device = messages
|
sync_result_builder.to_device = messages
|
||||||
|
else:
|
||||||
|
sync_result_builder.to_device = []
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _generate_sync_entry_for_account_data(self, sync_result_builder):
|
def _generate_sync_entry_for_account_data(self, sync_result_builder):
|
||||||
|
|
Loading…
Reference in New Issue