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

MSC3137: Define space room type, subset of MSC1772 #3137

Closed
wants to merge 3 commits into from

Conversation

t3chguy
Copy link
Member

@t3chguy t3chguy commented Apr 20, 2021

@turt2live turt2live added client-server Client-Server API kind:core MSC which is critical to the protocol's success proposal A matrix spec change proposal labels Apr 21, 2021
@t3chguy t3chguy marked this pull request as ready for review April 27, 2021 15:48
Join rules, invites and 3PID invites work as for a normal room, with the
exception that `invite_state` sent along with invites should be amended to
include the `m.room.create` event, to allow clients to discern whether an
invite is to a space-room or not.
Copy link
Member

Choose a reason for hiding this comment

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

Is there a reason this section made it in? Feels weird given the definition of a 'room list' didn't make it.

Copy link
Member

Choose a reason for hiding this comment

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

(I assume this applies to lines 32-48)

It might be best to remove this section for now and instead position the MSC as introducing a type (in counter to MSC1840, but without the bloat of Filter APIs), with m.space as a reserved identifier for something called "Spaces". This way, the spec has a path forward that disassociates the MSC from 1772.

Space-rooms are distinguished from regular messaging rooms by the presence of a
`type: m.space` property in the content of the `m.room.create` event. This allows clients to
offer slightly customised user experience depending on the purpose of the
room. Currently, no server-side behaviour is expected to depend on this property.
Copy link
Member

Choose a reason for hiding this comment

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

A bit of guidance on what a client that understands only this MSC might do could be nice, eg. display the room or hide it.

Copy link
Member

@turt2live turt2live left a comment

Choose a reason for hiding this comment

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

overall this makes sense to me, but we may need to pivot the MSC a bit to get it in ahead of 1772.

proposals/3137-spaces-room-type.md Outdated Show resolved Hide resolved

All other behaviours, additional functionality, endpoints, state events are to be
defined by other MSCs to allow the greatest flexibility.

Copy link
Member

Choose a reason for hiding this comment

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

Just to fill in the bits needed for FCP to be considered:

Suggested change
The `type` contains a normal identifier ([MSC2758](https://github.com/matrix-org/matrix-doc/pull/2758))
and should be assumed to be of a generic (ie: conversational) type when not present.

Join rules, invites and 3PID invites work as for a normal room, with the
exception that `invite_state` sent along with invites should be amended to
include the `m.room.create` event, to allow clients to discern whether an
invite is to a space-room or not.
Copy link
Member

Choose a reason for hiding this comment

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

(I assume this applies to lines 32-48)

It might be best to remove this section for now and instead position the MSC as introducing a type (in counter to MSC1840, but without the bloat of Filter APIs), with m.space as a reserved identifier for something called "Spaces". This way, the spec has a path forward that disassociates the MSC from 1772.


Proposed final identifier | Purpose | Development identifier
------------------------------- | ------- | ----
`type` | property in `m.room.create` | `org.matrix.msc1772.type`
Copy link
Member

Choose a reason for hiding this comment

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

shouldn't the type be org.matrix.msc1840.type or something, given types are defined in MSC1840?

Copy link
Member Author

Choose a reason for hiding this comment

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

That would mean we lose all existing spaces twice

Copy link
Member

Choose a reason for hiding this comment

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

oh - i see, #1840 is mutable typing, whereas this is introducing immutable typing.

Co-authored-by: Travis Ralston <travpc@gmail.com>
@@ -0,0 +1,91 @@
# Proposal for Matrix Spaces room type
Copy link
Member

Choose a reason for hiding this comment

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

I'm somewhat with @erikjohnston in being confused on what it means to define a 'type of room to be a space' in advance of defining what a space actually is. Does this really need to be split out from #1772? Can we get #1772 through FCP instead?

Copy link
Member Author

Choose a reason for hiding this comment

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

If we can then even better. This was written solely for the worry that that would take too long

@t3chguy
Copy link
Member Author

t3chguy commented Apr 29, 2021

Closing with the dream of MSC1772 passing FCP asap

@t3chguy t3chguy closed this Apr 29, 2021
@t3chguy t3chguy deleted the t3chguy/msc/space-type branch April 29, 2021 16:43
@turt2live turt2live added abandoned A proposal where the author/shepherd is not responsive and removed proposal-in-review labels Apr 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
abandoned A proposal where the author/shepherd is not responsive client-server Client-Server API kind:core MSC which is critical to the protocol's success proposal A matrix spec change proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants