Bug 317284 - KTP presence applet shows "Online" icon when connection isn't yet established
Summary: KTP presence applet shows "Online" icon when connection isn't yet established
Status: RESOLVED INTENTIONAL
Alias: None
Product: telepathy
Classification: Frameworks and Libraries
Component: presence-applet (show other bugs)
Version: 0.5.80
Platform: openSUSE Linux
: NOR normal
Target Milestone: Future
Assignee: Telepathy Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-24 17:39 UTC by S
Modified: 2013-04-08 17:09 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
achieved status, original icons from presence applet (30.27 KB, image/png)
2013-03-25 13:45 UTC, S
Details
"transitional status" icons, quick hack I made (8.29 KB, image/png)
2013-03-25 13:45 UTC, S
Details

Note You need to log in before you can comment on or make changes to this bug.
Description S 2013-03-24 17:39:50 UTC
Hi,

I'm running the 0.5.80 dev packages available in the Telepathy Unstable repos for KDE on openSUSE 12.3

The presence applet sometimes doesn't accurately reflect the actual status. Especially this is true when first logging into KDE, before it has a chance to connect. For a short time it shows the "Available" icon, even though the mouseover tooltip correctly says that the status is "Offline". Then it shows an animated "connecting" icon, and then it actually connects and shows the "Available" icon, which is finally correct.

Also, when I manually disconnect from the Internet, it continues to show the "Available" status icon, even though the mouseover status says "Offline". When I click on the presence icon, launching the contacts, then it realizes it is offline and changes the presence icon to the red X.

Ideally, the presence applet should notice when the connection has failed or gone offline, and it should correctly reflect that and show the actual status, not the desired status.

Thanks for looking into this!

Reproducible: Always
Comment 1 David Edmundson 2013-03-24 19:06:05 UTC
To use our terminology we show "requested status" and not "current status".

This was a deliberate change at the time to fix http://bugs.kde.org/302508. 

The summary is: 
 - presence applet has to match the contact list, otherwise it looks broken
 - contact list has to show requested otherwise to look like a combobox otherwise that's confusing

I will leave this open for a while, because I do want some discussion and brainstorming from everyone, but I do _not_ want any devs to make the obvious change it to fix this report because that just reopens the bug above.


@S
I'm surprised it's not changing when you go offline, could you tell us if you using network manager?
Comment 2 S 2013-03-25 13:44:29 UTC
Thanks very much for considering this report. I understand the other point of view, that the icon should reflect "requested status" so that the user understands that it is attempting to obey the user's selected status. I have a suggestion that might satisfy both this bug and also #302508: While it is trying to connect, it shows an animated icon that clearly conveys progress, that it is trying to establish a connection. I like that, and it makes sense, because it clearly conveys that current attempt to the user. Of course, "trying to connect" is not truly a status that a user can set for his IM presence, but even so it useful and not confusing. I would call it a "transitional status". So maybe an additional "transitional status" could be considered for when the user has requested a status but network or other conditions make it temporarily impossible to achieve that status. It could display an icon that looks just like the icon that corresponds to the requested status, but with a small splash of color to indicate that it's not quite there yet, that it's still in a "transitional status". (The exception would be if the user requests "Offline". That should always be achievable, and it should immediately obey and disconnect and show the red X.) I am adding an attachment to show what I mean. This could be a quick fix. Maybe in the future, something fancier like showing a small animated blob rotating around the border of the icon could be used to indicate that it is in a "transitional status".

As for the icon not changing when I go offline, yes, I am using Network Manager. But I do have the "Network Status" service disabled in the KDE Services KCM, to reduce the memory footprint of KDE. Maybe that has something to do with it?

Thanks for looking into this!
Comment 3 S 2013-03-25 13:45:12 UTC
Created attachment 78375 [details]
achieved status, original icons from presence applet
Comment 4 S 2013-03-25 13:45:49 UTC
Created attachment 78376 [details]
"transitional status" icons, quick hack I made
Comment 5 Martin Klapetek 2013-03-25 14:10:21 UTC
This transitional status you're talking about is conveyed by the spinning "busy" indicator on top of the icon, which is basically the same as you're proposing, except we're using Plasma theme for that, so it's consistent with other stuff in your Plasma. It should go away as soon as the last account is connected (and all is at the requested presence), otherwise it spins and spins and spins until it goes offline.
Comment 6 S 2013-03-25 14:34:34 UTC
> This transitional status you're talking about is conveyed by the spinning
> "busy" indicator on top of the icon, which is basically the same as you're
> proposing, except we're using Plasma theme for that, so it's consistent with
> other stuff in your Plasma. It should go away as soon as the last account is
> connected (and all is at the requested presence), otherwise it spins and
> spins and spins until it goes offline.

Well, in that case, it would be good to make the busy indicator appear immediately whenever the "requested status" and "current status" don't match.
Comment 7 David Edmundson 2013-04-08 17:09:42 UTC
Marking this as wontfix. 

We've been through most of these things already, what we have is what we consider to be the best solution.

You may be encountering lag in the UI if network manager is partly disabled, but there's no way round that (except for you to enable it).