Patrick Cloke
d6c3b7584f
Request & follow redirects for /media/v3/download ( #16701 )
...
Implement MSC3860 to follow redirects for federated media downloads.
Note that the Client-Server API doesn't support this (yet) since the media
repository in Synapse doesn't have a way of supporting redirects.
2023-11-29 19:03:42 +00:00
Sumner Evans
999bd77d3a
Asynchronous Uploads ( #15503 )
...
Support asynchronous uploads as defined in MSC2246.
2023-11-15 09:19:24 -05:00
Patrick Cloke
ff716b483b
Return attrs for more media repo APIs. ( #16611 )
2023-11-09 11:00:30 -05:00
Patrick Cloke
679c691f6f
Remove more usages of cursor_to_dict. ( #16551 )
...
Mostly to improve type safety.
2023-10-26 15:12:28 -04:00
Patrick Cloke
d6b7d49a61
Handle content types with parameters. ( #16440 )
2023-10-11 07:50:34 -04:00
Patrick Cloke
7615e2bf48
Return ThumbnailInfo in more places ( #16438 )
...
Improves type hints by using concrete types instead of
dictionaries.
2023-10-06 10:12:43 -04:00
Patrick Cloke
26b960b08b
Register media servlets via regex. ( #16419 )
...
This converts the media servlet URLs in the same way as
(most) of the rest of Synapse. This will give more flexibility
in the versions each endpoint exists under.
2023-10-06 07:22:55 -04:00
Will Hunt
79eb6c0cdc
Support rendering some media downloads as inline ( #15988 )
...
Use an `inline` Content-Disposition header when the media is
"safe" to display inline (some known text, image, video, audio
formats).
2023-09-29 07:19:38 -04:00
Patrick Cloke
aa483cb4c9
Update ruff config ( #16283 )
...
Enable additional checks & clean-up unneeded configuration.
2023-09-08 11:24:36 -04:00
Erik Johnston
3de82bb2af
Gracefully handle failing to thumbnail images ( #16211 )
2023-08-30 15:18:34 +01:00
dependabot[bot]
001fc7bd19
Bump ruff from 0.0.277 to 0.0.286 ( #16198 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 09:41:43 -04:00
Eric Eastwood
2328e90fbb
Make the media `/upload` tracing less ambiguous ( #15888 )
...
A lot of the functions have the same name in this space like `store_file`,
and we also do it multiple times for different reasons (main media repo,
other storage providers, thumbnails, etc) so it's good to differentiate
them so your head doesn't explode.
Follow-up to https://github.com/matrix-org/synapse/pull/15850
Tracing instrumentation to media `/upload` code paths to investigate https://github.com/matrix-org/synapse/issues/15841
2023-07-10 17:23:11 -05:00
Eric Eastwood
ce857c05d5
Add tracing to media `/upload` endpoint ( #15850 )
...
Add tracing instrumentation to media `/upload` code paths to investigate https://github.com/matrix-org/synapse/issues/15841
2023-07-05 10:22:21 -05:00
an0nfunc
c303eca8cc
use Image.LANCZOS instead of Image.ANTIALIAS for thumbnail resize ( #15876 )
...
Image.ANTIALIAS is not defined in current pillow releases. Since ANTIALIAS was just using LANCZOS anyways, this is just a cosmetic change, but makes synapse work with most recent pillow releases.
Signed-off-by: Giovanni Harting <539@idlegandalf.com>
2023-07-05 10:52:12 +02:00
Josh Qou
d939120421
Fix unsafe hotserving behaviour for non-multimedia uploads. ( #15680 )
...
* Fix unsafe hotserving behaviour for non-multimedia uploads.
* invert disposition assert
* test_media_storage.py: run lint
* test_base.py: /inline/attachment/s
* Only return attachment for disposition type, update tests
* Update synapse/media/_base.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Update changelog.d/15680.bugfix
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* add attribution
* Update changelog.
---------
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2023-06-15 14:23:27 +01:00
Patrick Cloke
6f18812bb0
Add stubs package for lxml. ( #15697 )
...
The stubs have some issues so this has some generous cast
and ignores in it, but it is better than not having stubs.
Note that confusing that Element is a function which creates
_Element instances (and similarly for Comment).
2023-05-31 17:06:57 +00:00
Patrick Cloke
1e89976b26
Rename blacklist/whitelist internally. ( #15620 )
...
Avoid renaming configuration settings for now and rename internal code
to use blocklist and allowlist instead.
2023-05-19 12:25:25 +00:00
Patrick Cloke
4ee82c0576
Apply url_preview_url_blacklist to oEmbed and pre-cached images ( #15601 )
...
There are two situations which were previously not properly checked:
1. If the requested URL was replaced with an oEmbed URL, then the
oEmbed URL was not checked against url_preview_url_blacklist.
2. Follow-up URLs (either via autodiscovery of oEmbed or to pre-cache
images) were not checked against url_preview_url_blacklist.
2023-05-16 16:25:01 -04:00
Travis Ralston
ab4535b608
Add config option to prevent media downloads from listed domains. ( #15197 )
...
This stops media (and thumbnails) from being accessed from the
listed domains. It does not delete any already locally cached media,
but will prevent accessing it.
Note that admin APIs are unaffected by this change.
2023-05-09 14:08:51 -04:00
Andrew Morgan
aec639e3e3
Move Spam Checker callbacks to a dedicated file ( #15453 )
2023-04-18 00:57:40 +00:00
Patrick Cloke
a5fb382a29
Separate HTTP preview code and URL previewer. ( #15269 )
...
Separates REST layer code from the actual URL previewing.
2023-03-20 14:32:26 -04:00
Patrick Cloke
4fc8875876
Refactor media modules. ( #15146 )
...
* Removes the `v1` directory from `test.rest.media.v1`.
* Moves the non-REST code from `synapse.rest.media.v1` to `synapse.media`.
* Flatten the `v1` directory from `synapse.rest.media`, but leave compatiblity
with 3rd party media repositories and spam checkers.
2023-02-27 08:26:05 -05:00
Mark Haines
97c68c508d
Move rest APIs back under the rest directory
2015-01-22 16:10:07 +00:00
Matthew Hodgson
7f83613733
make our JPEG thumbnail quality less horrifically ugly
2015-01-08 15:11:22 +00:00
Kegan Dougal
76e1565200
Change error message for missing pillow libs.
2015-01-07 17:11:19 +00:00
Mark Haines
5cf45c4319
Merge branch 'master' into develop
2015-01-06 19:48:53 +00:00
Mark Haines
bc2ec808f4
SYN-32 Use the ANTIALIAS resize method for thumbnailing images
2015-01-06 14:14:17 +00:00
Mark Haines
adb04b1e57
Update copyright notices
2015-01-06 13:21:39 +00:00
Kegan Dougal
78edb47cc5
SYN-208/SYN-228: Add runtime checks on startup to enforce that JPEG/PNG support is included when installing pillow.
2015-01-06 11:43:04 +00:00
Mark Haines
3c8c3bf3b7
SYN-229: Include Content-Length when downloading files
2015-01-06 11:32:36 +00:00
Mark Haines
af61c29527
Return the argument passed to the callback in a deferred callback, otherwise twisted will replace the deferred result with 'None'
2014-12-29 13:54:05 +00:00
Mark Haines
390e48a8b0
SYN-203: Handle requests for thunbnails for images that are small
2014-12-19 12:05:38 +00:00
Mark Haines
3c7857e49b
clean up coding style a bit
2014-12-16 15:24:03 +00:00
Kegsay
67c9585656
Update media_repository.py
...
_ not -
2014-12-15 16:57:53 +00:00
Mark Haines
3610641a62
Update docs in media_repository
2014-12-15 13:56:43 +00:00
Mark Haines
58fa6d3fc6
return an mxc uri rather than a content_token.
2014-12-15 13:54:10 +00:00
Mark Haines
b3e34a5399
Fix typo in media repository doc string
2014-12-11 18:21:08 +00:00
Mark Haines
64bf9f54cc
Fix media repository doc string to include server_name
2014-12-11 18:18:58 +00:00
Mark Haines
03d9024cbc
Allow only one download for a given image at a time, so that we don't end up downloading the same image twice if two clients request a remote image at the same time
2014-12-11 16:48:11 +00:00
Mark Haines
d80d505b1f
Limit the size of images that are thumbnailed serverside. Limit the size of file that a server will download from a remote server
2014-12-11 14:19:32 +00:00
Mark Haines
ead8fc5e38
doc the thumbnail methods
2014-12-11 10:41:43 +00:00
Mark Haines
b5eb9124f7
Make sure we pass a tuple to string '%' formatting
2014-12-11 10:08:09 +00:00
Mark Haines
2d265ef3bd
import Image as PIL.Image.
2014-12-10 16:09:18 +00:00
Mark Haines
e5275d856e
Get the code actually working
2014-12-10 15:46:18 +00:00
Mark Haines
cc84d3ea78
Thumbnail uploaded and cached images
2014-12-10 15:40:52 +00:00
Mark Haines
0363820122
Add a class for generating thumbnails using PIL
2014-12-05 16:12:37 +00:00
Mark Haines
c01fd5573c
Implement download support for media_repository
2014-12-04 14:22:31 +00:00
Mark Haines
2f804a7072
Fix pyflakes and pep8 warnings
2014-12-02 19:55:18 +00:00
Mark Haines
5da65085d1
Get uploads working with new media repo
2014-12-02 19:51:47 +00:00
Mark Haines
279c48c8b4
Write the upload portion of version 1 of the media repository
2014-12-02 17:13:14 +00:00