Hello Jeff,
Formally, it is correct to get the message back if you subscribed to the same topic.
I think that this decision is up to the implementator of the broker and if you want to manage active-active bridge you can resolve infinite echo by splitting re-publishing flow, just like this:
if (package.sender.isLocal) {
sendToLocalSubscribers();
sendToBridges();
}
if (package.sender.isBridge) {
sendToLocalSubscribers();
}
I think that get origination of the packet's sender is easy, for a reason - you have to track all of the connections in the broker.
Good luck!