<div dir="ltr"><div dir="ltr">This sounds like generally a good direction to me, but I don't understand the details yet.<div><br></div><div>One tiny correction: </div></div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">My understanding is that right now, unison simply assumes that the<br>
remote side speaks the same protocol, and things deteriorate from there<br>
if it is not true (because of a 2.48/2.51 mismatch).<br></blockquote><div><br></div><div>There's an explicit check for version number compatibility, not an assumption. So things don't deteriorate; they just stop. :-)</div><div><br></div><div>Keeping socket mode seems like a good idea if possible. I do think there are people out there with useful use cases. (Unison gets applied an an astonishing range of situations.)</div><div><br></div><div>You're probably already thinking about this, but one critical aspect of protocol negotiation is the set of preferences that each side supports. We did take the step a few years ago of introducing "client-only" preferences, which can be added without bumping the protocol number. But this scheme is getting fancier than that!</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> 2.51.5 will simply announce as 2.51.5<br>
<br>
2.51.5, if it sees the remote as 2.51.5 or higher, instead of starting<br>
the old protocol, will send the first message of the "determine<br>
supported proto versions negotiation protocol". If it sees something<br>
earlier, it will just do the old protocol.<br></blockquote><div><br></div><div>I'm not 100% clear how this will work. If the <u>type</u> of some data structure changes, then how will the code be able to switch protocols without some kind of translation layer?</div><div><br></div><div> - B</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
</blockquote></div></div>