ServerWritableStreamImpl::end breach the SOLID
It look code at below link is breach Barbara Liskov's substitution principle: https://github.com/grpc/grpc-node/blob/db39ba245c3872e3b5d57a296d744cce63e23bf2/packages/grpc-js/src/server-call.ts#L234
It overrides behaviour of method 'end' https://nodejs.org/api/stream.html#writableendchunk-encoding-callback
I do not believe it violates that principle. The argument is optional, so that method can be used without the argument as though it is the superclass method. If that does not address your concern can you be more specific about what violation you see?
Unfortunately I've used it with argument like it described here: https://nodejs.org/api/stream.html#writableendchunk-encoding-callback
And I've spent an hour and went through code of grpc-js before I've realized that the method contract was changed and there is no any notes about it in the documentation: https://grpc.github.io/grpc/node/
You're right, it does override those other arguments.