diff --git a/ChangeLog.txt b/ChangeLog.txt index d46ad7a3..1e84a1c1 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,6 +1,11 @@ 1.4.9 - 20160xxx ================ +Broker: +- Ensure websockets clients that previously connected with clean session set + to false have their queued messages delivered immediately on reconnecting. + Closes #476314. + Client library: - Fix the case where a message received just before the keepalive timer expired would cause the client to miss the keepalive timer. diff --git a/src/websockets.c b/src/websockets.c index d79fabf7..87d33f5f 100644 --- a/src/websockets.c +++ b/src/websockets.c @@ -218,6 +218,8 @@ static int callback_mqtt(struct libwebsocket_context *context, return -1; } + mqtt3_db_message_write(db, mosq); + if(mosq->out_packet && !mosq->current_out_packet){ mosq->current_out_packet = mosq->out_packet; mosq->out_packet = mosq->out_packet->next;