Skip to content

fix(frontend): useVoiceConversation watcher-per-call double-fire (#11682 Tier-2) #12153

Description

@mrveiss

From #11682 audit (owner-approved; owner does live voice QA before merge). useVoiceConversation.ts registers watch(isSpeaking) (~L842) + watch(prefLanguage) (~L850) INSIDE the composable body → one watcher per call; with Panel+Overlay+ChatInterface mountable together, _resumeAutoListening() can double-fire on TTS-complete (same class as the #6823 fix). Move the two watches to module scope (registered once) or guard-flag them. Unit test for single-registration. Needs live QA of walkie-talkie/hands-free/full-duplex/realtime modes before merge. Part of #11682.

Activity

  1. mrveiss commented on Jul 23, 2026

    @mrveiss
    OwnerAuthor

    Fixed in #12161 (merged): useVoiceConversation watchers now registered once at module scope instead of per-mount — eliminates the per-instance double-fire. 5 tests.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions