From 206a7b5f12fd3d88ec24a1f53ce75e5b701faed8 Mon Sep 17 00:00:00 2001
From: Patrick Cloke <clokep@users.noreply.github.com>
Date: Mon, 17 May 2021 09:59:17 -0400
Subject: [PATCH] Fix the allowed range of valid ordering characters for
 spaces. (#10002)

\x7F was meant to be \0x7E (~) this was originally incorrect
in MSC1772.
---
 changelog.d/10002.bugfix          | 1 +
 synapse/handlers/space_summary.py | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
 create mode 100644 changelog.d/10002.bugfix

diff --git a/changelog.d/10002.bugfix b/changelog.d/10002.bugfix
new file mode 100644
index 0000000000..1fabdad22e
--- /dev/null
+++ b/changelog.d/10002.bugfix
@@ -0,0 +1 @@
+Fix a validation bug introduced in v1.34.0 in the ordering of spaces in the space summary API.
diff --git a/synapse/handlers/space_summary.py b/synapse/handlers/space_summary.py
index 953356f34d..eb80a5ad67 100644
--- a/synapse/handlers/space_summary.py
+++ b/synapse/handlers/space_summary.py
@@ -471,8 +471,8 @@ def _is_suggested_child_event(edge_event: EventBase) -> bool:
     return False
 
 
-# Order may only contain characters in the range of \x20 (space) to \x7F (~).
-_INVALID_ORDER_CHARS_RE = re.compile(r"[^\x20-\x7F]")
+# Order may only contain characters in the range of \x20 (space) to \x7E (~) inclusive.
+_INVALID_ORDER_CHARS_RE = re.compile(r"[^\x20-\x7E]")
 
 
 def _child_events_comparison_key(child: EventBase) -> Tuple[bool, Optional[str], str]:
-- 
GitLab