Skip to content

Add proactive threading support#425

Merged
corinagum merged 6 commits intomainfrom
cg/threaded-replies
Apr 17, 2026
Merged

Add proactive threading support#425
corinagum merged 6 commits intomainfrom
cg/threaded-replies

Conversation

@corinagum
Copy link
Copy Markdown
Contributor

@corinagum corinagum commented Apr 14, 2026

Summary

  • Add Reply() overloads on App for proactive thread sends (generic, string, AdaptiveCard — 2-arg and 3-arg forms)
  • Add Conversation.ToThreadedConversationId() for constructing threaded conversation IDs
  • supportsThreading inline check covers channels (@thread.tacv2/@thread.skype) and 1:1 (@unq.gbl.spaces)
  • Update Context.Send() and Context.Reply() doc comments
  • Add threading sample

Test plan

  • Unit tests for ToThreadedConversationId() (10 tests) and Reply() (3 tests)
  • E2E: All commands tested in 1:1 and channel (top-level + existing thread)
  • dotnet build 0 errors, dotnet test all passed

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings April 14, 2026 20:42
Copy link
Copy Markdown
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

Note

Copilot was unable to run its full agentic suite in this review.

Adds proactive threading utilities and sample usage to enable replying/sending into Microsoft Teams channel threads (and certain 1:1 conversation IDs), with accompanying tests and updated docs.

Changes:

  • Added App.Reply() proactive overloads (2-arg and 3-arg forms) and updated App.Send() docs/behavior.
  • Added Conversation.ToThreadId() helper plus unit tests.
  • Introduced a new Samples.Threading sample project demonstrating threading behaviors.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
Tests/Microsoft.Teams.Apps.Tests/AppTests.cs Adds unit tests validating App.Reply() thread-id construction and invalid message-id handling.
Tests/Microsoft.Teams.Api.Tests/ConversationTests.cs Adds unit tests for Conversation.ToThreadId() formatting and validation behavior.
Libraries/Microsoft.Teams.Apps/Contexts/Context.Send.cs Updates XML docs clarifying Send() vs Reply() quoting/threading behavior.
Libraries/Microsoft.Teams.Apps/App.cs Adds proactive Reply() overloads; adjusts proactive Send() docs and how Conversation.Type is populated.
Libraries/Microsoft.Teams.Api/Conversation.cs Adds Conversation.ToThreadId() helper and validation.
Samples/Samples.Threading/* Adds a new sample project (README, Program, appsettings, csproj) demonstrating threading scenarios.

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

Comment thread Libraries/Microsoft.Teams.Apps/App.cs
Comment thread Libraries/Microsoft.Teams.Apps/App.cs
Comment thread Libraries/Microsoft.Teams.Apps/App.cs
Copilot AI review requested due to automatic review settings April 16, 2026 23:33
@corinagum corinagum force-pushed the cg/threaded-replies branch from 0388424 to 63a6ca1 Compare April 16, 2026 23:35
Copy link
Copy Markdown
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

Copilot reviewed 9 out of 9 changed files in this pull request and generated 7 comments.


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

Comment thread Libraries/Microsoft.Teams.Apps/App.cs Outdated
Comment thread Libraries/Microsoft.Teams.Apps/Contexts/Context.Send.cs Outdated
Comment thread Libraries/Microsoft.Teams.Apps/Contexts/Context.Send.cs Outdated
Comment thread Libraries/Microsoft.Teams.Api/Conversation.cs
Comment thread Samples/Samples.Threading/Program.cs Outdated
Comment thread Samples/Samples.Threading/Program.cs Outdated
Comment thread Samples/Samples.Threading/Samples.Threading.csproj
… fixes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@corinagum corinagum merged commit f18a774 into main Apr 17, 2026
7 checks passed
@corinagum corinagum deleted the cg/threaded-replies branch April 17, 2026 19:26
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