Skip to content

fix(ux): fixed issue with transcribed text not showing after releasing space#26609

Merged
devr0306 merged 7 commits intomainfrom
voice-latency
May 7, 2026
Merged

fix(ux): fixed issue with transcribed text not showing after releasing space#26609
devr0306 merged 7 commits intomainfrom
voice-latency

Conversation

@devr0306
Copy link
Copy Markdown
Contributor

@devr0306 devr0306 commented May 6, 2026

Summary

Fixed issue with transcribed text not showing after releasing space for whisper models(not for live Gemini API yet).

Details

  • Increased Grace Period: Extended the transcription draining grace period to 4000ms for live services and 3000ms for others to ensure captured text is processed before disconnection.
  • Improved State Management: Refactored the disconnection logic to safely clear the transcription service reference only after the grace period expires, preventing race conditions.
  • Simplified Event Handling: Streamlined event listeners for transcription and turn completion by removing redundant checks, ensuring only active services process incoming data.

Related Issues

Fixes #25495

How to Validate

Enter voice mode for the local whisper models and say something. Release the space key while talking and it should output the words you spoke before releasing.

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

@devr0306 devr0306 requested a review from a team as a code owner May 6, 2026 21:02
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses a user experience issue where transcribed text was failing to appear after releasing the push-to-talk key. By increasing the grace period for draining transcription services and refining how service references are cleared, the system now reliably captures and displays final segments of speech before disconnecting.

Highlights

  • Increased Grace Period: Extended the transcription draining grace period to 4000ms for live services and 3000ms for others to ensure captured text is processed before disconnection.
  • Improved State Management: Refactored the disconnection logic to safely clear the transcription service reference only after the grace period expires, preventing race conditions.
  • Simplified Event Handling: Streamlined event listeners for transcription and turn completion by removing redundant checks, ensuring only active services process incoming data.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the voice mode disconnection logic by moving the transcription service cleanup into the grace period timeout and simplifying event listener conditions. Feedback indicates that the grace period duration has been hardcoded, which ignores user configuration and deviates from the project's practice of defining defaults within the settings schema.

Comment thread packages/cli/src/ui/hooks/useVoiceMode.ts Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

Size Change: +39 B (0%)

Total Size: 34 MB

