fix(msteams): dismiss 'Continue without audio or video' modal before Join (closes #226)#283
Open
muhzak wants to merge 2 commits intoVexa-ai:mainfrom
Open
fix(msteams): dismiss 'Continue without audio or video' modal before Join (closes #226)#283muhzak wants to merge 2 commits intoVexa-ai:mainfrom
muhzak wants to merge 2 commits intoVexa-ai:mainfrom
Conversation
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
v0.10.3againstteams.microsoft.com/meet/<numeric>?p=<passcode>URLs.awaiting_admissionfor 15 min on every attempt because the underlyingJoin nowbutton stays in the DOM (sowaitForTeamsPreJoinReadinessreturns "ready") but the actual click is intercepted by the post-decline confirmation modal in the nestedlight-meetings/launchiframe.Step 6: Clicking 'Join now'. Probe is gated onisVisible({ timeout: 500 })and falls through silently when no modal is present, so flows that don't hit this overlay are unaffected.page.frames()because the modal renders insidelight-meetings/launch, not the top frame — first patch attempt missed it for that reason.Repro before the patch
After
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