summary refs log tree commit diff
path: root/synapse/config/server.py
diff options
context:
space:
mode:
authorPablo Saavedra <psaavedra@igalia.com>2017-05-13 18:17:54 +0200
committerPablo Saavedra <psaavedra@igalia.com>2017-05-13 18:17:54 +0200
commit9da4316ca574f2d552136941d92ce722fabfe29e (patch)
treeda47f6200995f07c8651cd1413cefb920b679674 /synapse/config/server.py
parentMerge pull request #2214 from matrix-org/rav/hurry_up_purge (diff)
downloadsynapse-9da4316ca574f2d552136941d92ce722fabfe29e.tar.xz
Configurable maximum number of events requested by /sync and /messages (#2220)
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.

For example, using `filter_timeline_limit: 5000`:

POST /_matrix/client/r0/user/user:id/filter
{
room: {
    timeline: {
      limit: 1000000000000000000
    }
}
}

GET /_matrix/client/r0/user/user:id/filter/filter:id

{
room: {
    timeline: {
      limit: 5000
    }
}
}

The server cuts down the room.timeline.limit.
Diffstat (limited to 'synapse/config/server.py')
-rw-r--r--synapse/config/server.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/synapse/config/server.py b/synapse/config/server.py
index 25e6666238..3910b9dc31 100644
--- a/synapse/config/server.py
+++ b/synapse/config/server.py
@@ -35,6 +35,8 @@ class ServerConfig(Config):
         # "disable" federation
         self.send_federation = config.get("send_federation", True)
 
+        self.filter_timeline_limit = config.get("filter_timeline_limit", -1)
+
         if self.public_baseurl is not None:
             if self.public_baseurl[-1] != '/':
                 self.public_baseurl += '/'
@@ -161,6 +163,10 @@ class ServerConfig(Config):
         # The GC threshold parameters to pass to `gc.set_threshold`, if defined
         # gc_thresholds: [700, 10, 10]
 
+        # 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.
+        # filter_timeline_limit: 5000
+
         # List of ports that Synapse should listen on, their purpose and their
         # configuration.
         listeners: