Call enqueue interceptor for retained messages (fix) (#2212)

* Call the event handler also for retained messages

* Update release notes

* Add Unit Test
This commit is contained in:
Christian
2025-10-19 21:21:47 +02:00
committed by GitHub
parent 51979fa5a4
commit 5ebc5fcb7e
6 changed files with 104 additions and 48 deletions
@@ -284,13 +284,20 @@ public sealed class MqttConnectedClient : IDisposable
return;
}
if (subscribeResult.RetainedMessages != null)
if (subscribeResult.RetainedMessages == null)
{
foreach (var retainedMessageMatch in subscribeResult.RetainedMessages)
return;
}
foreach (var retainedMessageMatch in subscribeResult.RetainedMessages)
{
if (await _eventContainer.ShouldSkipEnqueue(string.Empty, Id, retainedMessageMatch.ApplicationMessage))
{
var publishPacket = MqttPublishPacketFactory.Create(retainedMessageMatch);
Session.EnqueueDataPacket(new MqttPacketBusItem(publishPacket));
continue;
}
var publishPacket = MqttPublishPacketFactory.Create(retainedMessageMatch);
Session.EnqueueDataPacket(new MqttPacketBusItem(publishPacket));
}
}