From 66dc75ec0555669b38b5446df40ddadcd76ef70c Mon Sep 17 00:00:00 2001
From: erikjohnston
Date: Wed, 14 Sep 2022 20:25:14 +0000
Subject: deploy: 80bb098d8775cc2ad1bf5abd150913577e643481
---
latest/development/cas.html | 2 +-
latest/development/contributing_guide.html | 3 ++-
latest/development/database_schema.html | 18 +++++++++++++++++-
latest/development/demo.html | 2 +-
latest/development/dependencies.html | 8 ++------
latest/development/experimental_features.html | 2 +-
latest/development/git.html | 2 +-
latest/development/internal_documentation/index.html | 2 +-
latest/development/releases.html | 2 +-
latest/development/reviews.html | 2 +-
latest/development/room-dag-concepts.html | 2 +-
latest/development/saml.html | 2 +-
.../development/synapse_architecture/cancellation.html | 2 +-
13 files changed, 31 insertions(+), 18 deletions(-)
(limited to 'latest/development')
diff --git a/latest/development/cas.html b/latest/development/cas.html
index 3fa6697f71..f1933efb7c 100644
--- a/latest/development/cas.html
+++ b/latest/development/cas.html
@@ -76,7 +76,7 @@
diff --git a/latest/development/contributing_guide.html b/latest/development/contributing_guide.html
index c98d112e67..c6e4c274a4 100644
--- a/latest/development/contributing_guide.html
+++ b/latest/development/contributing_guide.html
@@ -76,7 +76,7 @@
@@ -187,6 +187,7 @@ pipx install poetry
but see poetry's installation instructions
for other installation methods.
+Synapse requires Poetry version 1.2.0 or later.
Next, open a terminal and install dependencies as follows:
cd path/where/you/have/cloned/the/repository
poetry install --extras all
diff --git a/latest/development/database_schema.html b/latest/development/database_schema.html
index f6b579226e..901808363e 100644
--- a/latest/development/database_schema.html
+++ b/latest/development/database_schema.html
@@ -76,7 +76,7 @@
@@ -308,6 +308,22 @@ default value is the string "FALSE"
- wh
in Python, evaluates to True
.
+
+In room versions 1
and 2
it's possible to end up with two events with the
+same event_id
(in the same or different rooms). After room version 3
, that
+can only happen with a hash collision, which we basically hope will never
+happen.
+There are several places in Synapse and even Matrix APIs like GET /_matrix/federation/v1/event/{eventId}
+where we assume that event IDs are globally unique.
+But hash collisions are still possible, and by treating event IDs as room
+scoped, we can reduce the possibility of a hash collision. When scoping
+event_id
in the database schema, it should be also accompanied by room_id
+(PRIMARY KEY (room_id, event_id)
) and lookups should be done through the pair
+(room_id, event_id)
.
+There has been a lot of debate on this in places like
+https://github.com/matrix-org/matrix-spec-proposals/issues/2779 and
+MSC2848 which
+has no resolution yet (as of 2022-09-01).
diff --git a/latest/development/demo.html b/latest/development/demo.html
index 8a63aa8b2c..e845b6be79 100644
--- a/latest/development/demo.html
+++ b/latest/development/demo.html
@@ -76,7 +76,7 @@
diff --git a/latest/development/dependencies.html b/latest/development/dependencies.html
index 5bab1846ce..75cda34011 100644
--- a/latest/development/dependencies.html
+++ b/latest/development/dependencies.html
@@ -76,7 +76,7 @@
@@ -323,11 +323,7 @@ doesn't require poetry. (It's what we use in CI too). However, you could try
poetry build
too.
-At the time of writing, the 1.2 series is beta only. We have seen some examples
-where the lockfiles generated by 1.2 prereleasese aren't interpreted correctly
-by poetry 1.1.x. For now, use poetry 1.1.14, which includes a critical
-change needed to remain
-compatible with PyPI.
+The minimum version of poetry supported by Synapse is 1.2.
It can also be useful to check the version of poetry-core
in use. If you've
installed poetry
with pipx
, try pipx runpip poetry list | grep poetry-core
.
diff --git a/latest/development/experimental_features.html b/latest/development/experimental_features.html
index 81a98d560a..696cf0b781 100644
--- a/latest/development/experimental_features.html
+++ b/latest/development/experimental_features.html
@@ -76,7 +76,7 @@
diff --git a/latest/development/git.html b/latest/development/git.html
index d51a4da527..436b6cb0c7 100644
--- a/latest/development/git.html
+++ b/latest/development/git.html
@@ -76,7 +76,7 @@
diff --git a/latest/development/internal_documentation/index.html b/latest/development/internal_documentation/index.html
index 086f5a7504..0bc42d3181 100644
--- a/latest/development/internal_documentation/index.html
+++ b/latest/development/internal_documentation/index.html
@@ -76,7 +76,7 @@
diff --git a/latest/development/releases.html b/latest/development/releases.html
index 12565c42ba..01faa600fc 100644
--- a/latest/development/releases.html
+++ b/latest/development/releases.html
@@ -76,7 +76,7 @@
diff --git a/latest/development/reviews.html b/latest/development/reviews.html
index 77b510813b..0e14676fb8 100644
--- a/latest/development/reviews.html
+++ b/latest/development/reviews.html
@@ -76,7 +76,7 @@
diff --git a/latest/development/room-dag-concepts.html b/latest/development/room-dag-concepts.html
index fd5a054056..0ad287c56f 100644
--- a/latest/development/room-dag-concepts.html
+++ b/latest/development/room-dag-concepts.html
@@ -76,7 +76,7 @@
diff --git a/latest/development/saml.html b/latest/development/saml.html
index cc70db5d39..de94332fbe 100644
--- a/latest/development/saml.html
+++ b/latest/development/saml.html
@@ -76,7 +76,7 @@
diff --git a/latest/development/synapse_architecture/cancellation.html b/latest/development/synapse_architecture/cancellation.html
index f5c41c5fe4..3283f78c91 100644
--- a/latest/development/synapse_architecture/cancellation.html
+++ b/latest/development/synapse_architecture/cancellation.html
@@ -76,7 +76,7 @@
--
cgit 1.5.1