mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-25 11:05:49 +03:00
Add a default limit (of 100) to get/sync operations. (#7858)
This commit is contained in:
parent
4642fd66df
commit
852930add7
4 changed files with 18 additions and 4 deletions
1
changelog.d/7858.misc
Normal file
1
changelog.d/7858.misc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
The default value of `filter_timeline_limit` was changed from -1 (no limit) to 100.
|
|
@ -102,7 +102,9 @@ pid_file: DATADIR/homeserver.pid
|
||||||
#gc_thresholds: [700, 10, 10]
|
#gc_thresholds: [700, 10, 10]
|
||||||
|
|
||||||
# Set the limit on the returned events in the timeline in the get
|
# Set the limit on the returned events in the timeline in the get
|
||||||
# and sync operations. The default value is -1, means no upper limit.
|
# and sync operations. The default value is 100. -1 means no upper limit.
|
||||||
|
#
|
||||||
|
# Uncomment the following to increase the limit to 5000.
|
||||||
#
|
#
|
||||||
#filter_timeline_limit: 5000
|
#filter_timeline_limit: 5000
|
||||||
|
|
||||||
|
|
|
@ -207,7 +207,7 @@ class ServerConfig(Config):
|
||||||
# errors when attempting to search for messages.
|
# errors when attempting to search for messages.
|
||||||
self.enable_search = config.get("enable_search", True)
|
self.enable_search = config.get("enable_search", True)
|
||||||
|
|
||||||
self.filter_timeline_limit = config.get("filter_timeline_limit", -1)
|
self.filter_timeline_limit = config.get("filter_timeline_limit", 100)
|
||||||
|
|
||||||
# Whether we should block invites sent to users on this server
|
# Whether we should block invites sent to users on this server
|
||||||
# (other than those sent by local server admins)
|
# (other than those sent by local server admins)
|
||||||
|
@ -693,7 +693,9 @@ class ServerConfig(Config):
|
||||||
#gc_thresholds: [700, 10, 10]
|
#gc_thresholds: [700, 10, 10]
|
||||||
|
|
||||||
# Set the limit on the returned events in the timeline in the get
|
# Set the limit on the returned events in the timeline in the get
|
||||||
# and sync operations. The default value is -1, means no upper limit.
|
# and sync operations. The default value is 100. -1 means no upper limit.
|
||||||
|
#
|
||||||
|
# Uncomment the following to increase the limit to 5000.
|
||||||
#
|
#
|
||||||
#filter_timeline_limit: 5000
|
#filter_timeline_limit: 5000
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ from twisted.internet import defer
|
||||||
|
|
||||||
from synapse.api.errors import InteractiveAuthIncompleteError
|
from synapse.api.errors import InteractiveAuthIncompleteError
|
||||||
from synapse.api.urls import CLIENT_API_PREFIX
|
from synapse.api.urls import CLIENT_API_PREFIX
|
||||||
|
from synapse.types import JsonDict
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -51,7 +52,15 @@ def client_patterns(path_regex, releases=(0,), unstable=True, v1=False):
|
||||||
return patterns
|
return patterns
|
||||||
|
|
||||||
|
|
||||||
def set_timeline_upper_limit(filter_json, filter_timeline_limit):
|
def set_timeline_upper_limit(filter_json: JsonDict, filter_timeline_limit: int) -> None:
|
||||||
|
"""
|
||||||
|
Enforces a maximum limit of a timeline query.
|
||||||
|
|
||||||
|
Params:
|
||||||
|
filter_json: The timeline query to modify.
|
||||||
|
filter_timeline_limit: The maximum limit to allow, passing -1 will
|
||||||
|
disable enforcing a maximum limit.
|
||||||
|
"""
|
||||||
if filter_timeline_limit < 0:
|
if filter_timeline_limit < 0:
|
||||||
return # no upper limits
|
return # no upper limits
|
||||||
timeline = filter_json.get("room", {}).get("timeline", {})
|
timeline = filter_json.get("room", {}).get("timeline", {})
|
||||||
|
|
Loading…
Reference in a new issue