{"repo":"NousResearch/hermes-agent","public_id":"73962","display_label":"TTS streaming Gemini API key URL exposure fix","summary":"These items concern a bug where Gemini API keys were being exposed in TTS request URLs during streaming, along with related issues such as unterminated think blocks being spoken aloud. The work addresses fixes across TTS streaming behavior for xAI and Gemini integrations.","subsystem":"agent","counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":121741,"merged_at":"2026-09-26T00:49:35+00:00"},"resolution":{"state":"resolved","by":"pr-121741"},"freshness":{"state":"verified","last_verified_at":"2026-09-26T00:49:35+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":73962,"pr_number":121741,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-26T00:49:35+00:00"},{"issue_number":73985,"pr_number":121741,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-26T00:49:35+00:00"},{"issue_number":75417,"pr_number":121741,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-26T00:49:35+00:00"}],"members":[{"kind":"issue","number":73962,"title":"[Bug]: streaming TTS puts the Gemini API key in request URLs and speaks unterminated think blocks aloud","url":null,"state":"closed"},{"kind":"pr","number":73964,"title":"fix(tts): keep Gemini API keys out of request URLs","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"42c5ed5787","number":0},{"kind":"pr","value":"#121741","number":121741},{"kind":"pr","value":"#73962","number":73962}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":121741,"title":"fix(tts): working xAI streaming, Gemini key out of URLs, no spoken think tails, recorder stream rebuild","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["contributors/emails/150129844+andyst-dev@users.noreply.github.com","tests/tools/test_tts_dotenv_fallback.py","tests/tools/test_tts_gemini.py","tests/tools/test_tts_streaming.py","tests/tools/test_voice_mode.py","tools/tts_streaming.py","tools/tts_tool_providers.py","tools/voice_mode.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}