Spark shouldn't add Offline status when a user goes invisible

Description

When a Spark users sets his status to invisible, on another Spark client a status icon correctly switches to offline 'gray' icon and the contact drops from the connected users part of a group to the bottom of the group. But it also gets an "- Offline" text status. Which lets more sophisticated users to guess, that he is not actually offline, but just switched to the invisible mode.

This is not happening when someone logins as invisible. So it only adds this when a status is changing from Online to Offline. May be related to how Spark handles different than Online statuses with different languages. If one is using not an English GUI language, then Spark is adding text statuses for online users if they use some other language and Online is translated to some other word, like "Prisijunges". Normally Spark is not showing text status for Online, but it will show this translated value for every online user in your list if you are not using the same language GUI as they.

Environment

None

Activity

Show:
wroot
November 7, 2016, 5:06 AM

Ah, that only happened with one user i was testing with (which has some weird privacy settings). Although i don't know how to reset privacy settings for that user. I remove them, but it doesn't save. Might be related to

speedy
November 6, 2016, 10:08 PM

I've gone invisible-online-invisible-online a dozen or so times, and can't reproduce. However, I once say a "delay" - from the 2nd client, it looked like it was going offline, then flashed online, then went to "invisible". I'll keep working on it!

wroot
November 6, 2016, 12:49 PM

I'm not sure i fully understand your fix. But i think the problem is that when getting from invisible back to online it is probably trying to apply a previously stored presence? Although not sure why it works once, but then do not work on a second try.

speedy
November 6, 2016, 12:32 PM

Wow..thats not good. i didnt expience any of that. Ill try to reproduce and see what i can come up with. Perhaps instead of using null, using some whitespace(a few spaces maybe) might be better?

wroot
November 6, 2016, 11:15 AM

Have merged https://github.com/igniterealtime/Spark/pull/255
On a first try it works ok. But if you try to go invisible, then online and then again invisible, then it shows no status text (because you are nullifying it previously), and then it just stays as online for another party no matter what you do. I will also link to this ticket another issue (Login as invisible), though it's another problem.

Even with 254 PR only it is sometimes getting stuck as Online for another side while you are changing presences on the first side. Usually something changes when you change to invisible once and then pick some other presence.

Fixed

Priority

Minor

Assignee

speedy

Reporter

wroot

Affects versions

Fix versions