Skip to content

DYN-10577: EvaluateDefineDataNode skips playerValue when inputValue is null#17154

Merged
kalunkuo merged 13 commits into
DynamoDS:masterfrom
kalunkuo:DYN-10577
Jun 18, 2026
Merged

DYN-10577: EvaluateDefineDataNode skips playerValue when inputValue is null#17154
kalunkuo merged 13 commits into
DynamoDS:masterfrom
kalunkuo:DYN-10577

Conversation

@kalunkuo

@kalunkuo kalunkuo commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Purpose

When DefineData’s > port is unwired, inputValue is null. The function returned early before reading playerValue (InputValue in the .dyn), so overrides were silently dropped and output stayed null. Headless consumers (e.g. DaaS) that inject geometry via InputValue without a .dyn connector hit this path.

Only treat DefineData as unused when both inputValue and playerValue are empty.
Apply ParseJSON(playerValue) before the single-value / list validation check.
Added unit tests in test/DynamoCoreTests/DSCoreDataTests.cs.

Tested manually by: unwired DefineData → Watch in Sandbox, "InputValue": "true" in the .dyn → Watch shows true on the fix branch vs null on master.

Screenshot 2026-06-09 at 4 01 38 PM Screenshot 2026-06-09 at 4 00 36 PM

Declarations

Check these if you believe they are true

Release Notes

(FILL ME IN) Brief description of the fix / enhancement. Use N/A to indicate that the changes in this pull request do not apply to Release Notes. Mandatory section

Reviewers

(FILL ME IN) Reviewer 1 (If possible, assign the Reviewer for the PR)

(FILL ME IN, optional) Any additional notes to reviewers or testers.

FYIs

(FILL ME IN, Optional) Names of anyone else you wish to be notified of

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

See the ticket for this pull request: https://jira.autodesk.com/browse/DYN-10577

Comment thread src/Libraries/CoreNodes/Data.cs Outdated
{

if (inputValue == null)
if (inputValue == null && string.IsNullOrEmpty(playerValue))

@aparajit-pratap aparajit-pratap Jun 9, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What is playerValue? Is it an input value to the node that is serialized in the .dyn? Does player "magically" serialize the input value in the .dyn? How is that done? Is the expectation for tyto workflow builder to do the same - i.e. set the playerValue in the .dyn file?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This is actually very confusing, for EvaluateDefineDataNode, inputValue is the upstream input value, and playValue is the the value injected into the node by Dynamo Player, if any.

What happened was, DaaS injects into playerValue (via InputValue in the .dyn). inputValue is null because there’s no wire. On master, the early return on null inputValue happens before playerValue is applied.

@RobertGlobant20 RobertGlobant20 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, just retrigger Dynamo SelfServe job to see if now passes

@jasonstratton

Copy link
Copy Markdown
Contributor

@kalunkuo , looks like this has been approved. Is there anything pending or can we merge?

@kalunkuo

Copy link
Copy Markdown
Contributor Author

@kalunkuo , looks like this has been approved. Is there anything pending or can we merge?

We are still checking in with Craig to see whether if it is an intended behavior.

@kalunkuo

Copy link
Copy Markdown
Contributor Author
Screenshot 2026-06-15 at 3 47 41 PM Screenshot 2026-06-15 at 4 01 46 PM

kalunkuo and others added 4 commits June 15, 2026 16:09
…g tests

Skip validation warnings for empty unconnected port defaults and null player-deserialized values so authoring info state is not overridden at runtime.

Co-authored-by: Cursor <cursoragent@cursor.com>
@sonarqubecloud

Copy link
Copy Markdown

@kalunkuo kalunkuo merged commit 8cf2bb7 into DynamoDS:master Jun 18, 2026
29 of 30 checks passed
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.

4 participants