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>
This commit is contained in:
Shay 2021-11-01 09:28:04 -07:00 committed by GitHub
parent caa706d825
commit e81fa92648
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 0 deletions

1
changelog.d/11217.bugfix Normal file
View file

@ -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.

View file

@ -1310,14 +1310,17 @@ class SendJoinParser(ByteParser[SendJoinResponse]):
self._coro_state = ijson.items_coro( self._coro_state = ijson.items_coro(
_event_list_parser(room_version, self._response.state), _event_list_parser(room_version, self._response.state),
prefix + "state.item", prefix + "state.item",
use_float=True,
) )
self._coro_auth = ijson.items_coro( self._coro_auth = ijson.items_coro(
_event_list_parser(room_version, self._response.auth_events), _event_list_parser(room_version, self._response.auth_events),
prefix + "auth_chain.item", prefix + "auth_chain.item",
use_float=True,
) )
self._coro_event = ijson.kvitems_coro( self._coro_event = ijson.kvitems_coro(
_event_parser(self._response.event_dict), _event_parser(self._response.event_dict),
prefix + "org.matrix.msc3083.v2.event", prefix + "org.matrix.msc3083.v2.event",
use_float=True,
) )
def write(self, data: bytes) -> int: def write(self, data: bytes) -> int: