That means ws://localhost:1234 and ws://localhost:1234/?foo=bar do work fine but ws://localhost:1234?foo=bar doesn't work. I don't think URI's authority should have a trailing slash regardless of query string but am not quite sure in terms of specification. (However even Node.js's url module doesn't add a trailing slash to authority when formatting a url object.)
Anyway, ws 0.7.2 requires to do that and we need to work around it. The issue is reported to websockets/ws#258 and websockets/ws#386