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

[WIP] MSC3710: User groups #3710

Closed
wants to merge 5 commits into from
Closed

[WIP] MSC3710: User groups #3710

wants to merge 5 commits into from

Conversation

minecraftchest1
Copy link

@minecraftchest1 minecraftchest1 commented Feb 5, 2022

I have just started working om the document ang opened this PR tonget the MSC id. It still has most of the template text, but I have added to it.

rendered

@minecraftchest1 minecraftchest1 changed the title [WIPY [WIP] Add user groups to Matrix Feb 5, 2022
@minecraftchest1 minecraftchest1 marked this pull request as draft February 5, 2022 20:00
Expand the actual proposal and add an introduction
Comment on lines +23 to +26
Currently, Matrix does not seem to have any way to create groups of users for any purpouse, weither
that for assigning power levels in a room, or to set restrictions on what users can do on the server.
Because of that, I feel that matrix is not ready for ise in buisnesses, and I feel that it is something
that is missing and should be added as it can serve other uses.
Copy link
Member

Choose a reason for hiding this comment

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

this sounds like Spaces to be honest

Copy link
Author

Choose a reason for hiding this comment

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

Can you apply power levels to everyone in a space at once? I was thinkimg of something like spaces but it consists of users rather then rooms.

Copy link
Contributor

Choose a reason for hiding this comment

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

#2962 and #3216 and #2812 are existing proposals for similar things

Choose a reason for hiding this comment

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

Correct me if I'm wrong, but applying permissions to members of a Space room (#2962) is equal in functionality to applying permissions to an arbitrary new system of grouping users into a list. The latter seems like it would take more work to implement on everyone's part when the infrastructure already exists.

Copy link
Author

Choose a reason for hiding this comment

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

You are not wrong. I didn't look for possibly similar msc's (fail on my part). It will probably be easier.

Wonders if there is a way to ping a space.

Choose a reason for hiding this comment

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

Wonders if there is a way to ping a space.

Assuming concurrency with Discord's notion of "pings", currently you can only @ users. Spaces are just rooms, so it would be theoretically easy to implement: send a message to a space room that sends notifications to each of the members of that space. I think it would also be necessary to check if the user is a member of or can join the room the "ping" comes from so they can action on it.

@turt2live turt2live changed the title [WIP] Add user groups to Matrix [WIP] MSC3710: User groups Feb 6, 2022
@turt2live turt2live added client-server Client-Server API kind:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal labels Feb 6, 2022
@minecraftchest1
Copy link
Author

minecraftchest1 commented Feb 6, 2022

Transcript of messages in matrix-spec room related to this msc

2/5/2022, 2:16:34 PM - minecraftchest1: Hello. I started working on a MSC today, and I would like to share it. This is my first MSC, and I am still in the early stages of getting my thoughts written down, but I would like some feedback still.
2/5/2022, 2:16:46 PM - minecraftchest1: <@minecraftchest1:matrix.org "Hello. I started working on a MS..."> https://github.com/matrix-org/matrix-doc/pull/3710
2/5/2022, 2:17:30 PM - Šimon Brandner: The MSC just seems to be a copy of the template?
2/5/2022, 2:18:09 PM - Cat: There is some non template text in there 
2/5/2022, 2:19:03 PM - Nico: <@cat:feline.support "There is some non template text ..."> Pretty hard to spot
2/5/2022, 2:19:10 PM - Cat: Yes i know
2/5/2022, 2:19:19 PM - Cat: Still also this feature reeks of 1 thing
2/5/2022, 2:19:23 PM - Cat: COMMUNITITES 
2/5/2022, 2:19:35 PM - minecraftchest1: I copied it and started adding to it without cleaning it out so I could refer to it later. I don't have anything in the opening, but there is some stuff in the second section. 
2/5/2022, 2:19:57 PM - Cat: it reeks of being communities resurrected and slightly modified 
2/5/2022, 2:20:15 PM - minecraftchest1: I am trying to get it pulled up on my laptop to work on rather then my tablet.
2/5/2022, 2:20:49 PM - Šimon Brandner: Yes, I don't exactly understand why would we want server-admin defined groups of users, though I haven't read the full text
2/5/2022, 2:21:04 PM - Cat: Also btw just to inform the formal name for Communities is Groups so groups actually are a part of the spec already 
2/5/2022, 2:21:10 PM - Cat: and they are awfully similar to this 
2/5/2022, 2:21:55 PM - Nico: <@cat:feline.support "Also btw just to inform the form..."> They are not really part of the spec
2/5/2022, 2:22:15 PM - Cat: <@deepbluev7:neko.dev "They are not really part of the ..."> well this is what i mean with the next sentence i was going to write before i scrapped it 
2/5/2022, 2:22:52 PM - Cat: nobody even knows if they are spec or not but we all are united behind that groups v1 was a colossal failure in some ways especially with spaces existing
2/5/2022, 2:23:47 PM - minecraftchest1: My thought, though not in the doc yet, is that fields and stuff in the group would be inherited by users, and that it would be used by companies as a way to restrict stuff like who can create public rooms and stuff.
2/5/2022, 2:24:04 PM - Cat: Now am i saying this MSC is bad well its too early to tell but i can say be aware that the name groups is a name that has a history in matrix 
2/5/2022, 2:24:47 PM - Cat: <@minecraftchest1:matrix.org "My thought, though not in the do..."> You want essentially homeserver level Security Groups? 
2/5/2022, 2:25:06 PM - Šimon Brandner: <@minecraftchest1:matrix.org "My thought, though not in the do..."> Ah, ok that makes more sense, hmm
2/5/2022, 2:25:26 PM - minecraftchest1: As for the groups only being able to be managed by admins is something I expect to be a setting somewhere.
2/5/2022, 2:25:33 PM - Šimon Brandner: What exactly would Matrix have as a role with this, why not just make it a homeserver config thing?
2/5/2022, 2:26:15 PM - Cat: <@simon.brandner:envs.net "What exactly would Matrix have a..."> If its useful to more than 1 Homeserver implementation it can be argued it doesnt hurt to make it spec 
2/5/2022, 2:26:32 PM - Cat: especially if it has applications that are generic enough 
2/5/2022, 2:27:07 PM - Šimon Brandner: What I meant would this be controlled by events in a room or...?
2/5/2022, 2:27:54 PM - minecraftchest1: <@cat:feline.support "You want essentially homeserver ..."> I'll have to look to see what that is. I am rather new and haven't had the chance to really dig into the spec yet.

P.S.: Why is typing on a tablet harder then typing on a phone?
2/5/2022, 2:28:44 PM - Cat: Tbh i need to see more before i judge it. Also this reminds me to spend tomorrow on writing a MSC that describes Cats ACL slots idea. 
2/5/2022, 2:29:12 PM - ninchuka: <@minecraftchest1:matrix.org "I'll have to look to see what th..."> gotta reach to type :P and I would recommend checking the spec to see if its got what your thinking of already or not :P
2/5/2022, 2:29:58 PM - minecraftchest1: <@simon.brandner:envs.net "What I meant would this be contr..."> I don't know. I haven't looked into the specifics of how it would work yet. I haven't had this idea that long.
2/5/2022, 2:30:03 PM - Cat: <@minecraftchest1:matrix.org "I'll have to look to see what th..."> Security Groups is the name for the Access Control groups used in Windows. Distribution Groups are used to control email aliases. I see this feature as a mix of both so it reminds me a lot of Discord Roles. 
2/5/2022, 2:30:54 PM - ninchuka: discord like roles would be nice, where you could name them and stuff
2/5/2022, 2:31:04 PM - Cat: Half baked MSCs that is a fun thing. I made a half baked MSC once and well i admit it can go south. 
2/5/2022, 2:32:18 PM - Cat: This implementation tho it sounds more like a resurrection of the old Groups system to get there than the kind of very hostile to conduit aparently ideas i have been workshopping in my head on if they could work that are all room level.

(My idea being hostile to conduit specifically is something i have been told but the exact reason is aparently some programming reason i haven't looked into.)
2/5/2022, 2:32:55 PM - ninchuka: 😅 why are your idea's very hostile to conduit?
2/5/2022, 2:33:44 PM - minecraftchest1: <@cat:feline.support "Security Groups is the name for ..."> Oh. I thought it was something already in the spec.
2/5/2022, 2:35:52 PM - minecraftchest1: <@cat:feline.support "Security Groups is the name for ..."> I do think it it similar to windows security groups, and I also thought or Discord roles. I also have an idea for a spec that defines server privileges that can be attached to users or groups, similar to discord.
2/5/2022, 2:37:25 PM - Cat: Either it was my version of Hybrid RBAC or it was my idea for how to make ownership Exchanges for rooms that was hostile. (Hybrid because its essentially the current PL system with some tweaks plus Cosmetic names for these sets of powers)
2/5/2022, 2:38:01 PM - Cat: And as far as i get it its not a Rust issue its specifically due to how Ruma and Conduit work

@minecraftchest1
Copy link
Author

minecraftchest1 commented Feb 16, 2022 via email

@minecraftchest1
Copy link
Author

I am closing this as I have stopped working on this as there are better MSC's that reach most of what I want, and as implementation is harder then I thought at first.

@turt2live turt2live added the abandoned A proposal where the author/shepherd is not responsive label Jul 19, 2022
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:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants