2 files changed, 6 insertions, 4 deletions
diff --git a/synapse/push/__init__.py b/synapse/push/__init__.py
index cc05278c8c..6a302305fb 100644
--- a/synapse/push/__init__.py
+++ b/synapse/push/__init__.py
@@ -137,6 +137,11 @@ class Pusher(object):
return False
pat = condition['pattern']
+ if pat.strip("*?[]") == pat:
+ # no special glob characters so we assume the user means
+ # 'contains this string' rather than 'is this string'
+ pat = "*%s*" % (pat,)
+
val = _value_for_dotted_key(condition['key'], ev)
if val is None:
return False
diff --git a/synapse/rest/client/v1/push_rule.py b/synapse/rest/client/v1/push_rule.py
index 0f78fa667c..61e3bc8236 100644
--- a/synapse/rest/client/v1/push_rule.py
+++ b/synapse/rest/client/v1/push_rule.py
@@ -98,10 +98,7 @@ class PushRuleRestServlet(ClientV1RestServlet):
if 'pattern' not in req_obj:
raise InvalidRuleException("Content rule missing 'pattern'")
pat = req_obj['pattern']
- if pat.strip("*?[]") == pat:
- # no special glob characters so we assume the user means
- # 'contains this string' rather than 'is this string'
- pat = "*%s*" % (pat,)
+
conditions = [{
'kind': 'event_match',
'key': 'content.body',
|