Skip to content

Commit

Permalink
bluez/client: move state management to global BlueZ manager
Browse files Browse the repository at this point in the history
This fixes a number of bugs by moving the `BleakClient` state management
to the new global BlueZ manager object.

- Calling "GetManagedObjects" each time we connected caused performance
  issues. Fixes #500.
- Calling "ConnectDevice" didn't work as expected and has been removed/
  Fixes #806.
- BleakClient didn't handle "InterfacesRemoved" which resulted in an
  invalid service dictionary in some cases. Fixes #882.
  • Loading branch information
dlech committed Jul 26, 2022
1 parent 726c579 commit f55b01d
Show file tree
Hide file tree
Showing 3 changed files with 300 additions and 264 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,14 @@ Fixed

* Documentation fixes.
* On empty characteristic description from WinRT, use the lookup table instead of returning empty string.
* Fixed performance issues in BlueZ backend caused by calling "GetManagedObjects" each time a
``BleakScanner`` scans or ``BleakClient`` is connected. Fixes #500.
* Fixed not handling "InterfacesRemoved" in ``BleakClient`` in BlueZ backend. Fixes #882.

Removed
-------

* Removed fallback to call "ConnectDevice" when "Connect" fails in Bluez backend. Fixes #806.

`0.14.3`_ (2022-04-29)
======================
Expand Down
Loading

0 comments on commit f55b01d

Please sign in to comment.