diff --git a/src/bot/orchestrator.ts b/src/bot/orchestrator.ts index 1b3467c..26a645b 100644 --- a/src/bot/orchestrator.ts +++ b/src/bot/orchestrator.ts @@ -156,6 +156,9 @@ export class BotOrchestrator { // Dismiss any post-join permission modals (e.g. "Manage windows on all displays") await this._joinProcedure!.dismissBrowserPermissionModals(); + // Verify camera is on in the meeting + await this._ensureCameraOnInMeeting(); + // Initialize audio playback await this._audioProcedure!.initialize(); @@ -311,6 +314,9 @@ export class BotOrchestrator { // Start keepalive to prevent idle disconnect this._startKeepAlive(); + // Verify camera is on in the meeting + await this._ensureCameraOnInMeeting(); + // Initialize audio playback await this._audioProcedure!.initialize(); @@ -384,6 +390,83 @@ export class BotOrchestrator { } } + /** + * Verify camera is on after joining the meeting, and turn it on if not. + * + * In-meeting camera button (from Teams DOM): + *