Merge branch 'develop' of github.com:matrix-org/synapse into events_refactor

This commit is contained in:
Erik Johnston 2014-12-04 15:58:24 +00:00
commit c5c32266d8
4 changed files with 17 additions and 7 deletions

View File

@ -1,3 +1,11 @@
Changes in synapse 0.5.4 (2014-12-03)
=====================================
* Fix presence bug where some rooms did not display presence updates for
remote users.
* Do not log SQL timing log lines when started with "-v"
* Fix potential memory leak.
Changes in synapse 0.5.3c (2014-12-02) Changes in synapse 0.5.3c (2014-12-02)
====================================== ======================================

View File

@ -1 +1 @@
0.5.3c 0.5.4

View File

@ -16,4 +16,4 @@
""" This is a reference implementation of a synapse home server. """ This is a reference implementation of a synapse home server.
""" """
__version__ = "0.5.3c" __version__ = "0.5.4"

View File

@ -659,10 +659,6 @@ class PresenceHandler(BaseHandler):
if room_ids: if room_ids:
logger.debug(" | %d interested room IDs %r", len(room_ids), room_ids) logger.debug(" | %d interested room IDs %r", len(room_ids), room_ids)
if not observers and not room_ids:
logger.debug(" | no interested observers or room IDs")
continue
state = dict(push) state = dict(push)
del state["user_id"] del state["user_id"]
@ -683,6 +679,10 @@ class PresenceHandler(BaseHandler):
self._user_cachemap_latest_serial += 1 self._user_cachemap_latest_serial += 1
statuscache.update(state, serial=self._user_cachemap_latest_serial) statuscache.update(state, serial=self._user_cachemap_latest_serial)
if not observers and not room_ids:
logger.debug(" | no interested observers or room IDs")
continue
self.push_update_to_clients( self.push_update_to_clients(
observed_user=user, observed_user=user,
users_to_push=observers, users_to_push=observers,
@ -804,6 +804,7 @@ class PresenceEventSource(object):
) )
@defer.inlineCallbacks @defer.inlineCallbacks
@log_function
def get_new_events_for_user(self, user, from_key, limit): def get_new_events_for_user(self, user, from_key, limit):
from_key = int(from_key) from_key = int(from_key)
@ -816,7 +817,8 @@ class PresenceEventSource(object):
# TODO(paul): use a DeferredList ? How to limit concurrency. # TODO(paul): use a DeferredList ? How to limit concurrency.
for observed_user in cachemap.keys(): for observed_user in cachemap.keys():
cached = cachemap[observed_user] cached = cachemap[observed_user]
if not (from_key < cached.serial):
if cached.serial <= from_key:
continue continue
if (yield self.is_visible(observer_user, observed_user)): if (yield self.is_visible(observer_user, observed_user)):