diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2022-03-10 10:36:13 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-10 15:36:13 +0000 |
commit | ea27528b5d177dcfc5a4e38b463baeace916dc8e (patch) | |
tree | 4fc7ebe8c997256b8744de2f4f29c72f020b50c3 /synapse/events/utils.py | |
parent | Updates to the Room DAG concepts development document (#12179) (diff) | |
download | synapse-ea27528b5d177dcfc5a4e38b463baeace916dc8e.tar.xz |
Support stable identifiers for MSC3440: Threading (#12151)
The unstable identifiers are still supported if the experimental configuration flag is enabled. The unstable identifiers will be removed in a future release.
Diffstat (limited to 'synapse/events/utils.py')
-rw-r--r-- | synapse/events/utils.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/synapse/events/utils.py b/synapse/events/utils.py index ee34cb46e4..b2a237c1e0 100644 --- a/synapse/events/utils.py +++ b/synapse/events/utils.py @@ -38,6 +38,7 @@ from synapse.util.frozenutils import unfreeze from . import EventBase if TYPE_CHECKING: + from synapse.server import HomeServer from synapse.storage.databases.main.relations import BundledAggregations @@ -395,6 +396,9 @@ class EventClientSerializer: clients. """ + def __init__(self, hs: "HomeServer"): + self._msc3440_enabled = hs.config.experimental.msc3440_enabled + def serialize_event( self, event: Union[JsonDict, EventBase], @@ -515,11 +519,14 @@ class EventClientSerializer: thread.latest_event, serialized_latest_event, thread.latest_edit ) - serialized_aggregations[RelationTypes.THREAD] = { + thread_summary = { "latest_event": serialized_latest_event, "count": thread.count, "current_user_participated": thread.current_user_participated, } + serialized_aggregations[RelationTypes.THREAD] = thread_summary + if self._msc3440_enabled: + serialized_aggregations[RelationTypes.UNSTABLE_THREAD] = thread_summary # Include the bundled aggregations in the event. if serialized_aggregations: |