Skip to content
Snippets Groups Projects
Commit 17e0a580 authored by Erik Johnston's avatar Erik Johnston Committed by GitHub
Browse files

Merge pull request #1615 from matrix-org/erikj/limit_prev_events

Limit the number of prev_events of new events
parents 34449cfc a4632783
No related branches found
No related tags found
No related merge requests found
......@@ -34,6 +34,7 @@ from ._base import BaseHandler
from canonicaljson import encode_canonical_json
import logging
import random
logger = logging.getLogger(__name__)
......@@ -415,6 +416,20 @@ class MessageHandler(BaseHandler):
builder.room_id,
)
# We want to limit the max number of prev events we point to in our
# new event
if len(latest_ret) > 10:
# Sort by reverse depth, so we point to the most recent.
latest_ret.sort(key=lambda a: -a[2])
new_latest_ret = latest_ret[:5]
# We also randomly point to some of the older events, to make
# sure that we don't completely ignore the older events.
if latest_ret[5:]:
sample_size = min(5, len(latest_ret[5:]))
new_latest_ret.extend(random.sample(latest_ret[5:], sample_size))
latest_ret = new_latest_ret
if latest_ret:
depth = max([d for _, _, d in latest_ret]) + 1
else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment