Duplicate message when open fire disconnect an idle client

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 :confused: