Closed krisgesling closed 1 month ago
Voight Kampff Integration Test Succeeded (Results)
It seems to affect the Mute button delegate in the drop down menu in the mycroft-gui-mark-2 package,I believe if mycroft.mic.get_status does not respond on boot we might have no way to know what the actual status is of the microphone in the GUI.
My confusion arises from the fact that the response to the "mycroft.volume.get" message contains a muted flag and I was wondering why this is not being used?
My confusion arises from the fact that the response to the "mycroft.volume.get" message contains a muted flag and I was wondering why this is not being used?
I think we're talking about different things. mycroft.volume.get
relates to the audio output whilst mycroft.mic.get_status
relates to the audio input.
It seems to affect the Mute button delegate in the drop down menu in the mycroft-gui-mark-2 package,I believe if mycroft.mic.get_status does not respond on boot we might have no way to know what the actual status is of the microphone in the GUI.
@AIIX - presently the response wouldn't be emitted as it would just fail with the error above. So this PR shouldn't make that behavior worse.
I'm thinking we probably need to first wait for the Speech Service to be ready before checking the mic_status
Closing PR since we're archiving the repo
Description
AttributeError was being thrown by the Speech service.
Cause: The main bus gets established and event handlers registered before the RecognizerLoop bus is established. Hence if something emits a
mycroft.mic.get_status
message in this short window, the handler will fail asloop is None
.Fix: This change splits the bus events being registered into two groups:
open
and based on the existing #TODO this might get removed as a breaking change.How to test
I haven't created a way to reliably reproduce the issue and a unit test for this is proving difficult. Any suggestions welcome.
Would need to emit a message like
mycroft.mic.get_status
as the service is being established and verify that the handler is not called. Then once the service is established, re-emit the message and assert that the handler is called.Contributor license agreement signed?
@AIIX - the only thing calling this that I could see is mycroft-gui-mark-2. It's only going to not receive a response, and it's already doing that with the handler failing, but wanted to flag it in case this will impact that package in any way.