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

This commit is contained in:
Erik Johnston 2014-12-15 17:33:23 +00:00
commit 9c49054f1d
2 changed files with 26 additions and 8 deletions

View File

@ -39,7 +39,7 @@ class MediaRepositoryResource(Resource):
<= HTTP/1.1 200 OK <= HTTP/1.1 200 OK
Content-Type: application/json Content-Type: application/json
{ "content-uri": "mxc://<server-name>/<media-id>" } { "content_uri": "mxc://<server-name>/<media-id>" }
=> GET /_matrix/media/v1/download/<server-name>/<media-id> HTTP/1.1 => GET /_matrix/media/v1/download/<server-name>/<media-id> HTTP/1.1

View File

@ -146,7 +146,11 @@ class Notifier(object):
Will wake up all listeners for the given users and rooms. Will wake up all listeners for the given users and rooms.
""" """
yield run_on_reactor() yield run_on_reactor()
# TODO(paul): This is horrible, having to manually list every event
# source here individually
presence_source = self.event_sources.sources["presence"] presence_source = self.event_sources.sources["presence"]
typing_source = self.event_sources.sources["typing"]
listeners = set() listeners = set()
@ -158,19 +162,33 @@ class Notifier(object):
@defer.inlineCallbacks @defer.inlineCallbacks
def notify(listener): def notify(listener):
events, end_key = yield presence_source.get_new_events_for_user( presence_events, presence_end_key = (
listener.user, yield presence_source.get_new_events_for_user(
listener.from_token.presence_key, listener.user,
listener.limit, listener.from_token.presence_key,
listener.limit,
)
)
typing_events, typing_end_key = (
yield typing_source.get_new_events_for_user(
listener.user,
listener.from_token.typing_key,
listener.limit,
)
) )
if events: if presence_events or typing_events:
end_token = listener.from_token.copy_and_replace( end_token = listener.from_token.copy_and_replace(
"presence_key", end_key "presence_key", presence_end_key
).copy_and_replace(
"typing_key", typing_end_key
) )
listener.notify( listener.notify(
self, events, listener.from_token, end_token self,
presence_events + typing_events,
listener.from_token,
end_token
) )
def eb(failure): def eb(failure):