From dfa536490ee2295d664160362c6339d5e39b6b85 Mon Sep 17 00:00:00 2001 From: Aaron R Date: Tue, 16 Nov 2021 07:47:58 -0600 Subject: [PATCH] Add support for `/_matrix/client/v3` APIs (#11318) This is one of the changes required to support Matrix 1.1 Signed-off-by: Aaron Raimist --- changelog.d/11318.feature | 1 + synapse/app/homeserver.py | 1 + synapse/rest/client/_base.py | 4 ++-- synapse/rest/client/keys.py | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 changelog.d/11318.feature diff --git a/changelog.d/11318.feature b/changelog.d/11318.feature new file mode 100644 index 000000000..ce28fc1ee --- /dev/null +++ b/changelog.d/11318.feature @@ -0,0 +1 @@ +Add support for the `/_matrix/client/v3` APIs from Matrix v1.1. \ No newline at end of file diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py index 7bb3744f0..4efadde57 100644 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py @@ -193,6 +193,7 @@ class SynapseHomeServer(HomeServer): { "/_matrix/client/api/v1": client_resource, "/_matrix/client/r0": client_resource, + "/_matrix/client/v3": client_resource, "/_matrix/client/unstable": client_resource, "/_matrix/client/v2_alpha": client_resource, "/_matrix/client/versions": client_resource, diff --git a/synapse/rest/client/_base.py b/synapse/rest/client/_base.py index a0971ce99..b4cb90cb7 100644 --- a/synapse/rest/client/_base.py +++ b/synapse/rest/client/_base.py @@ -27,7 +27,7 @@ logger = logging.getLogger(__name__) def client_patterns( path_regex: str, - releases: Iterable[int] = (0,), + releases: Iterable[str] = ("r0", "v3"), unstable: bool = True, v1: bool = False, ) -> Iterable[Pattern]: @@ -52,7 +52,7 @@ def client_patterns( v1_prefix = CLIENT_API_PREFIX + "/api/v1" patterns.append(re.compile("^" + v1_prefix + path_regex)) for release in releases: - new_prefix = CLIENT_API_PREFIX + "/r%d" % (release,) + new_prefix = CLIENT_API_PREFIX + f"/{release}" patterns.append(re.compile("^" + new_prefix + path_regex)) return patterns diff --git a/synapse/rest/client/keys.py b/synapse/rest/client/keys.py index 7281b2ee2..730c18f08 100644 --- a/synapse/rest/client/keys.py +++ b/synapse/rest/client/keys.py @@ -262,7 +262,7 @@ class SigningKeyUploadServlet(RestServlet): } """ - PATTERNS = client_patterns("/keys/device_signing/upload$", releases=()) + PATTERNS = client_patterns("/keys/device_signing/upload$", releases=("v3",)) def __init__(self, hs: "HomeServer"): super().__init__()