cylc / cylc-ui

Web app for monitoring and controlling Cylc workflows
https://cylc.github.io
GNU General Public License v3.0
35 stars 26 forks source link

Tree view: empty historical cycle points shown after expanding N-window #1813

Open MetRonnie opened 1 month ago

MetRonnie commented 1 month ago

Description & reproducible example

  1. Run the workflow P1 = c[-P1] => a => b => c
  2. When 2/b is running, pause the workflow, then set the graph window to 3
  3. Observe cycle 1 re-appears but empty image

Automated version of this example:

[scheduler]
    allow implicit tasks = True
[scheduling]
    cycling mode = integer
    runahead limit = P0
    [[graph]]
        P1 = c[-P1] => a => b => c
[runtime]
    [[b]]
        script = """
if [[ $CYLC_TASK_CYCLE_POINT == 2 ]]; then

cylc pause $CYLC_WORKFLOW_ID
sleep 3

set +e  # (read exits 1 for some reason)
read -r -d '' gqlDoc <<_DOC_
{"request_string": "
mutation {
setGraphWindowExtent (
    workflows: [\"${CYLC_WORKFLOW_ID}\"],
    nEdgeDistance: 3) {
    result
}
}",
"variables": null}
_DOC_
set -e

cylc client "$CYLC_WORKFLOW_ID" graphql < <(echo ${gqlDoc})

fi
"""

More information

The familyTree for the node passed to the TreeItem for cycle point 1 is an empty array.

image

This is a UI data store issue as it goes away on reload. I have inspected the deltas and they seem fine.