From 16247ef6fd95e08a3f97db73b3067ba8166a5469 Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Mon, 8 May 2023 10:00:53 -0400 Subject: [PATCH 1/3] Add a constant for push rules account data. --- synapse/api/constants.py | 1 + synapse/handlers/sync.py | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/synapse/api/constants.py b/synapse/api/constants.py index c56b2f256150..cde9a2ecefb3 100644 --- a/synapse/api/constants.py +++ b/synapse/api/constants.py @@ -257,6 +257,7 @@ class AccountDataTypes: DIRECT: Final = "m.direct" IGNORED_USER_LIST: Final = "m.ignored_user_list" TAG: Final = "m.tag" + PUSH_RULES: Final = "m.push_rules" class HistoryVisibility: diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index 64d298408d21..cc05b0afa0f5 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -1777,18 +1777,18 @@ async def _generate_sync_entry_for_account_data( if push_rules_changed: global_account_data = dict(global_account_data) - global_account_data["m.push_rules"] = await self.push_rules_for_user( - sync_config.user - ) + global_account_data[ + AccountDataTypes.PUSH_RULES + ] = await self.push_rules_for_user(sync_config.user) else: all_global_account_data = await self.store.get_global_account_data_for_user( user_id ) global_account_data = dict(all_global_account_data) - global_account_data["m.push_rules"] = await self.push_rules_for_user( - sync_config.user - ) + global_account_data[ + AccountDataTypes.PUSH_RULES + ] = await self.push_rules_for_user(sync_config.user) account_data_for_user = ( await sync_config.filter_collection.filter_global_account_data( From aa63f84e99375e189a2be435720d067272055fc4 Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Mon, 8 May 2023 10:03:57 -0400 Subject: [PATCH 2/3] Use constants for fully read marker. --- synapse/handlers/read_marker.py | 5 +++-- synapse/rest/client/account_data.py | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/synapse/handlers/read_marker.py b/synapse/handlers/read_marker.py index 05122fd5a6b4..6d35e6188084 100644 --- a/synapse/handlers/read_marker.py +++ b/synapse/handlers/read_marker.py @@ -15,6 +15,7 @@ import logging from typing import TYPE_CHECKING +from synapse.api.constants import ReceiptTypes from synapse.util.async_helpers import Linearizer if TYPE_CHECKING: @@ -42,7 +43,7 @@ async def received_client_read_marker( async with self.read_marker_linearizer.queue((room_id, user_id)): existing_read_marker = await self.store.get_account_data_for_room_and_type( - user_id, room_id, "m.fully_read" + user_id, room_id, ReceiptTypes.FULLY_READ ) should_update = True @@ -56,5 +57,5 @@ async def received_client_read_marker( if should_update: content = {"event_id": event_id} await self.account_data_handler.add_account_data_to_room( - user_id, room_id, "m.fully_read", content + user_id, room_id, ReceiptTypes.FULLY_READ, content ) diff --git a/synapse/rest/client/account_data.py b/synapse/rest/client/account_data.py index 43193ad08644..8eebb21c7615 100644 --- a/synapse/rest/client/account_data.py +++ b/synapse/rest/client/account_data.py @@ -15,6 +15,7 @@ import logging from typing import TYPE_CHECKING, Tuple +from synapse.api.constants import ReceiptTypes from synapse.api.errors import AuthError, Codes, NotFoundError, SynapseError from synapse.http.server import HttpServer from synapse.http.servlet import RestServlet, parse_json_object_from_request @@ -166,7 +167,7 @@ async def on_PUT( body = parse_json_object_from_request(request) - if account_data_type == "m.fully_read": + if account_data_type == ReceiptTypes.FULLY_READ: raise SynapseError( 405, "Cannot set m.fully_read through this API." From 1dc47eb9e5d81d12d5698ccedc3bcff0e28a937f Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Mon, 8 May 2023 10:06:03 -0400 Subject: [PATCH 3/3] Newsfragment --- changelog.d/15554.misc | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/15554.misc diff --git a/changelog.d/15554.misc b/changelog.d/15554.misc new file mode 100644 index 000000000000..002e3f53157d --- /dev/null +++ b/changelog.d/15554.misc @@ -0,0 +1 @@ +Use account data constants in more places.