Bug 34181 - During app installation: Transition of progressbar between software tests and installation routine looks buggy
During app installation: Transition of progressbar between software tests and...
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 3.2
Other Linux
: P5 normal (vote)
: UCS 3.2-1-errata
Assigned To: Dirk Wiesenthal
Drees Dormann
:
Depends on: 32649
Blocks:
  Show dependency treegraph
 
Reported: 2014-02-21 20:49 CET by Dirk Wiesenthal
Modified: 2014-02-27 12:58 CET (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Wiesenthal univentionstaff 2014-02-21 20:49:05 CET
Fix does not work in a special situation:

When the progressbar is set to "indeterminate" by some progress info sent from the backend, Infinity has to be sent as string "Infinity" because json does not support Infinity (python side does, but js side does not).

Thus, the check
var comesFromOrGoesToInfinity = oldValue === Infinity || newValue === Infinity;

has to be adjusted:

var comesFromOrGoesToInfinity = parseFloat(oldValue) === Infinity || parseFloat(newValue) === Infinity;

+++ This bug was initially created as a clone of Bug #32649 +++

Reason is the "indeterminate" value of the progressbar during software tests and the "0" value when the installation begins. There is a transition effect that goes from 100 to 0 and lasts just long enough for users to wonder why the progress goes in the wrong direction.

The transition is a CSS effect. Remove this effect by watch(progressbar, 'indeterminate') and (un)set a class:

.noTransition {
  -webkit-transition-property: none;
  -moz-transition-property: none
  transition-property: none;
  -webkit-transition-duration: 0;
  -moz-transition-duration: 0;
  transition-duration: 0;
}

This problem is App Center specific (because indeterminate is used only there) but should be fixed generically in umc/widgets/ProgressBar.
Comment 1 Dirk Wiesenthal univentionstaff 2014-02-25 10:35:30 CET
Fixed in
  univention-management-console-frontend 3.0.152-22.820.201402251020

Found a better (shorter) way of doing it instead of parseFloat(). The way dojo does it:

Instead of using value === Infinity, I now use value == Infinity
Comment 2 Drees Dormann univentionstaff 2014-02-26 14:43:51 CET
looks good

YAML OK
Comment 3 Janek Walkenhorst univentionstaff 2014-02-27 12:58:38 CET
http://errata.univention.de/ucs/3.2/64.html