diff options
author | Brendan Abolivier <babolivier@matrix.org> | 2020-01-07 15:22:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-07 15:22:07 +0100 |
commit | 0ab5853ec93a75622e847aaf24efa91ae0037301 (patch) | |
tree | 1ee2eb0b109ebf1448579ad04478a08e5f5a2478 | |
parent | Add a background update to clear tombstoned rooms from the directory (#6648) (diff) | |
parent | Changelog (diff) | |
download | synapse-0ab5853ec93a75622e847aaf24efa91ae0037301.tar.xz |
Merge pull request #6652 from matrix-org/babolivier/depth_missing_events
Fix conditions failing if min_depth = 0
-rw-r--r-- | changelog.d/6652.bugfix | 1 | ||||
-rw-r--r-- | synapse/handlers/federation.py | 4 | ||||
-rw-r--r-- | synapse/storage/data_stores/main/event_federation.py | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/changelog.d/6652.bugfix b/changelog.d/6652.bugfix new file mode 100644 index 0000000000..7e9781d652 --- /dev/null +++ b/changelog.d/6652.bugfix @@ -0,0 +1 @@ +Fix a bug causing Synapse not to fetch missing events when it believes it has every event in the room. diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py index 72a0febc2b..61b6713c88 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py @@ -248,13 +248,13 @@ class FederationHandler(BaseHandler): prevs = set(pdu.prev_event_ids()) seen = await self.store.have_seen_events(prevs) - if min_depth and pdu.depth < min_depth: + if min_depth is not None and pdu.depth < min_depth: # This is so that we don't notify the user about this # message, to work around the fact that some events will # reference really really old events we really don't want to # send to the clients. pdu.internal_metadata.outlier = True - elif min_depth and pdu.depth > min_depth: + elif min_depth is not None and pdu.depth > min_depth: missing_prevs = prevs - seen if sent_to_us_directly and missing_prevs: # If we're missing stuff, ensure we only fetch stuff one diff --git a/synapse/storage/data_stores/main/event_federation.py b/synapse/storage/data_stores/main/event_federation.py index 5cb8cd96d1..60c67457b4 100644 --- a/synapse/storage/data_stores/main/event_federation.py +++ b/synapse/storage/data_stores/main/event_federation.py @@ -470,7 +470,7 @@ class EventFederationStore(EventFederationWorkerStore): def _update_min_depth_for_room_txn(self, txn, room_id, depth): min_depth = self._get_min_depth_interaction(txn, room_id) - if min_depth and depth >= min_depth: + if min_depth is not None and depth >= min_depth: return self.db.simple_upsert_txn( |