Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add specification for room version 3: Event IDs as hashes #1828

Merged
merged 6 commits into from
Feb 1, 2019

Conversation

turt2live
Copy link
Member

@turt2live turt2live commented Jan 31, 2019

Rendered: see 'docs' status check


Original proposal: #1659
Implementation proofs (some traversing of the PR tree may be required to get all of them):

This doesn't intentionally change anything from the proposal.

Implementation details:

The simple part of this is the introduction of a rooms/v3.html document. The somewhat unclear part is the stuff done to the s2s definitions. This pulls unsigned_pdu out to unsigned_pdu_base (all fields except event_id) where it can be reused in pdu and pdu_v3 (for rooms v3). These definitions are further moved into the room version specifications where they can highlight the exact schemas in detail.

Version 1 has been updated to include the pre-existing event format, however the core principles of the room have not been changed. The same applies to room version 2. Room versions have immutable core principles once in the spec, otherwise these format changes would land in a pre-existing version.

The client-server API event formats will need updating, however that is being punted to a different commit to try and keep these changes reviewable.

Original proposal: #1659
Implementation proofs (some traversing of the PR tree may be required to get all of them):
* matrix-org/synapse#4483
* matrix-org/synapse#4499

This doesn't intentionally change anything from the proposal.

**Implementation details**:

The simple part of this is the introduction of a rooms/v3.html document. The somewhat unclear part is the stuff done to the s2s definitions. This pulls `unsigned_pdu` out to `unsigned_pdu_base` (all fields except `event_id`) where it can be reused in `pdu` and `pdu_v3` (for rooms v3). These definitions are further moved into the room version specifications where they can highlight the exact schemas in detail.

Version 1 has been updated to include the pre-existing event format, however the core principles of the room have not been changed. The same applies to room version 2. Room versions have immutable core principles once in the spec, otherwise these format changes would land in a pre-existing version.

The client-server API event formats will need updating, however that is being punted to a different commit to try and keep these changes reviewable.
@turt2live turt2live requested a review from a team January 31, 2019 00:03
@turt2live
Copy link
Member Author

Ideally @erikjohnston would review this one to ensure accuracy to the proposal, however once again I'll take anyone from the backend team.

@turt2live turt2live requested a review from a team January 31, 2019 00:24
@turt2live
Copy link
Member Author

(sticking this back in the queue because github sucks for this kind of thing)

specification/index.rst Outdated Show resolved Hide resolved
Copy link
Member

@richvdh richvdh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is awesome, thank you!

api/server-server/definitions/pdu_v3.yaml Outdated Show resolved Hide resolved
api/server-server/definitions/pdu_v3.yaml Outdated Show resolved Hide resolved
api/server-server/definitions/pdu.yaml Outdated Show resolved Hide resolved
api/server-server/definitions/pdu_v3.yaml Outdated Show resolved Hide resolved
specification/rooms/v3.rst Outdated Show resolved Hide resolved
specification/rooms/v3.rst Outdated Show resolved Hide resolved
specification/rooms/v3.rst Outdated Show resolved Hide resolved
specification/rooms/v3.rst Outdated Show resolved Hide resolved
specification/rooms/v3.rst Outdated Show resolved Hide resolved
@turt2live turt2live requested a review from richvdh January 31, 2019 23:45
Copy link
Member

@richvdh richvdh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, just a few nits

specification/server_server_api.rst Outdated Show resolved Hide resolved
specification/rooms/v3.rst Outdated Show resolved Hide resolved
specification/rooms/v3.rst Outdated Show resolved Hide resolved
specification/rooms/v3.rst Outdated Show resolved Hide resolved
specification/rooms/v3.rst Outdated Show resolved Hide resolved
@turt2live turt2live merged commit df01acc into master Feb 1, 2019
@turt2live turt2live deleted the travis/spec/rooms-v3 branch February 1, 2019 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants