Skip to content

fix(msteams): dismiss 'Continue without audio or video' modal before Join (closes #226)#283

Open
muhzak wants to merge 2 commits intoVexa-ai:mainfrom
muhzak:fix/teams-light-meetings-modal-226
Open

fix(msteams): dismiss 'Continue without audio or video' modal before Join (closes #226)#283
muhzak wants to merge 2 commits intoVexa-ai:mainfrom
muhzak:fix/teams-light-meetings-modal-226

Conversation

@muhzak
Copy link
Copy Markdown

@muhzak muhzak commented Apr 30, 2026

Summary

  • Closes [Bug] Teams bot stuck on light-meetings/launch: 'Continue without audio or video?' modal blocks Join #226. Reproduced verbatim in a fresh self-hosted compose deploy of v0.10.3 against teams.microsoft.com/meet/<numeric>?p=<passcode> URLs.
  • Bot was timing out at awaiting_admission for 15 min on every attempt because the underlying Join now button stays in the DOM (so waitForTeamsPreJoinReadiness returns "ready") but the actual click is intercepted by the post-decline confirmation modal in the nested light-meetings/launch iframe.
  • Patch dismisses the modal in the joiner's modal-handling step before Step 6: Clicking 'Join now'. Probe is gated on isVisible({ timeout: 500 }) and falls through silently when no modal is present, so flows that don't hit this overlay are unaffected.
  • Iterates page.frames() because the modal renders inside light-meetings/launch, not the top frame — first patch attempt missed it for that reason.

Repro before the patch

[BotCore] Step 6: Clicking 'Join now' to enter the meeting...
[BotCore] ⚠️ Join button not found — bot may not be able to enter the meeting
[BotCore] Found Teams waiting room indicator: lobby text or Join now button visible - Bot is still in waiting room
[BotCore] Bot is in Teams waiting room. Waiting for 900000ms for admission...
[BotCore] Still in Teams waiting room... 2s elapsed
... (loops to 15-min timeout)

After

[BotCore] Step 6: Clicking 'Join now' to enter the meeting...
[BotCore] ✅ Clicked 'Join now' button
[BotCore] 🔥 UNIFIED CALLBACK: AWAITING_ADMISSION - reason: none

Bot reaches the host's lobby and is admittable. Verified end-to-end: bot joined → admitted by host → meeting completed → audio recorded to MinIO → readable from /recordings/{id}/media/{media_id}/raw.

Notes

  • Selector covers both the long-form "Continue without audio or video" button and the short "Continue" fallback, in case Teams shortens the label in a UI rev.
  • The probe runs once per join attempt right before the existing Step 6, so it composes cleanly with the upstream Teams reliability epic in epic: Teams reliability — admission, avatar, chat, and join-modal handling #252 — this fix can land without blocking the larger reliability cycle.

muhzak added 2 commits April 29, 2026 18:06
…Join

Closes Vexa-ai#226. Teams' light-meetings/launch flow shows a confirmation modal
when the bot declines mic+camera. The underlying Join now button stays
in the DOM, so waitForTeamsPreJoinReadiness returns "ready" — but the
actual click is intercepted by the modal overlay, so the bot times out
in awaiting_admission for 15 minutes without ever reaching the lobby.

Insert a modal probe before Step 6 that clicks "Continue without audio
or video" / "Continue" if visible. Probe is gated on isVisible() and
falls through silently when no modal is present, so flows that don't hit
this overlay are unaffected.

Repros every attempt against the teams.microsoft.com/meet/<numeric>?p=
short-link URL form. With the patch, bot advances to the standard
pre-join screen, clicks Join now normally, and reaches the host's lobby
where admission can proceed.
The "Continue without audio or video" modal renders inside the nested
light-meetings/launch iframe loaded by launcher.html. Playwright's page
locator targets the top frame, so isVisible() returned false and the
patch skipped silently. Iterate page.frames() and probe each one.
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.

[Bug] Teams bot stuck on light-meetings/launch: 'Continue without audio or video?' modal blocks Join

1 participant