Skip to content

Add deliberate gesture activation and mute for Realtime conversations #52

Description

@janitor-manager

User-approved next-work order: #51 caption mute privacy, #48 clean model shutdown, then this gesture-controlled Realtime work before live overlay-tool acceptance and #50 multilingual captions.

Franci explicitly approved a held victory gesture (two fingers) to activate the agent and a held closed fist to mute/stop it. Provide visible on/off/listening/responding state and a manual fallback. Treat the Realtime settings switch as configured/available, not as proof the agent is listening. Conversation must work while another app uses AI Camera; preserve camera/microphone client demand and the meeting audio path. Stop/mute must close AI input, cancel responses/tools/captions, stop agent playback, and reject late work. Repeated held gestures must not retrigger; use confidence, dwell, release/rearm, cooldown, and stale-frame checks.

Current root cause of no automatic response: canStartRealtimeConversation disallows externalClientIsUsingMedia, only the local one-shot Talk action starts Realtime, and PipelineCoordinator gesture handling explicitly excludes realtimeEnabled. Implement a coherent deliberate activation lifecycle rather than silently listening whenever Realtime is configured.

Franci is away and authorizes progress. Use synthetic speech/gesture sequences and fake Realtime sessions for lifecycle, interruption, multi-turn, client takeover, and privacy tests; do not depend on his presence or prompt for credentials. Spoken/physical-gesture user acceptance remains separate.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions