forked-synapse/tests
Shay 429ecb7564
Handle remote download responses with UNKNOWN_LENGTH more gracefully (#17439)
Prior to this PR, remote downloads which did not provide a
`content-length` were decremented from the remote download ratelimiter
at the max allowable size, leading to excessive ratelimiting - see
https://github.com/element-hq/synapse/issues/17394.

This PR adds a linearizer to limit concurrent remote downloads to 6 per
IP address, and decrements remote downloads without a `content-length`
from the ratelimiter *after* the download is complete and the response
length is known.

Also adds logic to ensure that responses with a known length respect the
`max_download_size`.
2024-07-16 11:13:55 +01:00
..
api Add a short sleep if the request is rate-limited (#17210) 2024-05-18 12:03:30 +01:00
app Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
appservice Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
config Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
crypto Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
events Add event.internal_metadata.instance_name (#17300) 2024-06-13 11:32:50 -05:00
federation Support MSC3916 by adding a federation /thumbnail endpoint and authenticated _matrix/client/v1/media/thumbnail endpoint (#17388) 2024-07-08 10:11:20 +01:00
handlers Add room subscriptions to Sliding Sync /sync (#17432) 2024-07-15 10:37:10 +01:00
http Support MSC3916 by adding _matrix/client/v1/media/download endpoint (#17365) 2024-07-02 14:07:04 +01:00
logging Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
media Handle remote download responses with UNKNOWN_LENGTH more gracefully (#17439) 2024-07-16 11:13:55 +01:00
metrics Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
module_api Require the 'from' parameter for /notifications be an integer (#17283) 2024-06-19 10:05:39 +01:00
push Finish up work to allow per-user feature flags (#17392) 2024-07-05 13:02:35 +01:00
replication Fix bug in sliding sync when using old DB. (#17398) 2024-07-08 20:30:23 +01:00
rest Handle remote download responses with UNKNOWN_LENGTH more gracefully (#17439) 2024-07-16 11:13:55 +01:00
scripts Update license headers 2023-11-21 15:29:58 -05:00
server_notices Update license headers 2023-11-21 15:29:58 -05:00
state Update license headers 2023-11-21 15:29:58 -05:00
storage Add rooms.bump_stamp to Sliding Sync /sync for easier client-side sorting (#17395) 2024-07-08 13:17:08 -05:00
test_utils Add rooms.required_state to Sliding Sync /sync (#17342) 2024-07-04 12:25:36 -05:00
types Use immutabledict instead of frozendict (#15113) 2023-03-22 17:15:34 +00:00
util Add optimisation to StreamChangeCache (#17130) 2024-05-06 12:56:52 +01:00
__init__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
server.py Remove unnecessary call to resume producing in fake channel (#17449) 2024-07-16 09:52:39 +01:00
test_distributor.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_event_auth.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_federation.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_mau.py Update license headers 2023-11-21 15:29:58 -05:00
test_phone_home.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_rust.py Add missing type hints to tests. (#15027) 2023-02-08 19:52:37 +00:00
test_server.py Update license headers 2023-11-21 15:29:58 -05:00
test_state.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_terms_auth.py Update license headers 2023-11-21 15:29:58 -05:00
test_test_utils.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_types.py Fix bug where sync could get stuck when using workers (#17438) 2024-07-15 16:13:04 +01:00
test_visibility.py Include user membership on events (#17282) 2024-06-13 21:45:54 +00:00
unittest.py Add room subscriptions to Sliding Sync /sync (#17432) 2024-07-15 10:37:10 +01:00
utils.py Improve lock performance when a lot of locks are waiting (#16840) 2024-03-14 13:49:54 +00:00