summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2019-10-29 12:41:11 +0100
committerGitHub <noreply@github.com>2019-10-29 12:41:11 +0100
commit1652c8c1fc821dc1d53816c8295e225ddbc0aaf4 (patch)
tree7517544b0e5e407bee834158abc688cb8506779a
parent1.5.0rc2 (diff)
parentAdd comment as to why we're pinning black in tests (diff)
downloadsynapse-1652c8c1fc821dc1d53816c8295e225ddbc0aaf4.tar.xz
Merge pull request #6268 from matrix-org/erikj/case_insensitive_room_dir
Make room directory search case insensitive
-rw-r--r--changelog.d/6286.bugfix1
-rw-r--r--synapse/storage/data_stores/main/room.py12
-rw-r--r--tox.ini2
3 files changed, 10 insertions, 5 deletions
diff --git a/changelog.d/6286.bugfix b/changelog.d/6286.bugfix
new file mode 100644
index 0000000000..a4bebec1c7
--- /dev/null
+++ b/changelog.d/6286.bugfix
@@ -0,0 +1 @@
+Fix bug where room directory search was case sensitive.
diff --git a/synapse/storage/data_stores/main/room.py b/synapse/storage/data_stores/main/room.py
index 4428e5c55d..67bb1b6f60 100644
--- a/synapse/storage/data_stores/main/room.py
+++ b/synapse/storage/data_stores/main/room.py
@@ -201,13 +201,17 @@ class RoomWorkerStore(SQLBaseStore):
             where_clauses.append(
                 """
                     (
-                        name LIKE ?
-                        OR topic LIKE ?
-                        OR canonical_alias LIKE ?
+                        LOWER(name) LIKE ?
+                        OR LOWER(topic) LIKE ?
+                        OR LOWER(canonical_alias) LIKE ?
                     )
                 """
             )
-            query_args += [search_term, search_term, search_term]
+            query_args += [
+                search_term.lower(),
+                search_term.lower(),
+                search_term.lower(),
+            ]
 
         where_clause = ""
         if where_clauses:
diff --git a/tox.ini b/tox.ini
index 3cd2c5e633..e3a53f340a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -114,7 +114,7 @@ skip_install = True
 basepython = python3.6
 deps =
     flake8
-    black
+    black==19.3b0  # We pin so that our tests don't start failing on new releases of black.
 commands =
     python -m black --check --diff .
     /bin/sh -c "flake8 synapse tests scripts scripts-dev scripts/hash_password scripts/register_new_matrix_user scripts/synapse_port_db synctl {env:PEP8SUFFIX:}"