Commit graph

145 commits

Author SHA1 Message Date
ValueOn AG
6e444e83d0 fix: Chat-Panel Toggle-Oszillation - nur 1x klicken pro Versuch, check vor erneutem Klick
Made-with: Cursor
2026-03-07 01:24:54 +01:00
ValueOn AG
baae7dca61 fix: Chat-Button Polling - warten bis Toolbar gerendert ist (bis 15s)
Made-with: Cursor
2026-03-07 01:11:49 +01:00
ValueOn AG
2e7aa06edb fix: robustere Chat-Panel-Oeffnung mit mehr Selektoren, Toolbar-Scan-Fallback und Diagnostik
Made-with: Cursor
2026-03-07 01:07:57 +01:00
ValueOn AG
9dae55ac8c fix: chatSendFailed an Gateway melden wenn Chat-Input nicht gefunden
Made-with: Cursor
2026-03-07 00:56:05 +01:00
ValueOn AG
5192f2d8d4 feat: toggleChat command handler im Orchestrator
Made-with: Cursor
2026-03-06 22:55:31 +01:00
ValueOn AG
92f96bbc3e chat: robustere Panel-Erkennung, erweiterte Input-Selektoren, DOM-Diagnostik, periodische Debug-Screenshots
Made-with: Cursor
2026-03-06 13:14:43 +01:00
ValueOn AG
b552ccd547 chat: periodischer Scan fuer Teilnehmer-Nachrichten, Chat-Panel-Reopen wenn geschlossen
Made-with: Cursor
2026-03-06 12:40:50 +01:00
ValueOn AG
cb337ec377 fix(mfa): race page polling with Gateway for push-based MFA types
Made-with: Cursor
2026-03-01 10:57:08 +01:00
ValueOn AG
bcf099dec2 diag: debug-level log for received credentials in POST /api/bot
Made-with: Cursor
2026-03-01 10:20:11 +01:00
ValueOn AG
51a2320ddb fix(teamsbot): add debug screenshots to anonymous join flow
Made-with: Cursor
2026-03-01 09:31:29 +01:00
ValueOn AG
49d0c26f00 feat(teamsbot): MFA detection scraping and relay in auth flow
Made-with: Cursor
2026-03-01 08:51:17 +01:00
ValueOn AG
dbcc53bed8 fix: chat queue to prevent interleaved text, retry+selectors for greeting
Made-with: Cursor
2026-02-28 16:12:56 +01:00
ValueOn AG
ee2dcd61f1 feat: migrate audio capture from ScriptProcessorNode to AudioWorkletNode with fallback
Made-with: Cursor
2026-02-28 15:53:31 +01:00
ValueOn AG
25f684eb58 AudioCapture: adaptive chunks (8s max, flush after 1s silence)
Made-with: Cursor
2026-02-28 00:49:11 +01:00
ValueOn AG
07f7b03515 AudioCapture: lower RMS threshold to 0.0003, increase chunk to 4s for less fragmentation
Made-with: Cursor
2026-02-27 22:38:27 +01:00
ValueOn AG
cd22b1da9f AudioCapture: add pre-roll buffer for speech onset, fix diagnostic counter
Made-with: Cursor
2026-02-27 22:14:58 +01:00
ValueOn AG
681744292d AudioCapture: add extended diagnostics for silent audio investigation
Made-with: Cursor
2026-02-27 16:40:08 +01:00
ValueOn AG
2e2fbfe8ed Chat history: extract Teams timestamp, classify pre-join messages as history, no AI trigger
Made-with: Cursor
2026-02-27 13:56:20 +01:00
ValueOn AG
7e62c2fc65 Voice fix: clone TTS track to prevent Teams from killing it via track.stop()
Made-with: Cursor
2026-02-27 13:32:08 +01:00
ValueOn AG
7c00e31cfa Voice diagnostics: track IDs before/after replaceTrack, WebRTC bytesSent, mic aria-label
Made-with: Cursor
2026-02-27 13:12:25 +01:00
ValueOn AG
5f7dc60376 Voice: restore sender.replaceTrack for TTS injection, remove broken iframe logic
Made-with: Cursor
2026-02-27 12:51:24 +01:00
ValueOn AG
b02bfd4c8f Fix: use Frame type for _getTtsFrame return (TS build)
Made-with: Cursor
2026-02-27 12:30:43 +01:00
ValueOn AG
533e976039 Voice: play TTS in correct frame (iframe), add mic toggle fallbacks
Made-with: Cursor
2026-02-27 12:27:02 +01:00
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
e6d0cfdad2 Add robust WebRTC sender fallback for TTS audio injection.
Track active RTCPeerConnections and force-replace outgoing audio sender tracks with the TTS track before playback to handle flows where getUserMedia override is bypassed.

Made-with: Cursor
2026-02-27 08:01:55 +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
5caa5a047e Prevent historical Teams chat replay as fresh transcript input.
Add chat warmup guard and key-based deduplication so old thread messages are not re-emitted with new timestamps after join.

Made-with: Cursor
2026-02-26 21:41:56 +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
3863063984 Improve audio capture chunking for more stable STT.
Increase captured WebRTC audio chunk duration to reduce fragmented transcriptions and improve recognition quality in meetings.

Made-with: Cursor
2026-02-26 21:18:07 +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
f47b3c5682 ci: restore build and deploy workflow
Restore .github/workflows/build-deploy.yml so pushes to main trigger automated ACR build and Azure Container App deployment again.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 07:41:09 +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
48c5c33f63 Merge branch 'main' of https://github.com/valueonag/service-teams-browser-bot 2026-02-19 00:31:49 +01:00
ValueOn AG
597631a08b sync features a and p 2026-02-19 00:31:46 +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
23cb8c890f feat: add screenshot list and file serving endpoints for debug viewer
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 22:00:33 +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