Skip to content

Conversation

@Aaron-Wrote-This
Copy link

Fixes stack overflow seen when accessing the Callback Graph when there are circular callbacks present.
Solves: #1656

image

Contributor Checklist

  • I have broken down my PR scope into the following TODO tasks
    • Add cycle breaker to CallbackGraphEffects updateSelectedNode
  • I have run the tests locally and they passed. (refer to testing section in contributing)
  • I have added tests, or extended existing tests, to cover any new features or bugs fixed in this PR

optionals

  • I have added entry in the CHANGELOG.md
  • If this PR needs a follow-up in dash docs, community thread, I have mentioned the relevant URLS as follows
    • this GitHub #PR number updates the dash docs
    • here is the show and tell thread in Plotly Dash community

@Aaron-Wrote-This Aaron-Wrote-This force-pushed the bugfix/callback_graph_recursion_on_circular_dependencies branch 2 times, most recently from 8c748b1 to fd083aa Compare November 4, 2025 02:18
Copy link
Contributor

@T4rk1n T4rk1n left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just need to run npm run format to fix the linting issue.

Comment on lines 30 to 31
function ascend(node, collection, visited = new Set()) {
// FIXME: Should we include State parents but non-recursively?
if (visited.has(node.id())) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can remove that fixme comment now.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

@Aaron-Wrote-This Aaron-Wrote-This force-pushed the bugfix/callback_graph_recursion_on_circular_dependencies branch from fd083aa to 899a665 Compare November 5, 2025 00:22
@Aaron-Wrote-This
Copy link
Author

Looks good, just need to run npm run format to fix the linting issue.

The command ran cleanly, but I'm not sure what it changed. I included that in my push so hopefully it's good now.

Thanks for taking a look!

@T4rk1n
Copy link
Contributor

T4rk1n commented Nov 5, 2025

Looks good, just need to run npm run format to fix the linting issue.

The command ran cleanly, but I'm not sure what it changed. I included that in my push so hopefully it's good now.

Thanks for taking a look!

Looks good, the remaining failure is unrelated, thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants