Progress Bar Issue

I have a progress bax with the min/max/value properties bound.

Max is bound to PID/{1}/Max
Min is bound to PID/{1}/Min
Value is bound to PID/{1}/PV

When I open the screen sometimes, the progress bar does not follow the actual value. After some time, it eventually changes.

This is a tricky one. Those 3 bindings are running when the window opens up in an arbitrary order. So, if the value binding goes first, but the value is out of bounds compared to the serialized values of min/max (the current min/max bindings haven’t run yet), it will be lost. It will only come back it later if the value tag changes.

We either need to

  1. have bindings know about some sort of dependency order - or-
  2. alter the progress bar and similar components to work in a “lenient” mode where the out-of-bounds value is “remembered” and can be used after the min/max come in.

Ok, for 7.1.6 all “bounded-range” components that exhibited this problem (Cylindrical Tank, Fill Level Indicator, Progress Bar, and Slider) all work in the following way:

The value property can now exceed the min and max values. When this is the case, the component will display an “out-of-bounds” quality overlay. This free-floating value will solve the race condition by allowing the value to become out of range temporarily before the min/max bindings kick in.