Bug 203344 - Presence applet sometimes reports wrong presence when a CM doesn't support a particular presence
Summary: Presence applet sometimes reports wrong presence when a CM doesn't support a ...
Status: RESOLVED FIXED
Alias: None
Product: telepathy
Classification: Frameworks and Libraries
Component: presence-applet (show other bugs)
Version: git-latest
Platform: Unlisted Binaries Linux
: NOR normal
Target Milestone: 0.4.0
Assignee: Telepathy Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-10 19:25 UTC by George Goldberg
Modified: 2012-07-06 12:47 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description George Goldberg 2009-08-10 19:25:00 UTC
This is a slightly tricky one, as I haven't found a 100% guaranteed way to reproduce it, but the way outlined below nearly always seems to work for me.

The example:

If I set a gabble/jabber account to presence state "invisible", it sometimes appears on the presence applet as that, even though gabble/jabber doesn't support the status invisible, and MC cascades to Busy instead.

Reproduce: Set a gabble/jabber account to "online". Once it has come online, set it to "invisible". This may stay at invisible, or change quickly to "busy". If it stays at "invisible", you can see the bug already :). If it changes to "busy", then set it to "invisible" again. This time it normally stays at "invisible" even though the account is actually set to "busy".
Comment 1 Abner Silva 2009-08-13 20:33:07 UTC
Using a timer to set up a timeout for the updating presence msg. Sometimes
when we try to set up an invalid presence status (like some xmpp server that
doesn't supports invisible presence) the data engine will not emit any
presence changed signal and the applet will wait forever for that signal.
This timer will avoid this blocking situation. So when it timeouts the
applet will return to the last presence status.

BUG: 203344
BUG: 203345

 M  +17 -1     presencewidget.cpp
 M  +2 -0      presencewidget.h


WebSVN link: http://websvn.kde.org/?view=rev&revision=1010985