diff options
author | Will Hunt <will@half-shot.uk> | 2018-10-17 13:04:55 +0100 |
---|---|---|
committer | Amber Brown <hawkowl@atleastfornow.net> | 2018-10-17 23:04:55 +1100 |
commit | d6a7797dd1d76a86e6914c2ae562fa83eee4c57f (patch) | |
tree | 017db840c95edc92fe09e6b510e41804ef5d9156 /synapse | |
parent | Merge pull request #4045 from matrix-org/rav/fix_get_missing_events (diff) | |
download | synapse-d6a7797dd1d76a86e6914c2ae562fa83eee4c57f.tar.xz |
Fix roomlist since tokens on Python 3 (#4046)
Thanks @Half-Shot !!!
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/handlers/room_list.py | 11 | ||||
-rw-r--r-- | synapse/python_dependencies.py | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/synapse/handlers/room_list.py b/synapse/handlers/room_list.py index 38e1737ec9..dc88620885 100644 --- a/synapse/handlers/room_list.py +++ b/synapse/handlers/room_list.py @@ -16,7 +16,7 @@ import logging from collections import namedtuple -from six import iteritems +from six import PY3, iteritems from six.moves import range import msgpack @@ -444,9 +444,16 @@ class RoomListNextBatch(namedtuple("RoomListNextBatch", ( @classmethod def from_token(cls, token): + if PY3: + # The argument raw=False is only available on new versions of + # msgpack, and only really needed on Python 3. Gate it behind + # a PY3 check to avoid causing issues on Debian-packaged versions. + decoded = msgpack.loads(decode_base64(token), raw=False) + else: + decoded = msgpack.loads(decode_base64(token)) return RoomListNextBatch(**{ cls.REVERSE_KEY_DICT[key]: val - for key, val in msgpack.loads(decode_base64(token)).items() + for key, val in decoded.items() }) def to_token(self): diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py index 2947f37f1a..f51184b50d 100644 --- a/synapse/python_dependencies.py +++ b/synapse/python_dependencies.py @@ -55,7 +55,7 @@ REQUIREMENTS = { "sortedcontainers>=1.4.4": ["sortedcontainers"], "pysaml2>=3.0.0": ["saml2"], "pymacaroons-pynacl>=0.9.3": ["pymacaroons"], - "msgpack-python>=0.3.0": ["msgpack"], + "msgpack-python>=0.4.2": ["msgpack"], "phonenumbers>=8.2.0": ["phonenumbers"], "six>=1.10": ["six"], |