Volume slider in sound indicator ignores the "volume" action coming from indicator-sound in a particular case

Bug #1520548 reported by Xavi Garcia on 2015-11-27
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
kevin gunn
unity8 (Ubuntu)
Nick Dedekind

Bug Description

To re-create this:

Use last rc flash image.

1. Plug headphones in
2. Play audio multimedia
3. Open the sound indicator
4. Move the volume slider to the maximum
    A warning dialog should appear asking the user to approve high volume
    At this point the indicator-sound has clamped the volume to 75% waiting for the user to accept or decline the warning.
5. Press cancel
6. The slider shows the value over 75%

I can see with dbus-monitor that the volume action signal is emitted with the 75% value, although it seems that the UI is ignoring it.

Related branches

Changed in unity8 (Ubuntu):
assignee: nobody → Nick Dedekind (nick-dedekind)
Nick Dedekind (nick-dedekind) wrote :

The UI is stuck in a "waiting for server" state. We are using a live slider, and constantly sending updates to the server. And since the server stops responding to our requests (doesn't set the value to above 75% until we let it) we stick in this state for a timeout (up to 30 seconds), after which we will reset to the server state.

So we do eventually end up in the correct value, but it takes time.

This is because if we responded directly to every server change, the UI would be unusable (slider would bob/stutter about as we drag it). We can't do much about the server silently rejecting change requests other than re-syncing the server value after a time.

That being said, I've had a bit of a thought.
We basically need some feedback from the server to cause a "reset to server value". Could we add an action to the backend for this? Think of it like a "in-sync number". If we detect an increment to the sync number, we re-sync to the server value. The backend could increment the action value after the user decision on the snap decision.

Xavi Garcia (xavi-garcia-mena) wrote :

Hi Nick,

I'm not sure I completely understood that wait mechanism, but the slider does not set the right value after a while.
In fact, until we don't start changing the volume again the UI keeps the value above 75%

I don't see any problem on adding an extra action to the backend to keep in sync with the UI. I can start coding it.



Michał Sawicz (saviq) on 2015-12-09
Changed in unity8 (Ubuntu):
status: New → In Progress
importance: Undecided → Medium
Changed in canonical-devices-system-image:
status: New → Fix Committed
importance: Undecided → Medium
assignee: nobody → kevin gunn (kgunn72)
milestone: none → ww02-2016
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity8 - 8.11+16.04.20160105.1-0ubuntu1

unity8 (8.11+16.04.20160105.1-0ubuntu1) xenial; urgency=medium

  [ CI Train Bot ]
  * Resync trunk.
  * Update translation template

  [ Nick Dedekind ]
  * Use volume-sync action to resync the volume control. (LP: #1520548)

 -- Xavi Garcia <email address hidden> Tue, 05 Jan 2016 13:55:38 +0000

Changed in unity8 (Ubuntu):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers