Hello there,
I'm facing a strange problem when open fire disconnect an idle client, this is how I reproduce :
Using strophe.js, I have 2 instance of same client connected in 2 differents tabs of my browser :
ClientA@MyDomain/ressource1 is connected in tab 1
ClientA@MyDomain/ressource2 is connected in tab 2
Another client on another tab :
ClientB@MyDomain/ressource1 is connected in tab 3
I close tab 1
Send a message from ClientA (tab 2) to ClientB : "hello test"
ClientB send a message to ClientA : "test ok"
I wait 30s, openfire detect the idle ClientA :
org.jivesoftware.openfire.http.HttpSessionManager - Closing idle session: ClientA@MyDomain/ressource1
My problem happens at this moment, ClientA@MyDomain/ressource2 receive all messages he sends again :
ClientA : "Hello test"
ClientB : "test ok"
--openfire close idle session
ClientA : "Hello test"
ClientB : "test ok"
I have route.all-ressources set to true (working).
Nothing special when I send messages... :
// Send message var timestamp = new Date().getTime(); var msg = $msg({from: connection.jid, to: bare_jid, type: 'chat', id: timestamp}) .c('body').t(message).up()); connection.send(msg); // Forward message to all ressources var forwarded = $msg({to:my_bare_jid, type:'chat', id:timestamp}) .c('forwarded', {xmlns:'urn:xmpp:forward:0'}) .c('delay', {xmns:'urn:xmpp:delay',stamp:timestamp}).up() .cnode(msg.tree());
Hope you have an idea :/