feat: polished permissions onboarding inspired by Logi Options+#4
Open
nikolaykolibarov wants to merge 4 commits into
Open
feat: polished permissions onboarding inspired by Logi Options+#4nikolaykolibarov wants to merge 4 commits into
nikolaykolibarov wants to merge 4 commits into
Conversation
Add local monitor for NSEventMaskFlagsChanged events to handle modifier key hotkeys (like Right Option, Right Command) when the Yap window is focused. Previously, only global monitoring was in place, which didn't capture modifier key events when the app had focus.
- Add CheckMicrophonePermission and RequestMicrophonePermission using AVFoundation on macOS for proper permission status detection - Add HasAccessibilityPermissions to check without prompting - Add ReregisterHotkey to re-register hotkey after permission grant - Change startup to check (not request) accessibility permissions, letting onboarding handle the explicit permission request UX - Add microphone_darwin.go and microphone_other.go for platform-specific microphone permission handling
Replace the single permissions card screen with a polished sequential flow inspired by Logi Options+: New screens: - Microphone Request: floating pixel-art mic icon, clear explanation, 'Allow Microphone' button that triggers native macOS dialog - Microphone Success: celebration animation with confetti particles, 'Continue' button to proceed - Accessibility Request: CSS-only mockup of macOS System Preferences showing Privacy & Security > Accessibility with Yap highlighted, 'Open Accessibility Settings' button, polls for permission grant - Accessibility Success: pixel-art celebrating character with confetti, 'All permissions granted!' message Design features: - Pixel-art style to match Yap's aesthetic - Smooth animations: floating icons, confetti fall, pulse effects - CSS-only System Preferences mockup (no external images) - Auto-polling for accessibility permission detection - Progressive flow with dedicated screen per permission
- Change accessibility success screen to use same checkmark style as mic success (consistent design) - Add transcript display on hotkey test success screen showing "You said: ..." - Replace hotkey instructions on Ready screen with app navigation tour (Home, History, Settings) since user already learned hotkey by testing it - Clean up unused CSS (pixel character, .big variants)
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Redesigns the permissions onboarding flow with a polished, sequential experience inspired by Logi Options+.
Changes
Backend (commit 1)
CheckMicrophonePermissionandRequestMicrophonePermissionusing AVFoundation on macOSHasAccessibilityPermissionsto check without prompting the userReregisterHotkeyto re-register hotkey after permission grantFrontend (commit 2)
Replace the single permissions card screen with 4 dedicated screens:
Design Features
Screenshots
The new flow provides visual guidance similar to Logi Options+:
Testing
rm -rf ~/Library/Application\ Support/yap/ && tccutil reset Microphone com.wails.Yap && tccutil reset Accessibility com.wails.Yapwails dev