Skip to content

Fix GetParticipantAsync#277

Merged
rido-min merged 4 commits into
mainfrom
fix/276-meetingClient
Jan 22, 2026
Merged

Fix GetParticipantAsync#277
rido-min merged 4 commits into
mainfrom
fix/276-meetingClient

Conversation

@rido-min

Copy link
Copy Markdown
Contributor

fixes #276

Refactored MeetingParticipant to use MeetingInfo and Conversation properties, removing Id, Role, IsOrganizer, and JoinTime. Changed GetParticipantAsync to require tenantId and updated its request URL. Added OnConversationUpdate handler and GetMeetingId helper in Program.cs. Updated unit tests to match new method signature and data structure.

This pull request updates the MeetingParticipant model and related API methods to improve how meeting participant details are retrieved and represented. The changes primarily focus on restructuring the participant data, updating API signatures to support tenant scoping, and adjusting tests and sample usage accordingly.

API and Model Updates:

  • The GetParticipantAsync method in MeetingClient now requires a tenantId parameter and encodes all path and query parameters for safety.
  • The MeetingParticipant class has been refactored: properties like Id, Role, IsOrganizer, and JoinTime were removed, and new properties Meeting (of type MeetingInfo) and Conversation were added to better encapsulate participant context.
  • A new MeetingInfo class was introduced to hold meeting-specific participant details such as Role and InMeeting.

Sample and Test Adjustments:

  • The sample app (Program.cs) now demonstrates how to extract the meeting ID from activity channel data and fetch participant details using the updated API signature, including the new tenantId parameter.
  • Tests for MeetingClient.GetParticipantAsync were updated to reflect the new method signature and model structure, ensuring correct property mapping and URL construction. [1] [2]

Minor Cleanups:

  • Unused usings were removed and necessary ones added in the sample app for clarity and correctness.

Refactored MeetingParticipant to use MeetingInfo and Conversation properties, removing Id, Role, IsOrganizer, and JoinTime. Changed GetParticipantAsync to require tenantId and updated its request URL. Added OnConversationUpdate handler and GetMeetingId helper in Program.cs. Updated unit tests to match new method signature and data structure.
Copilot AI review requested due to automatic review settings January 21, 2026 16:30

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.

Pull request overview

This pull request refactors the GetParticipantAsync API method to require a tenantId parameter and restructures the MeetingParticipant model to better encapsulate meeting context. The changes remove individual properties like Id, Role, IsOrganizer, and JoinTime from MeetingParticipant, replacing them with structured Meeting and Conversation properties. A new MeetingInfo class was introduced to hold meeting-specific details.

Changes:

  • Updated GetParticipantAsync to require tenantId parameter with URL path encoding for meetingId and id
  • Refactored MeetingParticipant model structure with new MeetingInfo and Conversation properties
  • Added sample implementation in Program.cs demonstrating meeting ID extraction and participant retrieval

Reviewed changes

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

File Description
Libraries/Microsoft.Teams.Api/Clients/MeetingClient.cs Updated API signature for GetParticipantAsync, refactored MeetingParticipant model, and added MeetingInfo class
Tests/Microsoft.Teams.Api.Tests/Clients/MeetingClientTests.cs Updated test to reflect new method signature and validate new data structure
Samples/Samples.Meetings/Program.cs Added OnConversationUpdate handler and GetMeetingId helper to demonstrate new API usage

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

Comment thread Libraries/Microsoft.Teams.Api/Clients/MeetingClient.cs
Comment thread Samples/Samples.Meetings/Program.cs Outdated
Comment thread Samples/Samples.Meetings/Program.cs Outdated
Comment thread Libraries/Microsoft.Teams.Api/Clients/MeetingClient.cs Outdated
Comment thread Libraries/Microsoft.Teams.Api/Clients/MeetingClient.cs
Comment thread Samples/Samples.Meetings/Program.cs Outdated
Comment thread Samples/Samples.Meetings/Program.cs Outdated
rido-min and others added 3 commits January 21, 2026 11:34
- Properly URL-encode tenantId in GetParticipantAsync for safety.
- Add MeetingInfo class to represent participant role/status.
- Add XML docs to MeetingParticipant properties.
- Remove OnConversationUpdate handler and GetMeetingId helper for simplicity.
Copilot AI review requested due to automatic review settings January 21, 2026 19:37
@rido-min

Copy link
Copy Markdown
Contributor Author

@copilot can you review this PR again and resolve the conversations?

Copilot AI commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

@rido-min I've opened a new pull request, #279, to work on those changes. Once the pull request is ready, I'll request review from you.

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.

Pull request overview

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


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

Comment thread Libraries/Microsoft.Teams.Api/Clients/MeetingClient.cs
Comment thread Libraries/Microsoft.Teams.Api/Clients/MeetingClient.cs
@rido-min
rido-min merged commit 0759c59 into main Jan 22, 2026
15 checks passed
@rido-min
rido-min deleted the fix/276-meetingClient branch January 22, 2026 01:13
lilyydu added a commit to microsoft/teams.py that referenced this pull request Feb 10, 2026
ShanmathiMayuramKrithivasan pushed a commit to ShanmathiMayuramKrithivasan/teams.net that referenced this pull request Mar 10, 2026
fixes microsoft#276 

Refactored MeetingParticipant to use MeetingInfo and Conversation
properties, removing Id, Role, IsOrganizer, and JoinTime. Changed
GetParticipantAsync to require tenantId and updated its request URL.
Added OnConversationUpdate handler and GetMeetingId helper in
Program.cs. Updated unit tests to match new method signature and data
structure.

This pull request updates the `MeetingParticipant` model and related API
methods to improve how meeting participant details are retrieved and
represented. The changes primarily focus on restructuring the
participant data, updating API signatures to support tenant scoping, and
adjusting tests and sample usage accordingly.

**API and Model Updates:**

* The `GetParticipantAsync` method in `MeetingClient` now requires a
`tenantId` parameter and encodes all path and query parameters for
safety.
* The `MeetingParticipant` class has been refactored: properties like
`Id`, `Role`, `IsOrganizer`, and `JoinTime` were removed, and new
properties `Meeting` (of type `MeetingInfo`) and `Conversation` were
added to better encapsulate participant context.
* A new `MeetingInfo` class was introduced to hold meeting-specific
participant details such as `Role` and `InMeeting`.

**Sample and Test Adjustments:**

* The sample app (`Program.cs`) now demonstrates how to extract the
meeting ID from activity channel data and fetch participant details
using the updated API signature, including the new `tenantId` parameter.
* Tests for `MeetingClient.GetParticipantAsync` were updated to reflect
the new method signature and model structure, ensuring correct property
mapping and URL construction.
[[1]](diffhunk://#diff-70a048c1ea63a31b7fe79f1d9224e53e0562360bdc4a5069747720255a62ffb2L58-R60)
[[2]](diffhunk://#diff-70a048c1ea63a31b7fe79f1d9224e53e0562360bdc4a5069747720255a62ffb2L71-R76)

**Minor Cleanups:**

* Unused usings were removed and necessary ones added in the sample app
for clarity and correctness.
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.

Cannot get meeting participants

4 participants