diff --git a/synapse/rest/media/v1/base_resource.py b/synapse/rest/media/v1/base_resource.py
index 00668b3862..74c0cd093c 100644
--- a/synapse/rest/media/v1/base_resource.py
+++ b/synapse/rest/media/v1/base_resource.py
@@ -284,7 +284,7 @@ class BaseMediaResource(Resource):
return
t_path = self.filepaths.remote_media_thumbnail(
- media_id, t_width, t_height, t_type, t_method
+ server_name, file_id, t_width, t_height, t_type, t_method
)
self._makedirs(t_path)
diff --git a/synapse/rest/media/v1/thumbnail_resource.py b/synapse/rest/media/v1/thumbnail_resource.py
index 58621f45df..9387258a7a 100644
--- a/synapse/rest/media/v1/thumbnail_resource.py
+++ b/synapse/rest/media/v1/thumbnail_resource.py
@@ -131,6 +131,8 @@ class ThumbnailResource(BaseMediaResource):
server_name, media_id,
)
+ file_id = media_info["filesystem_id"]
+
for info in thumbnail_infos:
t_w = info["thumbnail_width"] == desired_width
t_h = info["thumbnail_height"] == desired_height
@@ -139,20 +141,22 @@ class ThumbnailResource(BaseMediaResource):
if t_w and t_h and t_method and t_type:
file_path = self.filepaths.remote_media_thumbnail(
- media_id, desired_width, desired_height, desired_type, desired_method,
+ server_name, file_id, desired_width, desired_height,
+ desired_type, desired_method,
)
yield self._respond_with_file(request, desired_type, file_path)
+ return
logger.debug("We don't have a local thumbnail of that size. Generating")
# Okay, so we generate one.
- path = yield self._generate_remote_exact_thumbnail(
- server_name, media_id, desired_width, desired_height,
- desired_method, desired_type
+ file_path = yield self._generate_remote_exact_thumbnail(
+ server_name, file_id, media_id, desired_width,
+ desired_height, desired_method, desired_type
)
- if path:
- yield self._respond_with_file(request, t_type, file_path)
+ if file_path:
+ yield self._respond_with_file(request, desired_type, file_path)
else:
yield self._respond_default_thumbnail(
request, media_info, desired_width, desired_height,
|