mirror of
https://github.com/matrix-org/matrix-spec
synced 2025-12-25 10:28:37 +01:00
Fixes https://github.com/matrix-org/matrix-doc/issues/2307 These restrictions are due to a Synapse change which never made it to the spec prior to the MSC process. This is therefore documenting an omission. Synapse's numbers are verified here:207b1737ee/synapse/handlers/federation.py (L1183-L1213)... and Synapse's handling of the backfill endpoint is described here:207b1737ee/synapse/handlers/federation.py (L829-L837)This also includes a mention that https://github.com/matrix-org/matrix-doc/pull/1594 should render the `auth_events` limitation unnecessary. No changes are required to the the "checks on receipt of a PDU" section of the server-server spec as it starts with "must be a valid event", to which an event is invalid if it contains too many prev or auth events.
54 lines
1.9 KiB
YAML
54 lines
1.9 KiB
YAML
# Copyright 2019 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.
|
|
type: object
|
|
title: Persistent Data Unit
|
|
description: A persistent data unit (event) for room version 4 and beyond.
|
|
example:
|
|
$ref: "../examples/pdu_v4.json"
|
|
allOf:
|
|
- $ref: "pdu_v3.yaml"
|
|
- type: object
|
|
properties:
|
|
redacts:
|
|
type: string
|
|
description: For redaction events, the ID of the event being redacted.
|
|
example: "$def_456-oldevent"
|
|
auth_events:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: Event ID.
|
|
description: |-
|
|
Event IDs for the authorization events that would
|
|
allow this event to be in the room.
|
|
|
|
Must contain less than or equal to 10 events. Note that if the relevant
|
|
auth event selection rules are used, this restriction should never be
|
|
encountered.
|
|
example: ["$URLsafe-base64EncodedHash", "$Another_Event"]
|
|
prev_events:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: Event ID.
|
|
description: |-
|
|
Event IDs for the most recent events in the room
|
|
that the homeserver was aware of when it made this event.
|
|
|
|
Must contain less than or equal to 20 events.
|
|
example: ["$URLsafe-base64EncodedHash", "$Another_Event"]
|
|
required:
|
|
- auth_events
|
|
- prev_events
|