Bug 34181

Summary: During app installation: Transition of progressbar between software tests and installation routine looks buggy
Product: UCS Reporter: Dirk Wiesenthal <wiesenthal>
Component: UMC (Generic)Assignee: Dirk Wiesenthal <wiesenthal>
Status: CLOSED FIXED QA Contact: Drees Dormann <dormann>
Severity: normal    
Priority: P5 CC: gohmann, jmm, walkenhorst
Version: UCS 3.2   
Target Milestone: UCS 3.2-1-errata   
Hardware: Other   
OS: Linux   
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:
Bug Depends on: 32649    
Bug Blocks:    

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