Required Permissions
VoiceTypr requires two system permissions:- Microphone - Record audio for transcription
- Accessibility - Insert transcribed text at cursor position
usePermissions Hook
Comprehensive hook for managing all permissions.Import
Usage
Options
Return Values
permissions
Type:PermissionState
checkPermissions
Type:() => Promise<void>
Manually check all permissions.
Usage:
requestPermission
Type:(type: 'microphone' | 'accessibility') => Promise<void>
Request a specific permission.
Parameters:
string
required
Permission type:
"microphone" or "accessibility"- Invokes backend permission request command
- Opens System Settings if permission not granted
- Re-checks permissions after 1.5 seconds
isChecking
Type:boolean
Whether permissions are currently being checked.
isRequesting
Type:string | null
Permission type currently being requested ("microphone", "accessibility", or null).
error
Type:Error | null
Last error encountered during check/request.
allGranted
Type:boolean
Whether all required permissions are granted.
Equivalent to:
useMicrophonePermission Hook
Specialized hook for microphone permission only.Import
Usage
Options
Return Values
hasPermission
Type:boolean | null
true- Permission grantedfalse- Permission deniednull- Not yet checked
isChecking
Type:boolean
Whether permission check is in progress.
checkPermission
Type:() => Promise<boolean>
Manually check microphone permission.
Returns: true if granted, false if denied
requestPermission
Type:() => Promise<boolean>
Request microphone permission from the user.
Returns: true if granted, false if denied
Events
The hook listens to backend events:microphone-granted- Permission grantedmicrophone-denied- Permission denied
useAccessibilityPermission Hook
Specialized hook for accessibility permission only.Import
Usage
Options
Return Values
Same asuseMicrophonePermission:
hasPermission: boolean | nullisChecking: booleancheckPermission: () => Promise<boolean>requestPermission: () => Promise<boolean>
Events
accessibility-granted- Permission grantedaccessibility-denied- Permission denied
Component Examples
Permission Onboarding Screen
Permission Guard
TypeScript Types
See Also
- Audio Commands - Recording requires microphone permission
- useRecording Hook - Recording hook that depends on permissions