Spark 2.9.2 Allows Simultaneous Logins

It appears Spark 2.9.2 allows simultaneous logins. When a person does log into two locations at the same time it does funny things with the messages. If you are chatting with multiple people in tabs the messages are being duplicated across all open chat dialogs. Other funny things happen. Is there a way to prevent simultaneous logins?

We would need more details to understand the issue.

Simultaneous login is possible in any version of Spark or other client if every client is using different Resource, e.g bruce@domain/PC1 and bruce@domain/PC2. If you use same resource on both (say PC), then second login should not be allowed or should kick the first session (according to Resource Policy in Openfire settings). I’m guessing you were using same resource before (Spark 2.8.3 probably or just Spark) and in Spark 2.9.0 maybe it is now defaulting to hostname, so you get different values on different machines.

For the duplicating messages issue we need more details and maybe steps to reproduce. I suspect maybe Message Carbons feature is involved here (which shows same sent and received messages on all connected sessions). This feature is not completely implemented, but initial support is already added. But i’m not sure yet if it is to blame.

That is odd as we have always only been able to sign in with the same username and password at one location at a time. The other location would get signed out and a message about another user is logged in with that user id would appear.
To repeat this, try logging into spark with the same ID on two different PC’s. Have a person spark you and then start a new conversation with someone else but leave that tab open. When you chat with different people in the different spark windows one gets really messed up and starts copying the conversation from the other tabs into the other persons spark window. Really hard to explain see attached screenshot. Hopefully this picture helps illustrate the issue when chatting with two computers logged into spark with the same userID. I have removed any confidential information.

Updated: Replaced with a jpg to see all the text on the image.

As i have explained above, older Spark version had Resource set to i think “Spark”. So every new login on different PC would have the same full username (Full JID), e.g. bruce@domain/Spark. In such case based on your Resource Policy (which seems to be set to Kick older session) it would not allow two logins. But in Spark 2.9.0 it now defaults to using hostname as resource, so all your users now have usernames user@domain/PC. You login on one PC and it is bruce@domain/PC1, on another PC it will be bruce@domain/PC2. Both are considered different full usernames and that is why first session is not kicked out. This is a correct behavior in XMPP. To fix that you might use Client Control plugin and set default to version, so if you use same version everywhere it will always be bruce@domain/Spark x.x.x and then the kicking policy will work no matter on which PC you login.

I am able to reproduce the wrong tab issue and have filed a ticket, although i’m not sure if this is related to not fully implemented Carbons feature or just some visualization issue with message routing. https://issues.igniterealtime.org/browse/SPARK-2164

1 Like

Gotcha. That makes sense. I did see your post I was more referring to the visualization issue with messages. Thank you for creating a ticket.