Skip to content

fix(vscode): restore authenticated speech input - #11295

Merged
marius-kilocode merged 5 commits into
mainfrom
quilt-asp
Jun 17, 2026
Merged

fix(vscode): restore authenticated speech input#11295
marius-kilocode merged 5 commits into
mainfrom
quilt-asp

Conversation

@marius-kilocode

@marius-kilocode marius-kilocode commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Speech input availability currently depends on a successful profile and balance refresh. A transient Kilo API failure clears profile data and removes the microphone even while the stored OAuth or API credential remains valid and Kilo chat continues to work. The transcription model selector also remained under Experimental after voice input graduated from its feature flag.

This change introduces a protected local authentication-status endpoint that exposes only whether a usable Kilo credential exists and its credential type. Speech controls and provider status now use that local state, while transcription failures still offer sign-in recovery when a credential is rejected.

The transcription model selector moves to the Models tab, remains visible but disabled with guidance when Kilo is unavailable, and defaults to Whisper Large V3 Turbo without overriding explicit user selections.

file-76c501f45c394f525032ed32c784d916

@kilo-code-bot

kilo-code-bot Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (32 files, excluding i18n refactors and auto-generated SDK/screenshots)
  • .changeset/restore-authenticated-speech-input.md - changeset present and user-facing
  • packages/kilo-docs/pages/code-with-ai/features/speech-to-text.md - docs updated for Models tab move
  • packages/kilo-docs/pages/getting-started/settings/index.md - docs restructured
  • packages/kilo-vscode/package.json - removed legacy speech model setting
  • packages/kilo-vscode/src/provider-actions.ts - new authStatus integration, Kilo authState from local endpoint
  • packages/kilo-vscode/src/speech-to-text/models.ts - default changed to Whisper Large V3 Turbo
  • packages/kilo-vscode/tests/model-selector-accessibility.spec.ts - accessibility test for new selector
  • packages/kilo-vscode/tests/unit/provider-actions-save.test.ts - authStatus fetch tests
  • packages/kilo-vscode/tests/unit/speech-to-text-availability.test.ts - updated availability tests
  • packages/kilo-vscode/tests/unit/speech-to-text-models-sync.test.ts - default model test
  • packages/kilo-vscode/tests/unit/use-speech-to-text.test.ts - login recovery test
  • packages/kilo-vscode/webview-ui/agent-manager/DiffPanel.tsx - caller updated
  • packages/kilo-vscode/webview-ui/agent-manager/NewWorktreeDialog.tsx - caller updated
  • packages/kilo-vscode/webview-ui/diff-viewer/FullScreenDiffView.tsx - caller updated
  • packages/kilo-vscode/webview-ui/src/components/chat/PromptInput.tsx - caller updated
  • packages/kilo-vscode/webview-ui/src/components/settings/ExperimentalTab.tsx - speech selector removed
  • packages/kilo-vscode/webview-ui/src/components/settings/ModelsTab.tsx - speech selector added
  • packages/kilo-vscode/webview-ui/src/components/settings/ProvidersTab.tsx - logged-in check uses authStates
  • packages/kilo-vscode/webview-ui/src/components/speech-to-text/availability.ts - refactored to use authStates
  • packages/kilo-vscode/webview-ui/src/components/speech-to-text/useSpeechToText.ts - deferred login check
  • packages/kilo-vscode/webview-ui/src/stories/settings.stories.tsx - ModelsSpeechToText story added
  • packages/opencode/src/kilocode/server/httpapi/groups/kilo-gateway.ts - AuthStatus schema + route
  • packages/opencode/src/kilocode/server/httpapi/handlers/kilo-gateway.ts - authStatus handler
  • packages/opencode/test/kilocode/server/httpapi-exercise-scenarios.ts - exercise test
  • packages/opencode/test/kilocode/server/httpapi-public.test.ts - OpenAPI contract test
  • packages/opencode/test/kilocode/server/kilo-gateway-statuses.test.ts - live endpoint test
  • packages/sdk/js/src/v2/gen/sdk.gen.ts - SDK regen
  • packages/sdk/js/src/v2/gen/types.gen.ts - SDK types regen
  • packages/sdk/openapi.json - OpenAPI spec regen

Summary

Introduces a local /kilo/auth-status endpoint that checks credential validity without hitting the Kilo API, so transient gateway failures no longer hide speech-to-text input. Moves the transcription model selector from the Experimental tab to the Models tab, defaults to Whisper Large V3 Turbo, and defers the login prompt to transcription-failure recovery rather than pre-emptively blocking recording. All call sites consistently updated and well tested.


Reviewed by deepseek-v4-pro-20260423 · 2,235,408 tokens

Review guidance: REVIEW.md from base branch main

@marius-kilocode
marius-kilocode merged commit d82982d into main Jun 17, 2026
25 checks passed
@marius-kilocode
marius-kilocode deleted the quilt-asp branch June 17, 2026 09:53
NJ-2020 pushed a commit to NJ-2020/kilocode that referenced this pull request Jul 4, 2026
t7tran pushed a commit to t7tran/kilocode that referenced this pull request Aug 14, 2026
t7tran pushed a commit to t7tran/kilocode that referenced this pull request Aug 14, 2026
fix(vscode): restore authenticated speech input
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants