summary refs log tree commit diff
path: root/synapse/api
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/api
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/api')
-rw-r--r--synapse/api/constants.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/synapse/api/constants.py b/synapse/api/constants.py
index 46c4b4b9dc..51ee078bc3 100644
--- a/synapse/api/constants.py
+++ b/synapse/api/constants.py
@@ -120,6 +120,19 @@ KNOWN_ROOM_VERSIONS = {
     RoomVersions.STATE_V2_TEST,
 }
 
+
+class EventFormatVersions(object):
+    """This is an internal enum for tracking the version of the event format,
+    independently from the room version.
+    """
+    V1 = 1
+
+
+KNOWN_EVENT_FORMAT_VERSIONS = {
+    EventFormatVersions.V1,
+}
+
+
 ServerNoticeMsgType = "m.server_notice"
 ServerNoticeLimitReached = "m.server_notice.usage_limit_reached"