Skip to content

Conversation

@xsploit
Copy link
Owner

@xsploit xsploit commented Oct 29, 2025

Summary

  • move TTS audio processing off the RAF tick and into a ~30 Hz interval that is coordinated by the animation loop
  • centralize TTS playback state changes with a helper so Azure, browser, and queued playback start and stop the interval consistently

Testing

  • not run (requires browser environment)

https://chatgpt.com/codex/tasks/task_e_6901c9b8d7c483308e3fddb58338307b

@netlify
Copy link

netlify bot commented Oct 29, 2025

Deploy Preview for webwaifu ready!

Name Link
🔨 Latest commit 9efe4f2
🔍 Latest deploy log https://app.netlify.com/projects/webwaifu/deploys/6901cf907650ec00085b1afb
😎 Deploy Preview https://deploy-preview-2--webwaifu.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

cursor[bot]

This comment was marked as outdated.

currentTTSAudio.currentTime = 0;
setTTSPlayingState(false);
ttsInputVolume = 0;
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Inconsistent Animation Handling Across TTS Providers

In speakWithEdgeTTS(), when stopping any currently playing TTS audio, the function calls setTTSPlayingState(false) but does not call stopTalkingAnimationForTTS(). However, speakWithAzure() does call stopTalkingAnimationForTTS() when stopping previous audio (line 5917). This inconsistency can leave the talking animation in an active state when switching between TTS providers, causing the animation to continue playing even when no audio is playing.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants