Hide Offline User does not work

When I go to Broadcast Message and select “Hide offline user” most of them disappear but about a dozen users are still listed.
I’ve cleared the roster cache and offline presence cache on server. I even increased the size of the roster cache because the efficiency was at 18%.
I’ve tried different versions of Spark and have tried uninstalling reinstalling Spark.

Any ideas on what is causing this and how to solve it?

I can’t reproduce this, so this might be something with your server or setup. Do you see the same on another PC with another user when opening Broadcast Message menu or just with that one user? These users are shown with gray bubbles? Are they really offline at that point or maybe they are just shown as offline? What Sessions page shows about them in Openfire Admin Console?

You may also check Openfire and Spark logs for any relevant errors:
/openfire/logs/all.log
C:\Users\User\AppData\Roaming\Spark\logs
There is a bunch of files, look through all of them and select events that correlate with the time of your issue.

It is the same on other users and computers. They’re not sure when it started to occur. The offline users have grey bubbles next to their names.

Also, I get many duplicate users listed. Users listed twice that are offline that is. they are really offline at the time.

Our server setup may be the cause. We have two servers and versions of Openfire connected to same database. they are not part of the same domain. One server is actively used and has the problem with offline users appearing when they should not. The other server is a test server that our R/D is using to test webchat.

It might be the reason as Spark is still caching some information, not just pulling from the server. So it might see a bit less different same user and shows them twice. What version of Spark and what versions of Openfire both in production and R/D?

When my users go to broadcast a message in their IM client, they see duplicate users that are offline. Also, there is a case where one user appears online and there are two offline listings for him. It doesn’t matter which version of Spark they use.

When the user checks the box “Hide offline user” several offline users are still listed in the list:

Also, getting many of these errors for different user names: Error storing offline presence of user: rachels
java.sql.SQLException: Violation of PRIMARY KEY constraint ‘ofPresence_pk’. Cannot insert duplicate key in object ‘dbo.ofPresence’. The duplicate key value is (rachels).

I have moved your last post to your older topic (it is essentially the same thing, although you have posted in Openfire section, but that doesn’t matter that much).

You only see duplicates in Broadcast window? You don’t see offline duplicates in regular roster/contacts window?

You can test this with Spark 2.9.0 nightly version to see if this issue still exists. First go to C:\Users\User\AppData\Roaming and rename Spark folder to Spark_old. Then install 2.9.0 and configure it as a new user and check how it behaves in Broadcast window. Then you can uninstall it and delete new Spark folder and rename Spark_old to Spark.

Next we can try running debug in Spark, but first do test with 2.9.0

Wasn’t sure which forum to post this question to since at first i thought it could be a IM client issue but I’m now more inclined to think it’s a server issue. Tried 2.9.0 with same issue.

I found out that the duplicates appear in the roster as well. However, they truly are separate and distinct user accounts. When you hover over over the duplicate names, the user login name appears and those are different. I have found out that almost all users have three different IM accounts. This is because the account they log into will depend on where they are located/what role they have at the moment. In their profile information, for their multiple accounts, they have the same first name and last name though. could this be the reason for offline users continuing to appear when clicking on “Hide” in Broadcast message?

The duplicate offline users appeared because they were using multiple login IDs for every user. They login to different IDs when they switch roles or are in another part of the facility. The problem is because even though the user name was different, the name of the user was the same on all of them. I changed them to be unique by editing the last name and putting a signifier there. After their last name I put the department in parenthesis. This fixed the offline users from appearing when “Hide offline user” was checked in Broadcast Message.

If it’s a server issue, we can always move the topic.

But i’m now not sure about this. Are you saying that you don’t know why you have duplicates in roster or that you deliberately create same contacts, just with different usernames? Are only names the same? Say;
user1@server - John Doe
user2@server - John Doe
In that case i think it probably shouldn’t matter that names are the same if usernames are different, but maybe Spark is confused by that (or Openfire). i have just tried to reproduce that and it worked fine for me in Spark, both users with the same name were hidden in broadcast window

In our case, it did matter that the names were the same. Spark wasn’t able to distinguish between the users until I made the changes like th efollowing:
jdoe1@server - John Doe
jdoe2@server - John Doe (2)
jdoe3@server - John Doe (3)
jdoe4@server - John Doe (4)

Ok, i was able to reproduce. One of them has to be online. I guess Broadcast message window only checks by names, not by usernames and as one of the instances is Online, it can’t hide the other, which is offline. II could file this as a ticket, but that’s a very rare case and i think it is ok to check just by names there.

https://issues.igniterealtime.org/browse/SPARK-2083