summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2020-02-25 10:16:35 +0000
committerAndrew Morgan <andrew@amorgan.xyz>2020-02-25 10:16:35 +0000
commit48cea251cf1c6a9ea33181fbc1a48cba12118333 (patch)
tree67a5cd54b105fe73d6a562665d0a372e0e47347d
parentDocker packaging should not su-exec or chmod if already running as UID/GID (#... (diff)
parentEnsure the list media admin API is always available (#5966) (diff)
downloadsynapse-48cea251cf1c6a9ea33181fbc1a48cba12118333.tar.xz
Ensure the list media admin API is always available (#5966)
-rw-r--r--changelog.d/5966.bugfix1
-rw-r--r--synapse/handlers/register.py4
-rw-r--r--synapse/rest/admin/__init__.py7
3 files changed, 7 insertions, 5 deletions
diff --git a/changelog.d/5966.bugfix b/changelog.d/5966.bugfix
new file mode 100644
index 0000000000..b8ef5a7819
--- /dev/null
+++ b/changelog.d/5966.bugfix
@@ -0,0 +1 @@
+Fix admin API for listing media in a room not being available with an external media repo.
diff --git a/synapse/handlers/register.py b/synapse/handlers/register.py
index 98950b9628..d8db3445ca 100644
--- a/synapse/handlers/register.py
+++ b/synapse/handlers/register.py
@@ -470,7 +470,6 @@ class RegistrationHandler(BaseHandler):
 
     @defer.inlineCallbacks
     def _join_user_to_room(self, requester, room_identifier):
-        room_id = None
         room_member_handler = self.hs.get_room_member_handler()
         if RoomID.is_valid(room_identifier):
             room_id = room_identifier
@@ -755,8 +754,7 @@ class RegistrationHandler(BaseHandler):
         Args:
             user_id (str): id of user
             threepid (object): m.login.msisdn auth response
-            token (str): access_token for the user
-            bind_email (bool): true if the client requested the email to be
+            bind_msisdn (bool): true if the client requested the msisdn to be
                 bound at the identity server
         Returns:
             defer.Deferred:
diff --git a/synapse/rest/admin/__init__.py b/synapse/rest/admin/__init__.py
index b4761adaed..81b6bd8816 100644
--- a/synapse/rest/admin/__init__.py
+++ b/synapse/rest/admin/__init__.py
@@ -41,7 +41,7 @@ from synapse.rest.admin._base import (
     assert_user_is_admin,
     historical_admin_path_patterns,
 )
-from synapse.rest.admin.media import register_servlets_for_media_repo
+from synapse.rest.admin.media import ListMediaInRoom, register_servlets_for_media_repo
 from synapse.rest.admin.purge_room_servlet import PurgeRoomServlet
 from synapse.rest.admin.server_notice_servlet import SendServerNoticeServlet
 from synapse.rest.admin.users import UserAdminServlet
@@ -761,9 +761,12 @@ def register_servlets_for_client_rest_resource(hs, http_server):
     DeleteGroupAdminRestServlet(hs).register(http_server)
     AccountValidityRenewServlet(hs).register(http_server)
 
-    # Load the media repo ones if we're using them.
+    # Load the media repo ones if we're using them. Otherwise load the servlets which
+    # don't need a media repo (typically readonly admin APIs).
     if hs.config.can_load_media_repo:
         register_servlets_for_media_repo(hs, http_server)
+    else:
+        ListMediaInRoom(hs).register(http_server)
 
     # don't add more things here: new servlets should only be exposed on
     # /_synapse/admin so should not go here. Instead register them in AdminRestResource.