Commit graph

63 commits

Author SHA1 Message Date
ValueOn AG
35852f691b Voice: ensure mic on in auth join, add track diagnostics
Made-with: Cursor
2026-02-27 11:51:38 +01:00
ValueOn AG
2ce93c58a5 Fix authenticated launcher anon removal in Teams hash-routed meeting URLs.
Remove anon from hash-query form (/_#/meet/...?...&anon=true) so auth sessions no longer drift into anon-like launch behavior.

Made-with: Cursor
2026-02-27 10:13:00 +01:00
ValueOn AG
77ca96e23c Add root-cause diagnostics for authenticated launch and WebRTC audio uplink.
Log anon flag presence in auth launch URL and record outbound WebRTC sender stats (delta bytes/packets) around each TTS playback to prove whether audio is transmitted to the meeting.

Made-with: Cursor
2026-02-27 08:23:24 +01:00
ValueOn AG
7aaaf10b3b Remove fallback/workaround audio paths and keep root-cause-focused flow.
Drop mic preflight auto-toggle and WebRTC sender replaceTrack fallback to avoid masking defects while preserving diagnostics and auth launch URL corrections.

Made-with: Cursor
2026-02-27 08:11:49 +01:00
ValueOn AG
3eaebae2a3 Fix authenticated launch URL anon leak and add audio override diagnostics.
Remove lingering anon=true from encoded launcher url parameter in auth mode and log getUserMedia override activation details to verify Teams receives the injected audio stream.

Made-with: Cursor
2026-02-27 07:56:49 +01:00
ValueOn AG
4437576acc Add playback acknowledgement from bot to gateway.
Send ttsPlaybackAck events (queued/completed/failed) from bot and forward them as ttsDeliveryStatus SSE updates for session diagnostics.

Made-with: Cursor
2026-02-26 21:45:47 +01:00
ValueOn AG
abf38eada3 Restore bot voice output with TTS mic preflight.
Run a one-time best-effort mic enable before first playback so injected TTS audio is audible even when Teams starts muted.

Made-with: Cursor
2026-02-26 21:27:15 +01:00
ValueOn AG
77aa4f3d07 feat: enforce aggressive hybrid mode for names-only captions
Made-with: Cursor
2026-02-26 09:22:07 +01:00
ValueOn AG
39a422af25 feat: add hybrid speaker hints for audio-mode transcripts
Made-with: Cursor
2026-02-26 09:05:21 +01:00
ValueOn AG
79c1555e0c fix: capture active teams audio track with diagnostics
Replace first-track audio lock with multi-track capture management, add RMS-based activity detection, and propagate capture diagnostics (trackId, readyState, rms, nativeSampleRate) to gateway logs for root-cause analysis.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 14:55:16 +01:00
ValueOn AG
2985b0db51 fix: stabilize browser audio playback path
Prevent renderer crashes during voice greeting playback by hardening Chromium launch flags and disconnecting finished WebAudio sources.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 23:18:17 +01:00
ValueOn AG
dbecc602b7 fixed voice 2026-02-23 23:01:25 +01:00
ValueOn AG
9e4aad973f fix: WS auto-reconnect, reduce keepalive to 15s, downgrade ChatDOM to debug
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-19 00:47:02 +01:00
ValueOn AG
9a2994672c feat: add debugMode flag to gate screenshots, filter bot own captions
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 23:52:50 +01:00
ValueOn AG
003e21efcd fix: use resolveLaunchUrl to put suppress params on launcher URL, not inside encoded meeting URL
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 22:32:45 +01:00
ValueOn AG
bb304f3db1 fix: add suppressPrompt/msLaunch params to auth join URL, add joinOnWeb selector
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 22:10:27 +01:00
ValueOn AG
c93bce1b8b debug: add forced screenshots at every auth-join step, disable mic toggle
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 21:49:12 +01:00
ValueOn AG
dddf1cd970 refactor: central _pollForElement utility (500ms interval), remove all fixed waits and snapshot checks
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 21:41:48 +01:00
ValueOn AG
a981ae6bd8 fix: poll for interstitial buttons instead of one-shot check, race all selectors
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 21:37:15 +01:00
ValueOn AG
72f57f062d fix: navigate to meeting URL after auth instead of waiting for chat Join button
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 20:58:40 +01:00
ValueOn AG
777bc198a2 feat: fix chat in both-mode, add TeamsActionsService for AI commands
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 17:50:13 +01:00
ValueOn AG
ad8c858ce4 feat: ensure mic ON on pre-join + voice greeting via Gateway TTS
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 00:17:41 +01:00
ValueOn AG
df0763d840 feat: send greeting message in meeting chat after joining, skip camera toggle
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 23:44:13 +01:00
ValueOn AG
8487e723d4 fix: disable camera and remove Y4M fake video to prevent browser crash when audio flows
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 23:29:25 +01:00
ValueOn AG
80747d4aac feat: white Y4M fake video feed + prioritize live captions over transcription panel
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:47:48 +01:00
ValueOn AG
aef99057b2 fix: verify camera is ON after joining meeting using in-meeting video-button
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:03:57 +01:00
ValueOn AG
252775a4b4 fix: enable captions via Language and speech panel, add body fallback observers, add keepalive
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 21:10:00 +01:00
ValueOn AG
6647de8ae7 fix: use exact data-tid=toggle-video selector for camera toggle on pre-join screen
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 20:39:56 +01:00
ValueOn AG
06ff78d2f8 fix: improve camera toggle detection with better logging and state verification
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 20:17:01 +01:00
ValueOn AG
04abaf9402 feat: authenticated join flow, audio capture, camera activation, transferMode support
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 18:43:30 +01:00
ValueOn AG
b8bb5affa9 disable auth flow: bot joins anonymously with system bot display name
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 20:37:08 +01:00
ValueOn AG
7abd123404 fix: stay on light-meetings after auth, skip name input, join directly with auth cookies
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 17:05:14 +01:00
ValueOn AG
8321a7d3c5 fix: after auth, re-navigate to clean meeting URL with auth cookies instead of waiting on anon=true page
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 16:45:35 +01:00
ValueOn AG
d3f8457c42 fix: add stealth measures to bypass Teams bot detection (webdriver, plugins, chrome.runtime)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 16:18:19 +01:00
ValueOn AG
f5be3f886e fix: update user-agent to current Edge 131 - Teams blocks old Chrome 121 with unsupported browser redirect
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 16:08:14 +01:00
ValueOn AG
537975723e fix: fallback manual navigation to /v2/ URL when headless browser does not auto-redirect after auth
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 16:01:10 +01:00
ValueOn AG
6dea7e3e10 fix: remove background image task, simplify post-auth to wait for redirects to settle
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 15:14:35 +01:00
ValueOn AG
b8402311cd fix: wait for /v2/ URL after auth (not light-meetings), skip background for auth joins
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 15:07:00 +01:00
ValueOn AG
8597f0eb5a fix: handle Teams inline login modal - broad selectors, no navigation, simplified post-auth
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 14:34:20 +01:00
ValueOn AG
f27233f308 fix: never navigate in authProcedure when called from Sign In link flow (skipNavigation param)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 14:08:08 +01:00
ValueOn AG
4b6adaad8d fix: preserve Teams return URL during auth login - skip goto when already on login page, poll for redirect completion
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 14:01:52 +01:00
ValueOn AG
325de1c9ae fix: after auth login, just WAIT for Teams redirect chain to complete (do NOT navigate back to meeting URL)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 13:35:26 +01:00
ValueOn AG
5d2335dd26 fix: after auth login, click 'Continue on this browser' instead of skipping launcher (auth cookies now set)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 13:22:04 +01:00
ValueOn AG
2c6a1f1d38 fix: use Teams v2 stable selectors (#prejoin-join-button, data-tid) with 20s waitForSelector for Join button
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 13:14:15 +01:00
ValueOn AG
d8d1ffec17 fix: after auth login, navigate back to meeting URL (Microsoft redirects to M365 instead of meeting)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 13:02:36 +01:00
ValueOn AG
121c70e60a fix: wait up to 20s for 'Sign in' link on pre-join page (was only checking once after 3s)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 12:56:42 +01:00
ValueOn AG
b07910410e fix: auth join via 'Sign in' link on pre-join page (correct Teams flow: launcher -> pre-join -> sign in -> auth pre-join -> join)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 11:55:01 +01:00
ValueOn AG
1972f698b4 fix: auth join via Teams v2 'Join a meeting' form with Meeting ID + Passcode fields
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 11:32:39 +01:00
ValueOn AG
d0cbcbcb29 fix: auth join - try multiple Teams v2 internal URL formats, skip launcher dialog, better session establishment
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 11:24:19 +01:00
ValueOn AG
730214d30b feat: stop command (stopAllAudio), sequential audio queue with stop support
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 09:29:02 +01:00