User needs 2 key presses to exit a popup

Bug #453031 reported by Fernando Casanova
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Moovida
Fix Released
High
Florian Boucault

Bug Description

- Steps to Reproduce

1) Launch Moovida, go to Settings / Plugins / Flickr / Log in
2) Enter a random (wrong) username and password
3) Validate and wait for an error popup to show up
4) Once the popup has show, wait for 3-4 seconds and press Enter to select the default option ("Cancel Login")

Expected result: you are taken back to the Settings / Plugins / Flickr screen.

Current result: nothing happens until you press a second time Enter.

Related branches

Changed in elisa:
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Fernando Casanova (fcasanova) wrote :

I believe Bug#408797 might be very related to this one.

Changed in elisa:
importance: High → Medium
Revision history for this message
Fernando Casanova (fcasanova) wrote :

The end callback of the animation sometimes doesn't get called.

This prevents the user from navigating away from popups (usability problem)

The last problem has been traced to be related to end_animation never being called (elisa/plugins/poblesec/main.py)
class PartialFadeOut(Transition):
    def apply(self, controller):
        def cancel(dfr):
            self._stop(dfr, controller)
        dfr = defer.Deferred(canceller=cancel)

        def end_animation(timer):
            if not dfr.called:
                dfr.callback(controller)

        controller.widget.animated.update_animation_settings(duration=400,
                                                    end_callback=end_animation)
        controller.widget.animated.opacity = 150

        return dfr

description: updated
Revision history for this message
Olivier Tilloy (osomon) wrote :

If this really is because the animation's end_callback is not always called, then it should somehow be possible to write a unit test that stresses the animation system to the point that we can reliably reproduce the bug.
Having such a unit test at hand would greatly ease fixing the bug.

Revision history for this message
Fernando Casanova (fcasanova) wrote :

In order to reproduce the bug, one has to wait 3-4 seconds after the popup appears before pressing the ENTER (OK) button.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Bumping the importance, this severely impairs the user experience.

Changed in moovida:
importance: Medium → High
milestone: none → bug-fixing-day
tags: added: impairs-ux
description: updated
Changed in moovida:
status: Confirmed → In Progress
assignee: nobody → Kaleo (fboucault)
Revision history for this message
Florian Boucault (fboucault) wrote :

That delay of 3-4 seconds corresponds to the time that Pigment waits for when there is nothing to be rendered to stop the rendering loop.

Revision history for this message
Florian Boucault (fboucault) wrote :

Merge request with the fix:

https://www.moovida.com/quality/review/request/%<email address hidden>%3E

Changed in moovida:
status: In Progress → Fix Committed
tags: added: user-experience
removed: impairs-ux
Changed in moovida:
milestone: bug-fixing-day → 1.0.9
Revision history for this message
laura burbaite (lburbaite) wrote :

Verified.
You are taken back to the Settings / Plugins / Flickr login screen.

tags: added: fix-verified
Olivier Tilloy (osomon)
Changed in moovida:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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