-
Notifications
You must be signed in to change notification settings - Fork 380
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
Update the room creation API spec to include new keys: 'preset' and 'initial_state' #63
Conversation
What happened to the preset that auto-ops the person you invite (for 1:1 chats which are owned equally by both parties)?
|
I believe we decided that we were just going to do |
- ``private_chat``: Sets the ``join_rules`` to ``invite`` and | ||
``history_visibility`` to ``shared`` | ||
- ``public_chat``: Sets the ``join_rules`` to ``public`` and | ||
``history_visibility`` to ``shared`` |
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.
Both of these are shared
? I thought one was joined
?
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.
private_chat
used to be joined
, but that caused confusion and so is being changed back to shared
in the next synapse release
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.
Ahh okay, not going insane then! :D
LGTM modulo clarifications - I will use this information to make a YAML file for |
Can you remember what the rationale was for ignoring auto-opping? Right now the preset is not doing anything that we couldn't do just by setting join rules - i thought autoopping was the main thig we wanted out of it... |
No idea |
okay - given the function (from memory) looks to be implemented in synapse but deliberately turned off, can you dredge back through the logs or commits or whatever to find out why? It seems wrong to add preset functionality to the spec if it doesn't buy us anything new, and suggests the presets we're defining may be wrong.
|
It never will, its simply there as a convenience. To get the "everyone has ops" functionality you would just need to set the power levels power levels appropriately in the "intiail_state" key. If anything the presets are more about giving consistent suggestions for what "private" and "public" rooms should look like (by default).
The only reason I can think of is that you wouldn't necessarily want to give initially invited people ops in a private chat, and it might be a bit surprising that initially invited users and subsequently invited users are treated differently by default. |
Okay, but it's not just convenience (shortcuts for setting initial state) but trying to provide good defaults for clients to use. Whilst clients can set default power levels in initial_state we risk them doing so very inconsistently, breaking Matrix's UX.
Agreed - if you include "1:1" as one of the presets.
However, there's also b) create a 1:1 chat, where as per spec-7 i thought we were all agreed that you want both parties to control the convo - eg rename it, change its photo, etc. Can we add a 1:1 preset to support this behaviour? |
Yup, what do you want to call it? |
(I don't particularly fancy calling it "one to one" if its not one to one specific and with all the discussion about exactly how we want to actually do one to one in the longer term.) |
If you're going to create an "invite-only" room, then why do you have to "op" (by which I presume "give a high value for power level") each user individually? Why not just set that the user default value is, say, 100? That achieves the effect that anyone in the room has full power of 100. Now creator, initial invitee(s) and any other subsequent ones are all treated equally. |
"private_chat_shared_power" |
leo: this is all that the preset does. it just does it via a preset or macro for convenience. |
I dislike the name The point of these presets from what I know is to provide "sensible defaults" depending on what you're trying to do. AFAIK we want each preset to map to a use case:
I agree with @erikjohnston that calling it If we really must have this preset now now now (which I feel is a mistake to rush) then what we're describing is a private group chat where everyone has ops. This may be desirable for close friends who you trust not to mess everything up. Something like |
trusted_private_chat wfm. I continue to think it is a huge mistake to make rooms strictly 1:1 and stop people ever being invitable. If our history visibility semantics are eventually sorted out, we should always be able to protect the history of a room when folks chose to invite in a 3rd party.
|
I also like
What is the aim of this? Alice and Bob have a PM going on. Bob invites Charlie who may or may not be able to see the history depending on |
I am assuming we have better opt-in history semantics as per spec-210; letting users say whether they are willing for their history to be viewable by others. If two people in a 1:1 both opt into sharing history with others, there should be nothing stopping them from inviting others into that room imo. We could possibly still create the room with an default invite threshold that needs to be reconfigured to allow this, but I hate the idea of arbitrarily crippling rooms to permenantly be 1:1.
|
Okay, that works for me on the condition that we have proper opt-in semantics for history. |
yay! 💃 |
This PR LGTM after we reword to |
done |
LGTM |
lgtm |
Update the room creation API spec to include new keys: 'preset' and 'initial_state'
No description provided.