From a4f52a33fefc537eeb1829773f2dbdbdaa246d1f Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Wed, 30 Jan 2019 14:19:52 +0000 Subject: [PATCH] Fix replication for room v3 (#4523) * Fix replication for room v3 We were not correctly quoting the path fragments over http replication, which meant that it exploded when the event IDs had a slash in them * Newsfile --- changelog.d/4523.feature | 1 + synapse/replication/http/_base.py | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 changelog.d/4523.feature diff --git a/changelog.d/4523.feature b/changelog.d/4523.feature new file mode 100644 index 0000000000..9538c64f08 --- /dev/null +++ b/changelog.d/4523.feature @@ -0,0 +1 @@ +Add support for room version 3 diff --git a/synapse/replication/http/_base.py b/synapse/replication/http/_base.py index 5e5376cf58..e81456ab2b 100644 --- a/synapse/replication/http/_base.py +++ b/synapse/replication/http/_base.py @@ -127,7 +127,10 @@ class ReplicationEndpoint(object): def send_request(**kwargs): data = yield cls._serialize_payload(**kwargs) - url_args = [urllib.parse.quote(kwargs[name]) for name in cls.PATH_ARGS] + url_args = [ + urllib.parse.quote(kwargs[name], safe='') + for name in cls.PATH_ARGS + ] if cls.CACHE: txn_id = random_string(10)