mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-16 14:22:19 -04:00
Support for MSC3758: exact_event_match push condition (#14964)
This specifies to search for an exact value match, instead of string globbing. It only works across non-compound JSON values (null, boolean, integer, and strings).
This commit is contained in:
parent
cf5233b783
commit
14be78d492
9 changed files with 356 additions and 41 deletions
|
@ -14,7 +14,7 @@
|
|||
|
||||
from typing import Any, Collection, Dict, Mapping, Optional, Sequence, Set, Tuple, Union
|
||||
|
||||
from synapse.types import JsonDict
|
||||
from synapse.types import JsonDict, SimpleJsonValue
|
||||
|
||||
class PushRule:
|
||||
@property
|
||||
|
@ -56,17 +56,18 @@ def get_base_rule_ids() -> Collection[str]: ...
|
|||
class PushRuleEvaluator:
|
||||
def __init__(
|
||||
self,
|
||||
flattened_keys: Mapping[str, str],
|
||||
flattened_keys: Mapping[str, SimpleJsonValue],
|
||||
has_mentions: bool,
|
||||
user_mentions: Set[str],
|
||||
room_mention: bool,
|
||||
room_member_count: int,
|
||||
sender_power_level: Optional[int],
|
||||
notification_power_levels: Mapping[str, int],
|
||||
related_events_flattened: Mapping[str, Mapping[str, str]],
|
||||
related_events_flattened: Mapping[str, Mapping[str, SimpleJsonValue]],
|
||||
related_event_match_enabled: bool,
|
||||
room_version_feature_flags: Tuple[str, ...],
|
||||
msc3931_enabled: bool,
|
||||
msc3758_exact_event_match: bool,
|
||||
): ...
|
||||
def run(
|
||||
self,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue