From 25b3ba532832e86b59633c94a204a1902fb07d46 Mon Sep 17 00:00:00 2001
From: David Baker <dbkr@users.noreply.github.com>
Date: Thu, 4 Jan 2024 09:57:21 +0000
Subject: [PATCH] Add recursion_depth to /relations if recursing (#16775)

This is an extra response parameter just added to MSC3981. In the
current impl, the recursion depth is always 3, so this just returns a
static 3 if the recurse parameter is supplied.
---
 changelog.d/16775.bugfix      | 1 +
 synapse/handlers/relations.py | 4 ++++
 2 files changed, 5 insertions(+)
 create mode 100644 changelog.d/16775.bugfix

diff --git a/changelog.d/16775.bugfix b/changelog.d/16775.bugfix
new file mode 100644
index 0000000000..99f04ca59d
--- /dev/null
+++ b/changelog.d/16775.bugfix
@@ -0,0 +1 @@
+Adds the recursion_depth parameter to the response of the /relations endpoint if MSC3981 recursion is being performed.
diff --git a/synapse/handlers/relations.py b/synapse/handlers/relations.py
index 444b795872..642f7acf97 100644
--- a/synapse/handlers/relations.py
+++ b/synapse/handlers/relations.py
@@ -180,6 +180,10 @@ class RelationsHandler:
                 config=serialize_options,
             ),
         }
+
+        if recurse:
+            return_value["recursion_depth"] = 3
+
         if include_original_event:
             # Do not bundle aggregations when retrieving the original event because
             # we want the content before relations are applied to it.
-- 
GitLab