On 22.06.2015 05:35, Marius Vollmer wrote:
Stef Walter <stefw(a)redhat.com> writes:
> On 18.06.2015 03:17, Marius Vollmer wrote:
>> Once we have feature negotiation, I think we should not ignore unknown
>> messages anymore. It is better to know whether or not your peer will
>> understand a specific message and adapt to it.
> The entire protocol is based around ignoring stuff it doesn't know
> about. This starts with fields in JSON open messages ... new control
> messages and so on.
Yes, I agree. 'Crashing' because of unknown messages is not useful in
production. (It might help during development, maybe.)
We talked about this further....
The plan for Cockpit has always been that by and large a compatible
componentize, in the way we load the code from the destination system, etc.
This relieves most of the complexity of protocol feature detection and
negotiation from most of the code.
The exception to this is dashboard code. The "capabilities" logic in
cockpit-bridge was meant to help with these few corner cases.
But ... it's buggy. Lets treat this as bugs, update Cockpit in the
places where this buggy code exists, and move on.
We don't need to add further layers of complexity because we encountered
these bugs. We're still in early stages of making this all work, so bugs
aren't totally unexpected. Of course, it's important to double check
that they're actually fixed this time around.