Skip to content

Conversation

@satvu
Copy link
Member

@satvu satvu commented Nov 5, 2025

Issue describing the changes in this PR

resolves #3203

Pull request checklist

  • My changes do not require documentation changes
    • Otherwise: Documentation issue linked to PR
  • My changes should not be added to the release notes for the next release
    • Otherwise: I've added my notes to release_notes.md
  • My changes do not need to be backported to a previous version
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • I have added all required tests (Unit tests, E2E tests)

Additional Information

The core part of the change is changing the casing of the case sensitivity of the dictionary that collections binding attribute properties (isRequired and IsRequired are not treated differently).

Copilot AI review requested due to automatic review settings November 5, 2025 23:31
Copy link

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 addresses an issue where binding properties with default values could create duplicate entries when named arguments differ only in casing. The fix implements case-insensitive key comparison to prevent duplicates.

  • Updates multiple Azure Functions Worker Extension packages to newer versions
  • Removes CosmosDB extension dependency and adds MCP extension support
  • Implements case-insensitive duplicate key detection in attribute property parsing

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
test/Sdk.Generator.Tests/Sdk.Generator.Tests.csproj Updates package references to newer versions, removes CosmosDB extension, adds MCP extension
test/Sdk.Generator.Tests/FunctionMetadataProvider/RetryOptionsTests.cs Removes CosmosDB extension assembly reference from test setup
test/Sdk.Generator.Tests/FunctionMetadataProvider/BindingPropertiesTests.cs Adds new test to verify no duplicate binding properties are created when default values exist
sdk/Sdk.Generators/FunctionMetadataProviderGenerator/FunctionMetadataProviderGenerator.Parser.cs Implements case-insensitive duplicate key detection when processing attribute named arguments

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@satvu satvu requested review from jviau and kshyju November 6, 2025 00:42
@satvu satvu requested a review from jviau November 6, 2025 18:24
Copy link
Member

@liliankasem liliankasem left a comment

Choose a reason for hiding this comment

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

recommend undoing package change

@satvu satvu merged commit 9674a2c into main Nov 6, 2025
28 checks passed
@satvu satvu deleted the satvu/source-gen-prop-fix branch November 6, 2025 19:22
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.

Metadata generator can lead to duplicate JSON properties when property construction is used

5 participants