• exec/websocketservice.js

    From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Jul 25 17:53:21 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/12951b03152f018744441521
    Modified Files:
    exec/websocketservice.js
    Log Message:
    websocketservice.js: a client disconnect isn't an error

    A short write means the peer went away, which is the normal way a
    WebSocket proxy session ends - not an exception. SendToServer() and SendToWebSocketClient() now return false in that case and the proxy loop breaks, matching how the existing null returns from GetFromServer() / GetFromWebSocketClient() are already handled. The failure is logged at LOG_DEBUG instead of surfacing in data/error.log:

    srvc 3408 WSS Error: SendToWebSocketClientVersion7 only sent 0 of
    138 bytes

    The throws were added in 1f087a43ce9 (rejected-29-rule).

    The literal "0" in that message is specific to a TLS (WSS) session: js_socket_sendsocket() returns -1 on a plaintext socket error but a byte
    count for every TLS outcome, so JS can't tell a closed connection from a
    short write. Tracked separately as GitLab #1199.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)