You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #891 we introduced detection of graph cycles based on how JavaRosa does it, which is great. However it misses the case where a field refers to itself, supposedly because JR isn't reactive in the same way as WF so the calculation only fires once. However this is still an invalid form with an undefined behaviour, so the fact that JR handles it is more luck rather than good design.
In WF this causes an infinite loop. In JR this only appends a single "1" after the user input is complete (not tested).
A more complicated example is #909 where an itemlist updates from its own selection. The solution for this one was to catch 100 iterations and silently stop updating.
In #891 we introduced detection of graph cycles based on how JavaRosa does it, which is great. However it misses the case where a field refers to itself, supposedly because JR isn't reactive in the same way as WF so the calculation only fires once. However this is still an invalid form with an undefined behaviour, so the fact that JR handles it is more luck rather than good design.
A simple example, exercised in this test, is...
In WF this causes an infinite loop. In JR this only appends a single "1" after the user input is complete (not tested).
A more complicated example is #909 where an itemlist updates from its own selection. The solution for this one was to catch 100 iterations and silently stop updating.
Currently we have three different approaches.
Figure out the right approach and apply this to all three examples, to standardise the code and user experience.