-
Notifications
You must be signed in to change notification settings - Fork 384
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
Conversation
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.
Ideally @erikjohnston would review this one to ensure accuracy to the proposal, however once again I'll take anyone from the backend team. |
(sticking this back in the queue because github sucks for this kind of thing) |
There was a problem hiding this 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!
There was a problem hiding this 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
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 tounsigned_pdu_base
(all fields exceptevent_id
) where it can be reused inpdu
andpdu_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.