-
-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Allow users to dictate messages using voice input, with speech automatically transcribed to text in the message composer.
Feature Description
Users should be able to:
- Click a microphone button in the message composer to start voice recording
- Speak their message and have it transcribed to text in real-time
- See visual feedback while recording (e.g., pulsing indicator, recording state)
- Cancel or confirm the transcription before sending
UI Location
- Add a microphone button in the message composer actions (alongside attach and emoji buttons)
- Show recording state indicator when active
- Display transcription in the Slate editor as it's processed
Suggested Implementation
- Create a
useSpeechRecognitionhook using the Web Speech API (SpeechRecognition) - Add microphone button to
message-composer-actions.tsx - Handle browser compatibility (Web Speech API is primarily Chrome/Edge/Safari)
- Provide fallback or error message for unsupported browsers
- Request microphone permissions and handle denial gracefully
Technical Considerations
- Web Speech API (browser-native) vs external API (e.g., OpenAI Whisper)
- Push-to-talk vs toggle recording UX
- Accessibility: ensure voice input doesn't exclude keyboard-only users
lin72h
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request