IM Status plugin does not reset status message on end playback.

Bug #548851 reported by Marius Vordal
32
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Rhythmbox
Fix Released
Medium
rhythmbox (Ubuntu)
Fix Released
Low
Sebastien Bacher
Lucid
Fix Released
Low
Sebastien Bacher

Bug Description

Binary package hint: rhythmbox

Using fully upgraded development version of Ubuntu 10.04, Rhythmbox version 0.12.7 and Empathy version 2.29.93.

When using the IM Status plugin I expect that the title of the currently playing track will be displayed in the status message in Empathy only for the duration of that track, and that my status message will be reset or blanked once playback ends. Instead I find that the name of the last played track persists when playback is stopped or I quit Rhythmbox, and that I therefore have to reset my status message manually. This drastically degrades the usefullness of this plugin.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug report. The issue is an upstream one and it would be nice if somebody having it could send the bug the to the people writting the software (https://wiki.ubuntu.com/Bugs/Upstream/GNOME)

Changed in rhythmbox (Ubuntu):
importance: Undecided → Low
Revision history for this message
Pedro Villavicencio (pedro) wrote :

I can confirm this behavior. will look upstream.

Changed in rhythmbox (Ubuntu):
status: New → Confirmed
Revision history for this message
Pedro Villavicencio (pedro) wrote :

It was known upstream, you can track it here: https://bugzilla.gnome.org/show_bug.cgi?id=612714

Changed in rhythmbox (Ubuntu):
status: Confirmed → Triaged
Jason J. Herne (hernejj)
Changed in rhythmbox (Ubuntu):
assignee: nobody → Jason J. Herne (hernejj)
status: Triaged → In Progress
Revision history for this message
Jason J. Herne (hernejj) wrote :

The problem seems to be this:

file: rhythmbox/plugins/im-status/im-status/__init__.py
----------------------------------
def get_mc5_status (self):
...
    for acct in am.Get (MC5_AM_IFACE_NAME, "ValidAccounts"):
        ...
        if status[2] != "":
              return status[2]
    ....
    return None
----------------------------------

This algorithm is doing the following:

Loop through all empathy accounts.
If the status of the current account is not an empty string then return it and
save it so we can restore it later.
If we do not find an account with a status that is not an empty string then
simply return None.

the None value is implicitly used by this plugin to mean that we never saved
the status in the first place, so we never bother restoring it.

Here is the kicker: Empathy (MC5, rather) uses an empty string as the default
status message. Even though the user is seeing the status as "Available"...
status[2] is actually an empty string.

The proper fix seems to be to change the return statement to return an empty
string instead of None.

NOTE: This patch has also been submitted upstream.

tags: added: patch
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your work on this issue, lucid is current frozen for beta2 but let's wait to see what upstream says about the change

Changed in rhythmbox:
status: Unknown → New
Revision history for this message
Jason J. Herne (hernejj) wrote :

According to the latest (upstream) comment this is in git upstream.

Revision history for this message
Sebastien Bacher (seb128) wrote :

the bug has been fixed upstream now, the change will not go in lucid which is frozen now but could be consider for a stable update

Changed in rhythmbox (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Pedro Villavicencio (pedro) wrote :

just for the record, the commit is at : http://git.gnome.org/browse/rhythmbox/commit/?id=d2ca8e6cf68ccae21e93dbe8c31f1b78e1698bd1 in case someone wants to try it.

Changed in rhythmbox:
status: New → Fix Released
tags: added: patch-accepted-upstream
Revision history for this message
Sebastien Bacher (seb128) wrote :

I will backport this change to lucid

Changed in rhythmbox (Ubuntu Lucid):
assignee: Jason J. Herne (hernejj) → Sebastien Bacher (seb128)
assignee: Sebastien Bacher (seb128) → nobody
assignee: nobody → Sebastien Bacher (seb128)
Revision history for this message
Sebastien Bacher (seb128) wrote :

SRU team, the debdiff is on bug #568887

Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted rhythmbox into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
Pedro Villavicencio (pedro) wrote :

I've tested the proposed package and it fixes the issue, now the IM Status is set to the previous one you were using after using the plugin, the status is set back to the previous by either the end of the playback or quitting rhythmbox. Marking this as verification done, thanks a lot.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package rhythmbox - 0.12.8-0ubuntu4

---------------
rhythmbox (0.12.8-0ubuntu4) lucid-proposed; urgency=low

  * debian/patches/92_git_mc5_status.patch:
    - upstream change to correctly update the im status (lp: #548851)
  * debian/patches/93_git_no_empty_playlist_crasher.patch:
    - upstream change to not crash on empty playlist saving (lp: #567399)
  * debian/patches/94_git_escaping_crasher.patch:
    - upstream change to fix a crash on copies (lp: #565517)
  * debian/patches/95_git_correct_dbversion.patch:
    - upstream change to db version detection issues in some locates leading
      to trying to convert datas on every run (lp: #568887)
  * debian/patches/96_git_magnatune_genre.patch:
    - upstream change to set correct magnatune genre names (lp: #537958)
 -- Sebastien Bacher <email address hidden> Wed, 28 Apr 2010 16:27:51 +0200

Changed in rhythmbox (Ubuntu Lucid):
status: Fix Committed → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Copied lucid-proposed to maverick.

Changed in rhythmbox (Ubuntu):
status: Fix Committed → Fix Released
Changed in rhythmbox (Ubuntu Lucid):
status: Fix Released → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package rhythmbox - 0.12.8-0ubuntu4

---------------
rhythmbox (0.12.8-0ubuntu4) lucid-proposed; urgency=low

  * debian/patches/92_git_mc5_status.patch:
    - upstream change to correctly update the im status (lp: #548851)
  * debian/patches/93_git_no_empty_playlist_crasher.patch:
    - upstream change to not crash on empty playlist saving (lp: #567399)
  * debian/patches/94_git_escaping_crasher.patch:
    - upstream change to fix a crash on copies (lp: #565517)
  * debian/patches/95_git_correct_dbversion.patch:
    - upstream change to db version detection issues in some locates leading
      to trying to convert datas on every run (lp: #568887)
  * debian/patches/96_git_magnatune_genre.patch:
    - upstream change to set correct magnatune genre names (lp: #537958)
 -- Sebastien Bacher <email address hidden> Wed, 28 Apr 2010 16:27:51 +0200

Changed in rhythmbox (Ubuntu Lucid):
status: Fix Committed → Fix Released
Changed in rhythmbox:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.