Hi Logan,
Welcome to the wolfSSL Forums.
QoS1 messages may be duplicated, this is just part of the standard. If your application needs "once-and-only-once", QoS2 is what you're looking for.
It wasn't clear from your post which side your application is; are you using wolfMQTT as the client, broker. or both?
You should be able to discern if the message is a duplicate by checking the `msg->duplicate` field in the callback when a message is received.
Let us know if that helps.
Thanks,
Eric -wolfSSL Support