Repository navigation
fix: blocking-bug and silence-warning fixes #38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
d913fd4
fix(silence): clear the no-voice warning on a 1s window instead of 8s
sumerc c5a81f2
fix(transcriber): never block capture on a stalled Deepgram stream
sumerc f72c991
fix(tray): never hold trayMu across a systray call
sumerc b56c33a
fix(transcriber): start local capture without waiting for the model load
sumerc 9faa689
fix(audio): defer hotplug device switches until the recording cycle ends
sumerc 2963044
fix(hotkey): release toggle WaitStop when the recording ends elsewhere
sumerc cc3dbe7
fix(audio): start without a microphone instead of exiting
sumerc a2fa903
Merge origin/main into bug-improvements
sumerc File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟡 Warning — A hotplug that lands at the same moment as a press can still break the recording and leak a CoreAudio device.
The hotplug deferral checks
isRecording.Load()and then runs the switch later, with no lock thattryStartSessionalso takes. A press can land between the check (or thecaptureMusnapshot) andapplyDeviceSwitch. When that happens,recordSessionscallsgetCapture()and gets the old device, and the watcher then calls(*captureDevice).Close()on that same device whilehandleRecordingis starting or using it. On darwin,Closesetsc.deviceto nil andStartthen rebuilds a malgo device on a capture object thatcaptureDeviceno longer references, so nothing ever closes it. If the switch happened because the selected mic vanished, the recording goes to the vanished device and fails. So the fix makes the swap much less likely but does not stop the mic from being swapped mid-recording.