- New authProcedure.ts: Microsoft login flow (email/password, MFA detection, stay signed in)
- New backgroundProcedure.ts: download image URL, upload as Teams virtual background
- Orchestrator: authenticate before join when botAccountEmail provided
- JoinProcedure: skip name input for authenticated joins
- meetingUrlParser: anon=true only for anonymous joins
- SessionManager/HttpServer: pass new fields through the chain
- Updated Teams caption language selectors for current UI
Co-authored-by: Cursor <cursoragent@cursor.com>
- Auto-detect WebSocket failure and switch to HTTP POST for transcripts/status
- Derive HTTP base URL from WebSocket URL (wss->https, ws->http)
- Updated Teams caption language menu selectors for current UI
- Added: Captions & transcripts, Untertitel und Transkripte, Gesprochene Sprache
Co-authored-by: Cursor <cursoragent@cursor.com>
- Accept language param from gateway (de-DE, en-US, etc.) in join request
- Pass language through: httpServer -> sessionManager -> orchestrator -> captionsProcedure
- After enabling captions, attempt to change Teams spoken language via UI
(Caption settings > Language settings > spoken language dropdown)
- Add per-caption log line for debugging
Co-authored-by: Cursor <cursoragent@cursor.com>
Teams changed from data-tid to id attributes for key elements
(hangup-button, callingButtons-showMoreBtn, closed-captions-button).
Aligned selectors with Recall.ai confirmed working implementation:
- URL resolution with suppressPrompt/msLaunch params
- waitForSelector instead of page. for reliable element detection
- Captions: MutationObserver with exposeFunction instead of polling
- Better error diagnostics (URL, title, visible text in error messages)
Co-authored-by: Cursor <cursoragent@cursor.com>