Jicofo: sendPresenceExtension triggering "other" participant presence?

Hi,
We’re seeing a strange behavior with certain customizations in Jicofo.

When calling setConferenceProperty (which calls sendPresenceExtension) from within processOtherPresence, we subsequently see presences from participants (not focus) being received, then again passed into processOtherPresence. This creates a high risk of infinite loops.

Example:
-> processOtherPresence(participant1_presence) -> setConferenceProperty(k, v) -> sendPresenceExtension(conferenceProperties) -> focus presence getting sent
…then, immediately after…
-> processOtherPresence(participant1_presence_new) -> …

Does anyone have an idea how this happens?
I don’t see these presences being sent over client-side http-bind requests, but they do show up as c2s in the prosody debug logs.

Thanks for any ideas,
Ben
cc @Boris_Grozev @Pawel_Domas

Looking after setConferenceProperty usages I don’t see how this flow could happen. You can try enabling XMPP traffic logging in Jicofo and once you have a specific example we can try to figure out if it’s a real issue.

Uncomment this line to enable XMPP logging: