Bug Report: MS Teams integration — updateMeeting creates duplicates, deleteMeeting is a no-op
Description
The Office 365 Video (MS Teams) integration has two broken behaviors in VideoApiAdapter.ts:
-
updateMeeting() sends a POST request instead of PATCH /onlineMeetings/{meetingId}, effectively creating a new meeting on every update rather than modifying the existing one. This results in duplicate meetings.
-
deleteMeeting() does not send any HTTP request to the Microsoft Graph API, leaving the remote meeting active even after deletion on the Cal side. Calendar and video state become inconsistent.
Steps to Reproduce
- Create a meeting with MS Teams as the video provider.
- Edit the event (e.g. change the time or title).
- Observe that a new Teams meeting is created instead of the existing one being updated.
- Delete the event from Cal.
- Observe that the original Teams meeting remains active on Microsoft's side.
Expected Behavior
updateMeeting() should call PATCH /onlineMeetings/{meetingId} to update the existing meeting.
deleteMeeting() should call DELETE /onlineMeetings/{meetingId} to remove the meeting from Microsoft's side.
Additional Context
Bug Report: MS Teams integration — updateMeeting creates duplicates, deleteMeeting is a no-op
Description
The Office 365 Video (MS Teams) integration has two broken behaviors in
VideoApiAdapter.ts:updateMeeting()sends aPOSTrequest instead ofPATCH /onlineMeetings/{meetingId}, effectively creating a new meeting on every update rather than modifying the existing one. This results in duplicate meetings.deleteMeeting()does not send any HTTP request to the Microsoft Graph API, leaving the remote meeting active even after deletion on the Cal side. Calendar and video state become inconsistent.Steps to Reproduce
Expected Behavior
updateMeeting()should callPATCH /onlineMeetings/{meetingId}to update the existing meeting.deleteMeeting()should callDELETE /onlineMeetings/{meetingId}to remove the meeting from Microsoft's side.Additional Context
joinWebUrlfield (notjoinUrl) is the correct field per the Graph API v1.0 response shape.