fix: device rediscovery issue when name changes #9
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.
Summary: Addressing Device Rediscovery Bug
This merge request resolves a bug that prevents devices from being processed correctly when they are rediscovered with their correct names. Previously, when a device was found with an incorrect name, the system would not handle it properly during subsequent rediscovery attempts.
Issue Details
In approximately 50% of cases, the
deviceInquiryDeviceFound
function is called with the device name being a MAC address: "Found peer <CBClassicPeer: 0xXXXXXXXXX XXXXXXXXXXXXXXXX, XX:XX:XX:XX:XX:XX" instead of the expected: "Found peer <CBClassicPeer: 0xXXXXXXXXX XXXXXXXXXXXXXXXX, Nintendo RVL-CNT-01".When the sync continues and the correct name for the device is found, the
deviceInquiryDeviceFound
doesn't get retriggered because the device is in the found devices list. You have to restart the app for it to work again.Proposed Solution
I suggest clearing the list of found devices after the device is skipped. With a build with this fix I can connect to the wiimote 100% of the times instead of the previous 50%.