Open toomim opened 1 year ago
For Question 2, I'm copying the pros/cons of "Requiring Patches: 1
in Subscription Responses" from #96 here:
- In requests,
Patches: N
is already optional because of the existing semantics of HTTP'sPATCH
method- In responses,
Patches: 1
is optional but this is ambiguous in the spec at the moment we're not sure if it should be required or notThe remainder of work to decide on in this issue is whether
patches: 1
is mandatory in subscriptions when a transaction contains 1 patch.For / against:
- Make
patches: 1
in subscription responses optional:
- In some systems sending multiple patches within a transaction is invalid so they wouldn't need to implement parsing for that header
- The network protocol is simpler and smaller (1 less header)
- This is symmetric with the logic for
PATCH
requests- Or make
patches: X
in subscription responses mandatory, even when only one patch is being sent
- As Mike said, the logic for this will generally be needed anyway
- And if that logic is implemented, requiring it will make the parser a bit simpler (since there aren't multiple modes or anything like that)
In https://github.com/braid-org/braid-spec/issues/96 we realized that the Braid-HTTP illustrates a range of ways to express Updates (aka "New Version" messages), but doesn't fully articulate the general form. This results in a lot of confusing ambiguity about what the spec allows.
I propose writing up a general form for Updates:
This should satisfy the questions raised in issue #96, and ensure we have symmetry across range requests and responses in the design under consideration in https://github.com/braid-org/braid-spec/issues/97#issuecomment-1684888647.
Finally, once we articulate the general space of possible updates, we also noted in https://github.com/braid-org/braid-spec/issues/96#issuecomment-786359966 that we might want to impose some constraints on this general form in practice, so we should deliberate what those might be, and articulate any that we want to impose.
Open Questions:
Patches: 1
in subscription responses as mentioned in issue 97, that might simplify implementations?