Filename Size Change
./bundle/chunk-4FXOKX2G.js 0 B -12.5 kB (removed) 🏆
./bundle/chunk-ALOSQ6FB.js 0 B -14.8 MB (removed) 🏆
./bundle/chunk-FVZPBRS4.js 0 B -3.43 kB (removed) 🏆
./bundle/chunk-H7AWGMMG.js 0 B -658 kB (removed) 🏆
./bundle/chunk-HL3CYZCX.js 0 B -3.8 kB (removed) 🏆
./bundle/chunk-JNGZEM24.js 0 B -49.2 kB (removed) 🏆
./bundle/chunk-MYYR5GQV.js 0 B -19.5 kB (removed) 🏆
./bundle/chunk-Y4Y4GJOF.js 0 B -2.78 MB (removed) 🏆
./bundle/core-NZW7TOW5.js 0 B -48.8 kB (removed) 🏆
./bundle/devtoolsService-VO5GHZYF.js 0 B -28 kB (removed) 🏆
./bundle/gemini-HLLIIZEF.js 0 B -584 kB (removed) 🏆
./bundle/interactiveCli-CTS4AOJH.js 0 B -1.3 MB (removed) 🏆
./bundle/liteRtServerManager-VYVJ2PWL.js 0 B -2.11 kB (removed) 🏆
./bundle/oauth2-provider-OGYYV3C4.js 0 B -9.16 kB (removed) 🏆
./bundle/chunk-72V5HQQ3.js 12.5 kB +12.5 kB (new file) 🆕
./bundle/chunk-A3I2PPW7.js 3.43 kB +3.43 kB (new file) 🆕
./bundle/chunk-ABWDDINR.js 14.8 MB +14.8 MB (new file) 🆕
./bundle/chunk-LEWW3F2M.js 658 kB +658 kB (new file) 🆕
./bundle/chunk-MLYKM2KJ.js 49.2 kB +49.2 kB (new file) 🆕
./bundle/chunk-PWK27AU2.js 2.78 MB +2.78 MB (new file) 🆕
./bundle/chunk-S6IMOLJU.js 19.5 kB +19.5 kB (new file) 🆕
./bundle/chunk-XKAMETP7.js 3.8 kB +3.8 kB (new file) 🆕
./bundle/core-XS5IJOJE.js 48.8 kB +48.8 kB (new file) 🆕
./bundle/devtoolsService-FSHSEMIH.js 28 kB +28 kB (new file) 🆕
./bundle/gemini-EFFGTPCD.js 584 kB +584 kB (new file) 🆕
./bundle/interactiveCli-RICAV3QA.js 1.3 MB +1.3 MB (new file) 🆕
./bundle/liteRtServerManager-DMEFHU4K.js 2.11 kB +2.11 kB (new file) 🆕
./bundle/oauth2-provider-N6WBRK2T.js 9.16 kB +9.16 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./bundle/bundled/third_party/index.js 8 MB 0 B
./bundle/chunk-34MYV7JD.js 2.45 kB 0 B
./bundle/chunk-5AUYMPVF.js 858 B 0 B
./bundle/chunk-5PS3AYFU.js 1.18 kB 0 B
./bundle/chunk-664ZODQF.js 124 kB 0 B
./bundle/chunk-DAHVX5MI.js 206 kB 0 B
./bundle/chunk-IUUIT4SU.js 56.5 kB 0 B
./bundle/chunk-RJTRUG2J.js 39.8 kB 0 B
./bundle/chunk-VJSUVOZ4.js 1.97 MB 0 B
./bundle/cleanup-Z4XPLULC.js 0 B -932 B (removed) 🏆
./bundle/devtools-36NN55EP.js 696 kB 0 B
./bundle/dist-T73EYRDX.js 356 B 0 B
./bundle/events-XB7DADIJ.js 418 B 0 B
./bundle/examples/hooks/scripts/on-start.js 188 B 0 B
./bundle/examples/mcp-server/example.js 1.43 kB 0 B
./bundle/gemini.js 5.1 kB 0 B
./bundle/getMachineId-bsd-TXG52NKR.js 1.55 kB 0 B
./bundle/getMachineId-darwin-7OE4DDZ6.js 1.55 kB 0 B
./bundle/getMachineId-linux-SHIFKOOX.js 1.34 kB 0 B
./bundle/getMachineId-unsupported-5U5DOEYY.js 1.06 kB 0 B
./bundle/getMachineId-win-6KLLGOI4.js 1.72 kB 0 B
./bundle/memoryDiscovery-NGHTMHWQ.js 980 B 0 B
./bundle/multipart-parser-KPBZEGQU.js 11.7 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js 222 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js 229 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js 13.4 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js 132 B 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B
./bundle/src-QVCVGIUX.js 47 kB 0 B
./bundle/start-OTZE5NNO.js 0 B -652 B (removed) 🏆
./bundle/tree-sitter-7U6MW5PS.js 274 kB 0 B
./bundle/tree-sitter-bash-34ZGLXVX.js 1.84 MB 0 B
./bundle/cleanup-4BKGAFMW.js 932 B +932 B (new file) 🆕
./bundle/start-Z3OLPSZG.js 652 B +652 B (new file) 🆕

compressed-size-action

@Abhijit-2592
Copy link
Copy Markdown
Contributor

@devr0306 Thanks for the fix. Looks like this works for the whisper models and NOT for the Gemini-Live API. Maybe change the description to reflect that?

Copy link
Copy Markdown
Contributor

@Abhijit-2592 Abhijit-2592 left a comment

Choose a reason for hiding this comment

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

LGTM Approved with comments!

Comment thread packages/cli/src/ui/hooks/useVoiceMode.ts Outdated
@gemini-cli gemini-cli Bot added area/core Issues related to User Interface, OS Support, Core Functionality 🔒 maintainer only ⛔ Do not contribute. Internal roadmap item. labels May 6, 2026
@devr0306 devr0306 requested a review from a team as a code owner May 7, 2026 16:24
@devr0306 devr0306 requested a review from a team as a code owner May 7, 2026 18:42
Copy link
Copy Markdown
Contributor

@jacob314 jacob314 left a comment

Choose a reason for hiding this comment

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

lgtm

@devr0306 devr0306 added this pull request to the merge queue May 7, 2026
Merged via the queue into main with commit 451bf32 May 7, 2026
26 of 27 checks passed
@devr0306 devr0306 deleted the voice-latency branch May 7, 2026 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/core Issues related to User Interface, OS Support, Core Functionality 🔒 maintainer only ⛔ Do not contribute. Internal roadmap item.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Voice] Fix Gemini Live Latency & Cutoff

3 participants