Skip to content

Updates 1#52

Merged
NBForgeLab merged 17 commits intolast-Almost-stablefrom
updates-1
Apr 8, 2026
Merged

Updates 1#52
NBForgeLab merged 17 commits intolast-Almost-stablefrom
updates-1

Conversation

@NBForgeLab
Copy link
Copy Markdown
Owner

@NBForgeLab NBForgeLab commented Apr 8, 2026

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 8, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b697b5d9-1a31-457c-9646-256110108459

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch updates-1

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@NBForgeLab NBForgeLab merged commit 47049e3 into last-Almost-stable Apr 8, 2026
@NBForgeLab NBForgeLab deleted the updates-1 branch April 8, 2026 21:55
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 34d6527c99

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 954 to 957
const oldObjectDataList = HotReloader.resolveCustomObjectConfigurations(
oldProjectData,
oldLayoutData.objects
[...oldProjectData.objects, ...oldLayoutData.objects]
);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Preserve scene precedence when merging object data

When a scene object and a global object share the same name (this is a supported project setup), building oldObjectDataList/newObjectDataList as [...project.objects, ...layout.objects] introduces duplicate names with the global definition first. _hotReloadRuntimeSceneObjects then resolves by name using find(...), so the scene entry can be compared against the global entry, which can apply wrong data or trigger unregisterObject/recreation of live scene instances and lose runtime state during hot reload. Deduplicate by name with scene precedence before passing these arrays.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

Devin Review found 3 potential issues.

View 5 additional findings in Devin Review.

Open in Devin Review

Comment on lines +95 to +97
return variablesContainersList.getVariablesContainerFromVariableNameOnly(
props.value
);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Missing getRootVariableName causes wrong dialog/tab for variables with child accessors

The new variablesContainer lookup at AnyVariableField.js:95 passes props.value directly to getVariablesContainerFromVariableNameOnly, but this C++ function (VariablesContainersList.cpp:173-186) checks Has(variableName) for an exact top-level match. When props.value contains child accessors (e.g., "MyVar.child"), the lookup fails and returns a badVariablesContainer with sourceType = Unknown. This means the wrong dialog opens (never LocalVariablesDialog) and the wrong tab is selected (never global). The existing getVariableSourceFromIdentifier helper at AnyVariableField.js:176 correctly uses getRootVariableName(variableName) before calling the same C++ function, showing this is an oversight.

Suggested change
return variablesContainersList.getVariablesContainerFromVariableNameOnly(
props.value
);
return variablesContainersList.getVariablesContainerFromVariableNameOnly(
getRootVariableName(props.value)
);
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment on lines +93 to +95
return variablesContainersList.getVariablesContainerFromVariableOrPropertyName(
props.value
);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Missing getRootVariableName causes wrong dialog/tab for variables with child accessors

Same issue as in AnyVariableField.js: props.value is passed directly to getVariablesContainerFromVariableOrPropertyName at line 93 without extracting the root variable name. The C++ function (VariablesContainersList.cpp:160-171) checks Has(variableName) for an exact match, so "MyVar.child" won't find the container for "MyVar". The existing getVariableSourceFromIdentifier helper at AnyVariableOrPropertyField.js:150 correctly uses getRootVariableName before calling the same function.

Suggested change
return variablesContainersList.getVariablesContainerFromVariableOrPropertyName(
props.value
);
return variablesContainersList.getVariablesContainerFromVariableOrPropertyName(
getRootVariableName(props.value)
);
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment on lines +89 to +91
return variablesContainersList.getVariablesContainerFromVariableOrPropertyOrParameterName(
props.value
);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Missing getRootVariableName causes wrong dialog/tab for variables with child accessors

Same issue as in the other two variable field files: props.value is passed directly to getVariablesContainerFromVariableOrPropertyOrParameterName at line 89 without extracting the root variable name. The C++ function (VariablesContainersList.cpp:149-158) checks Has(variableName) for an exact match. The existing getVariableSourceFromIdentifier helper at AnyVariableOrPropertyOrParameterField.js:149 correctly uses getRootVariableName before calling the same function.

Suggested change
return variablesContainersList.getVariablesContainerFromVariableOrPropertyOrParameterName(
props.value
);
return variablesContainersList.getVariablesContainerFromVariableOrPropertyOrParameterName(
getRootVariableName(props.value)
);
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

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.

3 participants