1 files changed, 18 insertions, 0 deletions
diff --git a/synapse/federation/transport/client.py b/synapse/federation/transport/client.py
index 77f1f39cac..c8471d4cf7 100644
--- a/synapse/federation/transport/client.py
+++ b/synapse/federation/transport/client.py
@@ -357,6 +357,7 @@ class TransportLayerClient:
if self._faster_joins_enabled:
# lazy-load state on join
query_params["org.matrix.msc3706.partial_state"] = "true"
+ query_params["omit_members"] = "true"
return await self.client.put_json(
destination=destination,
@@ -909,6 +910,14 @@ class SendJoinParser(ByteParser[SendJoinResponse]):
use_float="True",
)
)
+ # The stable field name comes last, so it "wins" if the fields disagree
+ self._coros.append(
+ ijson.items_coro(
+ _partial_state_parser(self._response),
+ "members_omitted",
+ use_float="True",
+ )
+ )
self._coros.append(
ijson.items_coro(
@@ -918,6 +927,15 @@ class SendJoinParser(ByteParser[SendJoinResponse]):
)
)
+ # Again, stable field name comes last
+ self._coros.append(
+ ijson.items_coro(
+ _servers_in_room_parser(self._response),
+ "servers_in_room",
+ use_float="True",
+ )
+ )
+
def write(self, data: bytes) -> int:
for c in self._coros:
c.send(data)
|