summary refs log tree commit diff
path: root/synapse/events
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2019-01-23 11:11:52 +0000
committerErik Johnston <erik@matrix.org>2019-01-23 11:30:01 +0000
commitc5a296b10c53aa523facf16c3a4c918f93b8188c (patch)
treed17212410a737d80859c95ba2aea433ec32bf571 /synapse/events
parentMerge pull request #4434 from matrix-org/erikj/fix_user_ips_dedup (diff)
downloadsynapse-c5a296b10c53aa523facf16c3a4c918f93b8188c.tar.xz
Add support for persisting event format versions
Currently we only have the one event format version defined, but this
adds the necessary infrastructure to persist and fetch the format
versions alongside the events.

We specify the format version rather than the room version as:

1. We don't necessarily know the room version, existing events may be
   either v1 or v2.
2. We'd need to be careful to prevent/handle correctly if different
   events in the same room reported to be of different versions, which
   sounds annoying.
Diffstat (limited to 'synapse/events')
-rw-r--r--synapse/events/__init__.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/synapse/events/__init__.py b/synapse/events/__init__.py
index 84c75495d5..310075c2b1 100644
--- a/synapse/events/__init__.py
+++ b/synapse/events/__init__.py
@@ -18,6 +18,9 @@ from distutils.util import strtobool
 
 import six
 
+from synapse.api.constants import (
+    EventFormatVersions,
+)
 from synapse.util.caches import intern_dict
 from synapse.util.frozenutils import freeze
 
@@ -179,6 +182,8 @@ class EventBase(object):
 
 
 class FrozenEvent(EventBase):
+    format_version = EventFormatVersions.V1  # All events of this type are V1
+
     def __init__(self, event_dict, internal_metadata_dict={}, rejected_reason=None):
         event_dict = dict(event_dict)