• Oran Agra's avatar
    Fix broken protocol when PUBLISH emits local push inside MULTI (#12326) · 8ad8f0f9
    Oran Agra authored
    When a connection that's subscribe to a channel emits PUBLISH inside MULTI-EXEC,
    the push notification messes up the EXEC response.
    
    e.g. MULTI, PING, PUSH foo bar, PING, EXEC
    the EXEC's response will contain: PONG, {message foo bar}, 1. and the second PONG
    will be delivered outside the EXEC's response.
    
    Additionally, this PR changes the order of responses in case of a plain PUBLISH (when
    the current client also subscribed to it), by delivering the push after the command's
    response instead of before it.
    This also affects modules calling RM_PublishMessage in a similar way, so that we don't
    run the risk of getting that push mixed together with the module command's response.
    8ad8f0f9
networking.c 176 KB