diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2022-09-01 12:52:03 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-01 16:52:03 +0000 |
commit | 390b7ce946173b41a61f427ef25a9a1d0371ad0b (patch) | |
tree | e12dc10dc768de1e8d87fb73f6ac47b9f436ed25 /synapse | |
parent | Update the Grafana dashboard that is included with Synapse in the `contrib` d... (diff) | |
download | synapse-390b7ce946173b41a61f427ef25a9a1d0371ad0b.tar.xz |
Disable calculating unread counts unless the config flag is enabled. (#13694)
This avoids doing work that will never be used (since the resulting unread counts will never be sent in a /sync response). The negative of doing this is that unread counts will be incorrect when the feature is initially enabled.
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/config/experimental.py | 3 | ||||
-rw-r--r-- | synapse/push/bulk_push_rule_evaluator.py | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/synapse/config/experimental.py b/synapse/config/experimental.py index 260db49cad..702b81e636 100644 --- a/synapse/config/experimental.py +++ b/synapse/config/experimental.py @@ -71,6 +71,9 @@ class ExperimentalConfig(Config): self.msc3720_enabled: bool = experimental.get("msc3720_enabled", False) # MSC2654: Unread counts + # + # Note that enabling this will result in an incorrect unread count for + # previously calculated push actions. self.msc2654_enabled: bool = experimental.get("msc2654_enabled", False) # MSC2815 (allow room moderators to view redacted event content) diff --git a/synapse/push/bulk_push_rule_evaluator.py b/synapse/push/bulk_push_rule_evaluator.py index ccd512be54..d1caf8a0f7 100644 --- a/synapse/push/bulk_push_rule_evaluator.py +++ b/synapse/push/bulk_push_rule_evaluator.py @@ -262,7 +262,12 @@ class BulkPushRuleEvaluator: # This can happen due to out of band memberships return - count_as_unread = _should_count_as_unread(event, context) + # Disable counting as unread unless the experimental configuration is + # enabled, as it can cause additional (unwanted) rows to be added to the + # event_push_actions table. + count_as_unread = False + if self.hs.config.experimental.msc2654_enabled: + count_as_unread = _should_count_as_unread(event, context) rules_by_user = await self._get_rules_for_event(event) actions_by_user: Dict[str, Collection[Union[Mapping, str]]] = {} |