don't print to stderr unless sbt.client.debug=true
(we could do something fancier with configurable logging someday)
pass through unknown messages as UnknownMessage, which allows
clients to see them and decide how to respond or just print them
out for debugging. Previously we converted them all to ErrorResponse,
which was sort of bogus since you'd get a spontaneous response
instead of an event.
An important point about this setup is that unknown events and requests
are "allowed" (it's part of the protocol that you're supposed to ignore
them), while unknown responses are not (if the responses to a request change,
that isn't backward compatible). We still convert unknown responses to
ErrorResponse, and ignore UnknownMessage.
An important point about this setup is that unknown events and requests are "allowed" (it's part of the protocol that you're supposed to ignore them), while unknown responses are not (if the responses to a request change, that isn't backward compatible). We still convert unknown responses to ErrorResponse, and ignore UnknownMessage.