Closed franziskuskiefer closed 2 weeks ago
This looks great so far. I have a few questions.
Currently MLS RFC section 12.2-3.8 specifies that a proposal list for a commit is invalid if it has more than one Group Context Extension Proposal.
I'm guessing the same reasoning for that rule might mean that a commit can not have more than one "gce_update" proposal, is that correct?
Is it right to assume that a single commit could not contain both a "gce_update" proposal and the group context proposal?
When the extension exists in the group context, the values are extended with the values from the extension list item.
- I'm guessing the same reasoning for that rule might mean that a commit can not have more than one "gce_update" proposal, is that correct?
- Is it right to assume that a single commit could not contain both a "gce_update" proposal and the group context proposal?
Good points. Yes, I'll add validation rules like this here. In particular:
A commit is invalid if it contains more than one gce_update
proposal, or a gce_update
and group_context_extensions
.
3. For the above line, is it correct to say that the values for the extension that exists in group context are "replaced by" the values of the extension from the gce_update proposal, or does "extended with" mean something slightly different in this context?
The extension values are merged. This should be more specific indeed. But the main point of this proposal is to not replace, but merge the values. What wording would you suggest?
@franziskuskiefer This was never presented/discussed on list or at a meeting. Is this still something you want to get in?
This extension suffers from two problems:
- I'm guessing the same reasoning for that rule might mean that a commit can not have more than one "gce_update" proposal, is that correct?
It seems perfectly reasonable to have more than one gce_update proposal as long as the same extension is not referenced in more than one gce_update.
- Is it right to assume that a single commit could not contain both a "gce_update" proposal and the group context proposal?
agreed
Good points. Yes, I'll add validation rules like this here. In particular: A commit is invalid if it contains more than one
gce_update
proposal, or agce_update
andgroup_context_extensions
.
- For the above line, is it correct to say that the values for the extension that exists in group context are "replaced by" the values of the extension from the gce_update proposal, or does "extended with" mean something slightly different in this context?
The extension values are merged. This should be more specific indeed. But the main point of this proposal is to not replace, but merge the values. What wording would you suggest?
for a given extension, you should be able to add a value, update its value, or remove the extension.
Oh I totally lost track of this one. I agree @rohanmahy that this isn't fully fleshed out. Seeing that #26 got merged I think the question is if #26 is doing the right thing and if it may cover the use case here as well. Or if it's better to have a more light weight mechanism. In any case would this one need to be adapted to work in the context of #26.
In that case, I'll close this for now. Feel free to open it again, if and when you start working on it.
A proposal type to update rather than replace group context extensions. This is somewhat related to #26 as it allows to update extension data more efficiently.