FLUID-6427: References cyclic through model and non-model state yield corrupted evaluation marker rather than failure

Metadata

Source
FLUID-6427
Type
Bug
Priority
Major
Status
Reopened
Resolution
N/A
Assignee
Antranig Basman
Reporter
Antranig Basman
Created
2019-11-16T18:47:40.396-0500
Updated
2024-07-19T07:51:49.136-0400
Versions
N/A
Fixed Versions
N/A
Component
  1. Framework

Description

Yet another issue only observed in the FLUID-6148 in-progress branch. An options reference which, probably faultily, depends on model material, but which gets evaluated because it is needed in order to resolve some relay material during model initialisation, ends up resolving a corrupt "inEvaluation" marker in the model rather than causing a failure with a diagnostic.

Another issue found during cleaning up https://issues.gpii.net/browse/GPII-4147

Comments

  • Antranig Basman commented 2019-11-16T19:15:47.101-0500

    At the point of the original cycle we have:

    fluid.defaults("gpii.app.dialog", {
        gradeNames: ["gpii.app.localisedMessagesReceiver", "gpii.app.resizable"],
        model: {
            width:       "{that}.options.config.attrs.width", // the actual width of the content
    

    which is a base class for

    fluid.defaults("gpii.app.qssInWrapper", {
        gradeNames: "gpii.app.qss",
        config: {
            params: {
                settings: "{qssWrapper}.model.settings"
            }
        },
    

    which itself derives from

    */
    fluid.defaults("gpii.app.qss", {
        gradeNames: ["gpii.app.dialog", "gpii.app.dialog.offScreenHidable", "gpii.app.blurrable"],