Skip to content

Conversation

@aparajit-pratap
Copy link
Contributor

@aparajit-pratap aparajit-pratap commented Jun 11, 2025

Purpose

https://jira.autodesk.com/browse/DYN-9033

IsObsolete attribute message should take precedence over Obsolete attribute message.

When both IsObsolete and Obsolete attributes are defined on a function (such as for some deprecated LibG functions), the message for whichever attribute was processed last was assigned to the warning message on the node. As IsObsolete attribute is a custom attribute in Dynamo that supports localization for its messages, it should take precedence over the message for Obsolete attribute, which is non-localized. This PR makes this change so that all deprecated node warnings are localized appropriately.

image

Declarations

Check these if you believe they are true

  • Is documented according to the standards
  • The level of testing this PR includes is appropriate
  • User facing strings, if any, are extracted into *.resx files
  • Snapshot of UI changes, if any.
  • Changes to the API follow Semantic Versioning and are documented in the API Changes document.
  • This PR modifies some build requirements and the readme is updated
  • This PR contains no files larger than 50 MB
  • This PR introduces new feature code involve network connecting and is tested with no-network mode.

Release Notes

Make IsObsolete attribute message take precedence over Obsolete attribute message on nodes so that if IsObsolete attribute messages are localized, the localized version of the deprecated warning can be displayed for non-ENU locales.

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

Copilot AI review requested due to automatic review settings June 11, 2025 18:35

This comment was marked as outdated.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR updates the handling of deprecation messages so that when both IsObsolete and Obsolete attributes are applied to a method, the localized message from the IsObsolete attribute is always preferred. Key changes include introducing a flag to track the presence of IsObsoleteAttribute, updating the attribute handling logic to correctly prioritize messages, and adding comments to clarify the localization behavior.

Comments suppressed due to low confidence (2)

src/Engine/ProtoCore/FFI/CLRDLLModule.cs:1291

  • [nitpick] Consider adding an inline comment explaining the purpose of hasIsObsoleteAttribute to improve code clarity for future maintainers.
private bool hasIsObsoleteAttribute;

src/Engine/ProtoCore/FFI/CLRDLLModule.cs:1411

  • [nitpick] Consider refactoring the attribute assignment logic by isolating the handling of IsObsolete and Obsolete attributes into dedicated helper methods for improved clarity.
else if (attr is IsObsoleteAttribute)

@aparajit-pratap aparajit-pratap changed the title Favor IsObsolete attribute message over Obsolete attribute message Make IsObsolete attribute message take precedence over Obsolete attribute message Jun 11, 2025
@github-actions github-actions bot changed the title Make IsObsolete attribute message take precedence over Obsolete attribute message DYN-9033: Make IsObsolete attribute message take precedence over Obsolete attribute message Jun 11, 2025
Copy link

@github-actions github-actions bot left a comment

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-9033

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@aparajit-pratap aparajit-pratap requested a review from a team June 12, 2025 01:39
@aparajit-pratap aparajit-pratap merged commit bd821cc into DynamoDS:master Jun 12, 2025
26 of 27 checks passed
@aparajit-pratap aparajit-pratap deleted the fixAttrLoc branch June 12, 2025 21:28
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