Skip to content

[#682] Samples Parity: Align Cards samples - #736

Merged
tracyboehrer (tracyboehrer) merged 6 commits into
mainfrom
southworks/update/parity-cards-samples
Sep 22, 2026
Merged

tracyboehrer (tracyboehrer) merged 6 commits into
mainfrom
southworks/update/parity-cards-samples

Conversation

@ceciliaavila

Copy link
Copy Markdown
Collaborator

Addresses #682

Description

This PR aligns the Cards samples for all three languages (.NET, JavaScript, and Python).

Detailed Changes

  • Node.js: aligned routing, menu labels/values, card content, naming, configuration comments, VS Code labels, and README.
  • Python: fixed command parsing and empty input, filtered welcome events, made resource loading location-independent, aligned cards/configuration, and updated documentation.
  • .NET: added the complete Cards sample, current authentication/hosting setup, seven card implementations, README, solution registration, and catalog entry.
  • The Adaptive Card resource is byte-identical across all three samples.

Testing

These images show the samples working with an exact user interaction.

image image

Copilot AI lite review requested due to automatic review settings September 22, 2026 16:43
@github-actions github-actions Bot added Samples Changes to Samples Build Automation labels Sep 22, 2026
@tracyboehrer
tracyboehrer (tracyboehrer) merged commit d4e357a into main Sep 22, 2026
13 checks passed
@tracyboehrer
tracyboehrer (tracyboehrer) deleted the southworks/update/parity-cards-samples branch September 22, 2026 16:51

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

Four moderate review findings remain unresolved.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 Medium severity

Open (2)
What changed in this PR

This PR aligns the Cards samples across Python, Node.js, and .NET, adding a complete .NET implementation and synchronizing behavior, configuration, and documentation.

Changes:

  • Aligns routing, commands, card content, and resource loading.
  • Adds the .NET Cards sample with authentication, hosting, seven card types, and manifest registration.
  • Updates documentation, package metadata, solution registration, and Dependabot configuration.

Review findings:

  • Moderate (1 vote): AspNetExtensions.cs can throw on malformed bearer headers before JWT validation; parsing should fail cleanly.
  • Moderate (1 vote): CardMessages.cs loads adaptive_card.json from output, but the resource is not copied there.
  • Moderate (2 votes): Cards.csproj must configure adaptive_card.json for output or use another deployment-safe loading mechanism.
  • Moderate (2 votes): cardMessages.ts passes heroCard arguments in the wrong order, producing a malformed intro card without buttons.
File Summary
samples/​python/​cards/​src/​start_server.py Adds a license header.
samples/​python/​cards/​src/​card_messages.py Aligns menu labels and card content.
samples/​python/​cards/​src/​agent.py Improves command parsing, welcome filtering, and resource loading.
samples/​python/​cards/​README.md Updates setup and usage documentation.
samples/​python/​cards/​env.TEMPLATE Documents environment configuration.
samples/​nodejs/​cards/​src/​index.ts Aligns routing and command handling.
samples/​nodejs/​cards/​src/​cardMessages.ts Updates card payloads and content.
samples/​nodejs/​cards/​README.md Updates setup and usage documentation.
samples/​nodejs/​cards/​package.json Renames and describes the sample package.
samples/​nodejs/​cards/​package-lock.json Synchronizes package metadata.
samples/​nodejs/​cards/​env.TEMPLATE Clarifies environment configuration.
samples/​nodejs/​cards/​.vscode/​tasks.json Removes the previous task configuration.
samples/​nodejs/​cards/​.vscode/​launch.json Removes the previous launch configuration.
samples/​dotnet/​Samples.sln Registers the Cards project.
samples/​dotnet/​README.md Adds the Cards catalog entry.
samples/​dotnet/​cards/​Resources/​adaptive_card.json Adds the shared Adaptive Card resource.
samples/​dotnet/​cards/​README.md Documents the .NET sample.
samples/​dotnet/​cards/​Properties/​launchSettings.json Adds local launch profiles.
samples/​dotnet/​cards/​Program.cs Configures hosting, authorization, and storage.
samples/​dotnet/​cards/​CardsAgent.cs Implements routing and card selection.
samples/​dotnet/​cards/​Cards.csproj Adds project configuration and dependencies.
samples/​dotnet/​cards/​CardMessages.cs Implements seven card types.
samples/​dotnet/​cards/​AspNetExtensions.cs Adds JWT authentication configuration.
samples/​dotnet/​cards/​appsettings.json Adds authentication and service configuration.
samples/​dotnet/​cards/​appManifest/​manifest.json Adds the Teams app manifest.
.github/​dependabot.yml Adds the .NET Cards directory to Dependabot.
Files not reviewed (1)
  • samples/nodejs/cards/package-lock.json: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread samples/dotnet/cards/Cards.csproj
Comment thread samples/nodejs/cards/src/cardMessages.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build Automation Samples Changes to Samples

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants