diff --git a/synapse/push/__init__.py b/synapse/push/__init__.py
index 36f450c31d..f1952b5a0f 100644
--- a/synapse/push/__init__.py
+++ b/synapse/push/__init__.py
@@ -249,7 +249,9 @@ class Pusher(object):
# we fail to dispatch the push)
config = PaginationConfig(from_token=None, limit='1')
chunk = yield self.evStreamHandler.get_stream(
- self.user_name, config, timeout=0)
+ self.user_name, config, timeout=0, affect_presence=False,
+ only_room_events=True
+ )
self.last_token = chunk['end']
self.store.update_pusher_last_token(
self.app_id, self.pushkey, self.user_name, self.last_token
@@ -280,8 +282,8 @@ class Pusher(object):
config = PaginationConfig(from_token=from_tok, limit='1')
timeout = (300 + random.randint(-60, 60)) * 1000
chunk = yield self.evStreamHandler.get_stream(
- self.user_name, config,
- timeout=timeout, affect_presence=False
+ self.user_name, config, timeout=timeout, affect_presence=False,
+ only_room_events=True
)
# limiting to 1 may get 1 event plus 1 presence event, so
@@ -294,6 +296,12 @@ class Pusher(object):
if not single_event:
self.last_token = chunk['end']
logger.debug("Event stream timeout for pushkey %s", self.pushkey)
+ yield self.store.update_pusher_last_token(
+ self.app_id,
+ self.pushkey,
+ self.user_name,
+ self.last_token
+ )
return
if not self.alive:
@@ -345,7 +353,7 @@ class Pusher(object):
if processed:
self.backoff_delay = Pusher.INITIAL_BACKOFF
self.last_token = chunk['end']
- self.store.update_pusher_last_token_and_success(
+ yield self.store.update_pusher_last_token_and_success(
self.app_id,
self.pushkey,
self.user_name,
@@ -354,7 +362,7 @@ class Pusher(object):
)
if self.failing_since:
self.failing_since = None
- self.store.update_pusher_failing_since(
+ yield self.store.update_pusher_failing_since(
self.app_id,
self.pushkey,
self.user_name,
@@ -362,7 +370,7 @@ class Pusher(object):
else:
if not self.failing_since:
self.failing_since = self.clock.time_msec()
- self.store.update_pusher_failing_since(
+ yield self.store.update_pusher_failing_since(
self.app_id,
self.pushkey,
self.user_name,
@@ -380,7 +388,7 @@ class Pusher(object):
self.user_name, self.pushkey)
self.backoff_delay = Pusher.INITIAL_BACKOFF
self.last_token = chunk['end']
- self.store.update_pusher_last_token(
+ yield self.store.update_pusher_last_token(
self.app_id,
self.pushkey,
self.user_name,
@@ -388,7 +396,7 @@ class Pusher(object):
)
self.failing_since = None
- self.store.update_pusher_failing_since(
+ yield self.store.update_pusher_failing_since(
self.app_id,
self.pushkey,
self.user_name,
diff --git a/synapse/push/baserules.py b/synapse/push/baserules.py
index f3d1cf5c5f..1f015a7f2e 100644
--- a/synapse/push/baserules.py
+++ b/synapse/push/baserules.py
@@ -164,7 +164,7 @@ def make_base_append_underride_rules(user):
]
},
{
- 'rule_id': 'global/override/.m.rule.contains_display_name',
+ 'rule_id': 'global/underride/.m.rule.contains_display_name',
'conditions': [
{
'kind': 'contains_display_name'
diff --git a/synapse/push/pusherpool.py b/synapse/push/pusherpool.py
index 0ab2f65972..e012c565ee 100644
--- a/synapse/push/pusherpool.py
+++ b/synapse/push/pusherpool.py
@@ -94,17 +94,14 @@ class PusherPool:
self.remove_pusher(p['app_id'], p['pushkey'], p['user_name'])
@defer.inlineCallbacks
- def remove_pushers_by_user_access_token(self, user_id, not_access_token_id):
+ def remove_pushers_by_user(self, user_id):
all = yield self.store.get_all_pushers()
logger.info(
- "Removing all pushers for user %s except access token %s",
- user_id, not_access_token_id
+ "Removing all pushers for user %s",
+ user_id,
)
for p in all:
- if (
- p['user_name'] == user_id and
- p['access_token'] != not_access_token_id
- ):
+ if p['user_name'] == user_id:
logger.info(
"Removing pusher for app id %s, pushkey %s, user %s",
p['app_id'], p['pushkey'], p['user_name']
|