diff --git a/flow-client/src/main/java/com/vaadin/client/communication/MessageSender.java b/flow-client/src/main/java/com/vaadin/client/communication/MessageSender.java index 8dc9eb0463c..eca61f6f449 100644 --- a/flow-client/src/main/java/com/vaadin/client/communication/MessageSender.java +++ b/flow-client/src/main/java/com/vaadin/client/communication/MessageSender.java @@ -231,12 +231,6 @@ private void sendPayload(final JsonObject payload) { payload.put(ApplicationConstants.CLIENT_TO_SERVER_ID, clientToServerMessageId++); - if (!registry.getRequestResponseTracker().hasActiveRequest()) { - // Direct calls to send from outside probably have not started - // request. - registry.getRequestResponseTracker().startRequest(); - } - if (push != null && push.isBidirectional()) { // When using bidirectional transport, the payload is not resent // to the server during reconnection attempts. @@ -248,6 +242,12 @@ private void sendPayload(final JsonObject payload) { pushPendingMessage = payload; push.push(payload); } else { + if (!registry.getRequestResponseTracker().hasActiveRequest()) { + // Direct calls to send from outside probably have not started + // request. + registry.getRequestResponseTracker().startRequest(); + } + Console.debug("send XHR"); registry.getXhrConnection().send(payload);