Fix propagation of CoreBluetooth errors #554
Merged
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.
Errors from CBPeripeheralDelegate calls were being raised in the asyncio
event loop, but not in the correct task. In order to reach the user's
code, the error has to be passed through the event to the user call that
is awaiting the event.
Without these changes, e.g. ATT errors sent by the peripheral caused
error messages to be printed, but since the event that the user's call
was waiting on was never set, the user's code was blocked.
The implementation was adapted from #209
I have not been able to test with anything older than macOS Big Sur (11.4).
flake8, tox and pytest report loads of unrelated errors, but I did not see any
new errors from these changes.
Pull Request Guidelines for Bleak
Before you submit a pull request, check that it meets these guidelines:
CHANGELOG.rst
, describing your changes as is specified by theguidelines in that document.
different problems and you are committing them in the same PR. In that case,
consider making several PRs instead.
AUTHORS.rst
file!