Skip to content

feat(web): dictation beta with mic button, cleanup and shortcut - #10149

Closed
Yclpaiva wants to merge 5 commits into
pingdotgg:mainfrom
Yclpaiva:feat/dictation-beta
Closed

feat(web): dictation beta with mic button, cleanup and shortcut#10149
Yclpaiva wants to merge 5 commits into
pingdotgg:mainfrom
Yclpaiva:feat/dictation-beta

Conversation

@Yclpaiva

@Yclpaiva Yclpaiva commented Sep 5, 2026

Copy link
Copy Markdown

What Changed

Dictation (Beta): microphone button next to the composer send button. Records via MediaRecorder, transcribes through an OpenAI-compatible /audio/transcriptions endpoint (default Groq + whisper-large-v3-turbo), optionally polishes with a chat-model cleanup pass (freeflow-inspired pipeline), and inserts the result as an editable composer draft. New global keybinding command composer.dictate (default mod+shift+D, remappable in Settings → Keybindings).

New Settings → Dictation (Beta) tab: enable toggle, API key (client-only, never hits the T3 server), base URL, transcription model, language, plus a Cleanup section (toggle, model, custom vocabulary, editable system prompt with reset).

Why

Voice input for the composer without a monthly subscription or server-side secrets — audio and API key stay between the browser and the user's own transcription provider, following the freeflow model (used as reference, reimplemented from scratch for the web).

UI Changes

Dictation (Beta) settings tab

Dictation settings

Mic button next to send

Composer mic button

Composer: Dictate keybinding

Dictate keybinding

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Add dictation beta with mic button, settings, and composer.dictate shortcut

  • Adds useComposerDictation.ts to manage microphone recording, browser-based transcription, and optional transcript cleanup.
  • Adds ComposerDictationButton to ChatComposer.tsx and binds the composer.dictate command to mod+shift+d.
  • Adds DictationSettingsPanel.tsx to configure provider credentials, transcription models, language, and cleanup settings.
  • Adds draft-textarea.tsx wrapper to commit multiline settings edits on blur or Cmd/Ctrl+Enter and discard them on Escape.
  • Risk: DraftTextarea changes commit behavior for multiline settings fields; settings.ts defaults dictation to disabled.

Macroscope summarized f13b178.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XL 500-999 changed lines (additions + deletions). labels Sep 5, 2026
Comment thread apps/web/src/components/ui/draft-textarea.tsx
Comment thread apps/web/src/hooks/useComposerDictation.ts
Comment thread apps/web/src/components/chat/ChatComposer.tsx
Comment thread apps/web/src/hooks/useComposerDictation.ts Outdated
Comment thread apps/web/src/components/chat/ChatComposer.tsx Outdated
Comment thread apps/web/src/components/chat/ChatComposer.tsx
Comment thread apps/web/src/components/chat/ChatComposer.tsx
Comment thread apps/web/src/hooks/useComposerDictation.ts Outdated
Comment thread apps/web/src/components/chat/ComposerDictationButton.tsx
@macroscopeapp

macroscopeapp Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This PR adds a substantial production dictation workflow spanning microphone capture, external transcription and cleanup requests, settings, shortcuts, and composer behavior. It also introduces product defaults for provider and cleanup behavior, while the supplied unresolved concurrency and shortcut-state findings add further risk requiring human review.

Adjust the Minimum Blocking Severity for this repo — including turning it Off — in Settings. You can add or adjust custom eligibility rules. Learn more.

Comment thread apps/web/src/components/chat/ChatComposer.tsx
@shivamhwp

Copy link
Copy Markdown
Collaborator

Note: GPT-6 on behalf of Shivam (@shivamhwp).

Closing this duplicate in favor of your newer dictation proposal, #10195, so review can continue in one place. The newer PR includes the dictation flow and additional desktop microphone and settings-search support.

@shivamhwp shivamhwp closed this Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants