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

Fully specify room versions #3432

Merged
merged 14 commits into from Nov 1, 2021
Merged

Fully specify room versions #3432

merged 14 commits into from Nov 1, 2021

Conversation

turt2live
Copy link
Member

@turt2live turt2live commented Oct 7, 2021

Fixes #3153

Builds on top of #3423 (merged)
Builds on top of #3425 (merged)


The general approach taken for this is to reuse as much as possible when the text would be duplicated beyond trivial copy/paste. For example, v1's state resolution algorithm is left as-is in v1.md, but v2's state res algorithm is split out to a "fragment" because more than 2 room versions will be making reference to it.

Some things somewhat arbitrarily did (or didn't) get converted into fragments depending on how annoying it was to make it a fragment. An example of this is the auth rule changes in v6 and v7: while a lot of the text could be broken out to fragments, it's actually easier to just copy/paste the whole thing and manually make edits. Other room versions won't be making use of the algorithms as defined, so it's not worth breaking out to a fragment as a whole either. v3's auth rules got carried over up until v5 however, so it got split out.

Additionally, every room version now has an "Unchanged from vPrev" heading so readers can easily see what the whole room version looks like. I've tried to keep the heading order roughly the same between room versions, and deliberately put the client-facing redactions algorithm last so client authors can avoid the server-side stuff as much as possible (didn't even want the possibility for them to scroll down into server stuff and become confused).


This is probably best reviewed from a rendered version of the spec, if you can dig out a link from our CI (sorry).

Preview: https://pr3432--matrix-org-previews.netlify.app

@turt2live turt2live added the blocked Something needs to be done before action can be taken on this PR/issue. label Oct 7, 2021
@turt2live
Copy link
Member Author

turt2live commented Oct 7, 2021

as of writing, the spec build for this is viewable at https://circleci.com/gh/matrix-org/matrix-doc/24984/artifacts/0/public/index.html

@richvdh richvdh self-requested a review October 7, 2021 09:14
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.

I've not done a complete review, but this certainly looks like the right direction imho - thank you very much @turt2live for putting the work in to improve this!

content/rooms/fragments/v3-auth-rules.md Outdated Show resolved Hide resolved
content/rooms/fragments/v3-auth-rules.md Show resolved Hide resolved
content/rooms/fragments/v3-auth-rules.md Outdated Show resolved Hide resolved
content/rooms/v1.md Outdated Show resolved Hide resolved
content/rooms/v4.md Outdated Show resolved Hide resolved
@turt2live turt2live removed the blocked Something needs to be done before action can be taken on this PR/issue. label Oct 14, 2021
@turt2live turt2live force-pushed the travis/fully-doc-room-versions branch from fe21c16 to 8dbbf94 Compare October 14, 2021 20:29
@turt2live
Copy link
Member Author

@richvdh redactions should be differently clear now. The rendered spec is probably better to review than the code side, given all the templating and such.

@turt2live turt2live requested a review from a team October 14, 2021 20:30
@richvdh richvdh self-requested a review October 18, 2021 14:38
@richvdh
Copy link
Member

richvdh commented Oct 18, 2021

content/client-server-api/_index.md Outdated Show resolved Hide resolved
content/rooms/v4.md Outdated Show resolved Hide resolved
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
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.

Generally, I'm a big fan of this change. I have nitpicking about exactly how we arrange the words, but everything here is a big improvement.

content/rooms/v6.md Outdated Show resolved Hide resolved
layouts/shortcodes/rver-fragment.html Show resolved Hide resolved
content/rooms/fragments/v3-auth-rules.md Outdated Show resolved Hide resolved
content/rooms/v6.md Outdated Show resolved Hide resolved
content/rooms/v6.md Outdated Show resolved Hide resolved
content/rooms/v6.md Outdated Show resolved Hide resolved
content/rooms/v6.md Outdated Show resolved Hide resolved
content/rooms/v6.md Outdated Show resolved Hide resolved
content/rooms/v7.md Outdated Show resolved Hide resolved
@richvdh
Copy link
Member

richvdh commented Nov 1, 2021

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.

🎉

content/rooms/v4.md Outdated Show resolved Hide resolved
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
@turt2live turt2live merged commit 241e01c into main Nov 1, 2021
@turt2live turt2live deleted the travis/fully-doc-room-versions branch November 1, 2021 14:49
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.

Room versions should have text to describe them in full
2 participants