summary refs log tree commit diff
diff options
context:
space:
mode:
authorShay <shaysquared@gmail.com>2021-11-01 09:28:04 -0700
committerGitHub <noreply@github.com>2021-11-01 09:28:04 -0700
commite81fa9264873369653171157514ff68226491fff (patch)
treeccdf2e1e6ef8dafe8e07e8154a7168850b45948e
parentFix a bug in unit test `test_block_room_and_not_purge` (#11226) (diff)
downloadsynapse-e81fa9264873369653171157514ff68226491fff.tar.xz
Add `use_float=true` to ijson calls in Synapse (#11217)
* add use_float=true to ijson calls

* lints

* add changelog

* Update changelog.d/11217.bugfix

Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>

Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
-rw-r--r--changelog.d/11217.bugfix1
-rw-r--r--synapse/federation/transport/client.py3
2 files changed, 4 insertions, 0 deletions
diff --git a/changelog.d/11217.bugfix b/changelog.d/11217.bugfix
new file mode 100644
index 0000000000..67ebb0d0e3
--- /dev/null
+++ b/changelog.d/11217.bugfix
@@ -0,0 +1 @@
+Fix a bug introduced in 1.35.0 which made it impossible to join rooms that return a `send_join` response containing floats.
\ No newline at end of file
diff --git a/synapse/federation/transport/client.py b/synapse/federation/transport/client.py
index d963178838..10b5aa5af8 100644
--- a/synapse/federation/transport/client.py
+++ b/synapse/federation/transport/client.py
@@ -1310,14 +1310,17 @@ class SendJoinParser(ByteParser[SendJoinResponse]):
         self._coro_state = ijson.items_coro(
             _event_list_parser(room_version, self._response.state),
             prefix + "state.item",
+            use_float=True,
         )
         self._coro_auth = ijson.items_coro(
             _event_list_parser(room_version, self._response.auth_events),
             prefix + "auth_chain.item",
+            use_float=True,
         )
         self._coro_event = ijson.kvitems_coro(
             _event_parser(self._response.event_dict),
             prefix + "org.matrix.msc3083.v2.event",
+            use_float=True,
         )
 
     def write(self, data: bytes) -> int: