Commit a52e802
fix: crash prevention and stability improvements
Critical Fixes:
- Exit handler: Replace nested tokio runtime with separate thread + timeout
to prevent "Cannot start a runtime from within a runtime" panic
- Pill window: Add safe screen query helpers with proper MainThreadMarker
handling to prevent crashes on multi-monitor setups
- Settings cache: Switch from std::sync::RwLock to parking_lot::RwLock
to eliminate lock poisoning issues
- Tray menu: Make rebuild_tray_menu async to avoid runtime conflicts
- Add tray menu sync when language/microphone changed from UI
Recorder Improvements:
- Improve thread join with timeout and safe panic message extraction
- Better error handling for audio stream errors with context
- Add proper cleanup when consumer thread times out
State Machine:
- Add retry loop with backoff for compare-exchange operations
- Better handling of race conditions during state transitions
- More informative error messages for debugging
Other:
- Fix ESLint warning in analytics provider
- Add debug logging for tray menu rebuild operations
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>1 parent 3abecc4 commit a52e802
68 files changed
Lines changed: 2893 additions & 515 deletions
File tree
- src-tauri
- capabilities
- src
- features
- audio
- cache
- models
- engines
- recordings
- transcription
- providers
- window
- types
- src
- components
- features
- home/components
- models
- components/table
- types/generated
- utils
- settings
- components
- panels
- types/generated
- stats
- components
- transcriptions
- types/generated
- hooks
- lib/analytics
- website
- app
- changelog
- components/sections
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
83 | 84 | | |
| 85 | + | |
84 | 86 | | |
85 | 87 | | |
86 | 88 | | |
| |||
0 commit comments