Browse Source

Revert "Drop unused tables & unneeded access token ID for events. (#16268)" (#16465)

This reverts commit cabd57746004fe2dacc11aa8d373854a3d25e306.

There are additional usages of these tables
which need to be removed first.
Patrick Cloke 7 months ago
parent
commit
4cc729d480

+ 0 - 1
changelog.d/16268.misc

@@ -1 +0,0 @@
-Clean-up unused tables.

+ 6 - 2
synapse/handlers/message.py

@@ -693,9 +693,13 @@ class EventCreationHandler:
         if require_consent and not is_exempt:
             await self.assert_accepted_privacy_policy(requester)
 
-        # Save the the device ID and the transaction ID in the event internal metadata.
-        # This is useful to determine if we should echo the transaction_id in events.
+        # Save the access token ID, the device ID and the transaction ID in the event
+        # internal metadata. This is useful to determine if we should echo the
+        # transaction_id in events.
         # See `synapse.events.utils.EventClientSerializer.serialize_event`
+        if requester.access_token_id is not None:
+            builder.internal_metadata.token_id = requester.access_token_id
+
         if requester.device_id is not None:
             builder.internal_metadata.device_id = requester.device_id
 

+ 2 - 2
synapse/storage/schema/__init__.py

@@ -125,8 +125,8 @@ Changes in SCHEMA_VERSION = 82
 
 
 SCHEMA_COMPAT_VERSION = (
-    # The event_txn_id table and tables from MSC2716 no longer exist.
-    82
+    # The `event_txn_id_device_id` must be written to for new events.
+    80
 )
 """Limit on how far the synapse codebase can be rolled back without breaking db compat
 

+ 0 - 24
synapse/storage/schema/main/delta/82/03_drop_old_tables.sql

@@ -1,24 +0,0 @@
-/* Copyright 2023 The Matrix.org Foundation C.I.C
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
--- Drop the old event transaction ID table, the event_txn_id_device_id table
--- should be used instead.
-DROP TABLE IF EXISTS event_txn_id;
-
--- Drop tables related to MSC2716 since the implementation is being removed
-DROP TABLE insertion_events;
-DROP TABLE insertion_event_edges;
-DROP TABLE insertion_event_extremities;
-DROP TABLE batch_events;