-
Notifications
You must be signed in to change notification settings - Fork 14.5k
feat: Add voice input with pluggable backend (Gemini zero-install + Whisper) #18499
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
fayerman-source
wants to merge
97
commits into
google-gemini:main
from
fayerman-source:feat/voice-input-clean
Closed
Changes from all commits
Commits
Show all changes
97 commits
Select commit
Hold shift + click to select a range
135dbd9
feat: add native voice input support (Gemini zero-install + Whisper)
fayerman-source 82a93d6
fix(voice): replace Alt+R/Ctrl+Q with double-space trigger; revert pa…
fayerman-source deb7f73
fix(voice): enable voice appending and add Ctrl+Space shortcut
fayerman-source 97b657c
fix(voice): resolve Ink whitespace rendering crash
fayerman-source 3c1f6bf
fix(voice): consume double-space characters properly when appending
fayerman-source 5a44007
fix(voice): prevent voice toggle on continuous spacebar hold
fayerman-source 6079a04
test(voice): use createMockConfig utility to fix strict typing violation
fayerman-source ea161cf
fix(voice): remove Ctrl+Space shortcut per reviewer feedback
fayerman-source 933af01
fix(voice): update stale Alt+R/Ctrl+Q references in docs and UX strings
fayerman-source 0c21255
fix(voice): cleanup duplicate core exports and use default flash mode…
fayerman-source 1736fcd
fix(voice): eliminate layout shift and prevent misfires on hold
fayerman-source 3bd199e
chore: trigger CI build
fayerman-source 86b703e
Merge branch 'main' into feat/voice-input-clean
fayerman-source bcd63c3
Merge main into feat/voice-input-clean, resolving snapshot conflict
fayerman-source 21fdfc6
Merge main into feat/voice-input-clean, resolve extensionsCommand con…
fayerman-source 7c98772
fix(ci): resolve linting errors and sync documentation
fayerman-source ff0b985
Merge main into feat/voice-input-clean, resolving BuiltinCommandLoade…
fayerman-source 3d26763
test(voice): update keyMatchers test to match new voice input behavior
fayerman-source cee638f
Merge main into feat/voice-input-clean, resolving keybinding and inpu…
fayerman-source 24c72b0
Merge branch 'main' into feat/voice-input-clean
jacob314 911eaf6
fix(cli): restore non-interactive voice input flows
fayerman-source bc05702
docs(cli): refresh voice input references
fayerman-source bd1665f
Merge branch 'main' into feat/voice-input-clean
fayerman-source 020b1da
fix(cli): resolve keybindings merge drift
fayerman-source 1082384
Merge remote-tracking branch 'upstream/main' into feat/voice-input-clean
fayerman-source 4ac4fd8
Merge remote-tracking branch 'upstream/main' into feat/voice-input-clean
fayerman-source f58ed15
Merge branch 'main' into feat/voice-input-clean
fayerman-source 694f6d8
Merge branch 'main' into feat/voice-input-clean
fayerman-source e92cc6e
fix: address voice input review feedback and sync docs
fayerman-source 5392617
Merge origin/main into feat/voice-input-clean
fayerman-source f59415e
fix(voice): resolve regressions in transcription insertion and proces…
fayerman-source 365fdd1
Merge branch 'main' into feat/voice-input-clean
fayerman-source a48c73d
chore: remove accidentally committed broken ink snapshots and restore…
fayerman-source 4546044
fix(voice): handle spaces in whisper path and ensure non-interactive …
fayerman-source b296dd5
Merge remote-tracking branch 'fork/feat/voice-input-clean' into feat/…
fayerman-source e71bc52
Merge branch 'main' into feat/voice-input-clean
fayerman-source 656531b
fix(cli): print voice slash command output in headless mode
fayerman-source 2eb05cd
Merge branch 'main' into feat/voice-input-clean
fayerman-source c71e42a
Merge branch 'main' into feat/voice-input-clean
fayerman-source faa6581
Merge branch 'main' into feat/voice-input-clean
fayerman-source d6b147b
Merge branch 'main' into feat/voice-input-clean
fayerman-source 10e32ce
Merge branch 'main' into feat/voice-input-clean
fayerman-source 34c7a0f
Merge branch 'main' into feat/voice-input-clean
fayerman-source eb1757e
Merge branch 'main' into feat/voice-input-clean
fayerman-source 19e4b56
Merge branch 'main' into feat/voice-input-clean
fayerman-source 9353a19
Merge branch 'main' into feat/voice-input-clean
fayerman-source 96bee19
fix(voice): make cancellation non-blocking and add SIGKILL fallback
fayerman-source c0763b5
fix(cli): missing FinishReason members
fayerman-source 91b174a
Merge branch 'main' into feat/voice-input-clean
fayerman-source e316d6e
Merge branch 'main' into feat/voice-input-clean
fayerman-source da0d3b5
Merge branch 'main' into feat/voice-input-clean
fayerman-source 1677dae
Merge upstream/main and fix conflicts + lint
fayerman-source 27e7c82
Merge upstream/main and fix non-interactive command conflict
fayerman-source 3078d2a
fix(cli): resolve FinishReason build error and missing bundle depende…
fayerman-source f00d05c
Merge branch 'main' into feat/voice-input-clean
fayerman-source 1fbc052
docs: regenerate settings documentation and schema
fayerman-source 615ce40
Merge branch 'main' into feat/voice-input-clean
fayerman-source fc5aff7
Merge branch 'main' into feat/voice-input-clean
fayerman-source 2f89ac2
Merge branch 'main' into feat/voice-input-clean
fayerman-source 414674f
Merge branch 'main' into feat/voice-input-clean
fayerman-source d2ed487
fix(cli): update voice tests for async renderHook
fayerman-source c87dc06
Merge branch 'main' into feat/voice-input-clean
fayerman-source 52b8352
Merge upstream/main and resolve conflicts
fayerman-source 77b5dbe
chore(pr): drop accidental local artifacts from voice diff
fayerman-source 94739e1
fix(voice): preserve final audio chunk on stop
fayerman-source 015d28e
Merge branch 'main' into feat/voice-input-clean
fayerman-source a2f98f5
chore(pr): trim unrelated voice diff noise
fayerman-source 25b4781
fix(ci): resolve voice input lint and test drift
fayerman-source 0fab703
Merge branch 'main' into feat/voice-input-clean
fayerman-source 644d4dc
Merge branch 'main' into feat/voice-input-clean
fayerman-source b3305c5
Merge branch 'main' into feat/voice-input-clean
fayerman-source e9a3156
Merge remote-tracking branch 'upstream/main' into feat/voice-input-clean
fayerman-source 70a4a4c
Merge branch 'main' into feat/voice-input-clean
fayerman-source 1b28c60
Merge remote-tracking branch 'upstream/main' into feat/voice-input-clean
fayerman-source c8ffca7
Merge upstream/main and resolve conflicts
fayerman-source a05117f
fix(cli): convert dynamic devtoolsService imports to static for robus…
fayerman-source a72d219
Merge remote-tracking branch 'upstream/main' into feat/voice-input-clean
fayerman-source d77d640
Merge branch 'main' into feat/voice-input-clean
fayerman-source 874eb58
Merge upstream/main and resolve conflicts + fix non-interactive sessi…
fayerman-source ad79621
Merge remote-tracking branch 'upstream/main' into feat/voice-input-clean
fayerman-source af4b42d
fix(core): remove unused catch block identifiers in voice backends
fayerman-source ba1438b
Merge branch 'main' into feat/voice-input-clean
fayerman-source aac7076
fix(cli): prioritize voice recording indicator over mode indicators
fayerman-source 4e7486d
Merge branch 'main' into feat/voice-input-clean
fayerman-source 2468b0c
Merge branch 'main' into feat/voice-input-clean
fayerman-source 0f82564
Merge branch 'main' into feat/voice-input-clean
fayerman-source c4bec70
Merge branch 'main' into feat/voice-input-clean
fayerman-source da33690
fix(voice): implement transcription cancellation and fix compilation …
fayerman-source 7e9378d
Merge remote-tracking branch 'upstream/main' into feat/voice-input-clean
fayerman-source dfd0a9c
Merge branch 'main' into feat/voice-input-clean
fayerman-source 6ca147a
Merge branch 'main' into feat/voice-input-clean
fayerman-source 950d392
fix(voice): final merge conflict resolution and test fixes
fayerman-source b1e79aa
Merge branch 'feat/voice-input-clean' of https://github.com/fayerman-…
fayerman-source 27482b8
docs: address voice PR review suggestions
fayerman-source bf0ef62
docs: sync voice provider setting description
fayerman-source 0de74f9
Merge branch 'main' into feat/voice-input-clean
fayerman-source 6d1298e
Merge branch 'main' into feat/voice-input-clean
fayerman-source File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| # Objective | ||
|
|
||
| Check PR status and implement a fix if there are any issues. | ||
|
|
||
| # Implementation steps | ||
|
|
||
| 1. Exit **Plan Mode** with `Shift+Tab`. | ||
| 2. Verify the PR is mergeable with `gh pr view`. If there are conflicts, fetch | ||
| and merge upstream/main. | ||
| 3. Verify the tests are passing with `gh pr checks` and resolve and investigate | ||
| any failing checks. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
need to add showInDialog: false,
Otherwise there is a distracting entry for Voice Input with type Object
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done — added
showInDialog: falseto the rootvoiceobject insettingsSchema.tsand regeneratedschemas/settings.schema.json.