From fc4692aaab9ad0e1f24c59ec5f53436fc763f84d Mon Sep 17 00:00:00 2001 From: eeeeeaaan Date: Wed, 26 Aug 2026 04:49:39 +0900 Subject: [PATCH] fix: make the audio-unlock prompt impossible to miss, log silent compose fallback - AgentAudioPlayer: iOS Safari (and other strict-autoplay browsers) blocks audio.play() unless it's called directly from a user gesture, so the initial autoplay attempt on the HEARING side fails silently and the call just looks dead with no indication why. The recovery button already existed but was a tiny outline "sm" button easy to miss mid-call -- made it a full-width, high-contrast, pulsing prompt since it's the only control on that screen and missing it means the whole call is silent for that person. - use-sign-capture.ts: composeSignSentence failing was caught silently and fell back to the raw joined words with no log line, making a network/API failure indistinguishable from the LLM genuinely returning the words unchanged. Logs the actual error now. Co-Authored-By: Claude Sonnet 5 --- .../play-agent-audio/ui/agent-audio-player.tsx | 17 +++++++++++++---- .../sign-capture/model/use-sign-capture.ts | 7 ++++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/features/play-agent-audio/ui/agent-audio-player.tsx b/src/features/play-agent-audio/ui/agent-audio-player.tsx index d422655..4bf43c1 100644 --- a/src/features/play-agent-audio/ui/agent-audio-player.tsx +++ b/src/features/play-agent-audio/ui/agent-audio-player.tsx @@ -1,5 +1,4 @@ import type { Room } from "livekit-client"; -import { Button } from "@/shared/ui"; import { usePlayAgentAudio } from "../model/use-play-agent-audio"; export function AgentAudioPlayer({ room }: { room: Room | null }) { @@ -9,9 +8,19 @@ export function AgentAudioPlayer({ room }: { room: Room | null }) { {/* biome-ignore lint/a11y/useMediaCaption: synthesized speech has no source track to caption */}