Bug 37069

Summary: Leaving away presence doesn't work in GTalk
Product: Telepathy Reporter: Marco Barisione <marco.barisione>
Component: gabbleAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: will
Version: git masterKeywords: patch
Hardware: Other   
OS: All   
URL: http://cgit.collabora.co.uk/git/user/bari/telepathy-gabble.git/log/?h=shared-presence
Whiteboard:
i915 platform: i915 features:

Description Marco Barisione 2011-05-10 06:44:10 UTC
When fixing bug #36058 I introduced a regression in the case you switch from away to a non-away status.
This happens because we use <presence/> to go to away and xa, and just shared status to go to any other status. If we are leaving a status we went into using <presence/> then GTalk also expects us to leave it using <presence/>. So in the case of transition from away to non-away we need to send both shared status and <presence/>.
Comment 1 Marco Barisione 2011-05-10 10:58:33 UTC
Will, could you please review the 7 new patches?
It's all a bit complicated, but now all the possible transitions seem to work.
Comment 2 Will Thompson 2011-05-11 08:10:50 UTC
http://cgit.collabora.co.uk/git/user/bari/telepathy-gabble.git/commit/?h=shared-presence&id=9ac72edb7d6cfb1788bb1acaab7e02ebd50b43da

+  if (!is_presence_away(presence->status))

Coding style: space here^ please.

But the code looks good otherwise, please merge to 0.12 with that coding style error fixed!
Comment 3 Marco Barisione 2011-05-12 05:48:41 UTC
Fixed and committed to the stable branch. Do you want me also to merge the stable branch into master? What's the normal “procedure”?

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.