New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 681436 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocking:
issue 421668



Sign in to add a comment

bluetooth: notifications are received in disconnected state

Reported by emil.len...@gmail.com, Jan 16 2017

Issue description

Chrome Version: 57.0.2982.0 Canary
OS: Mac OS X 10.10.2

Steps to reproduce:

In Tab 1:
1. Connect to a BLE device
2. Start listen to notifications for some characteristic and register a characteristicvaluechanged event handler

In Tab 2:
3. Connect to the same BLE device

In Tab 1:
4. Disconnect the gatt object
5. Make the peripheral fire a notification
6. The characteristicvaluechanged event listener is now called and the corresponding value can be read out

Expected outcome:
Step 6 is never observed

In the standard ยง5.6.4, step 2: "If characteristicObject.service.device.gatt.connected is false, abort these sub-steps." This does not seem to be followed. If you manually read out the gatt.connected property, it is false.
 
Cc: jlebel@chromium.org
Labels: OS-Mac

Comment 3 by hdodda@chromium.org, Jan 16 2017

Labels: TE-Hardware-Dependency
Blocking: 421668
Cc: -jlebel@chromium.org scheib@chromium.org
Labels: -TE-Hardware-Dependency -OS-Mac OS-All
Status: Available (was: Unconfirmed)
Thanks for reporting this Emil!

I can reproduce in Chrome OS 57.0.2970.0:

1. Use BLE Peripheral Android App (https://play.google.com/store/apps/details?id=io.github.webbluetoothcg.bletestperipheral) to advertise a Battery Service
2. Tab #1: Go to https://googlechrome.github.io/samples/web-bluetooth/device-disconnect-async-await.html?service=battery_service
3. Tab #1: Connect to Android device and listen to notifications
4. Tab #2: Go to https://googlechrome.github.io/samples/web-bluetooth/device-disconnect-async-await.html?service=battery_service
4. Tab #2: Connect to Android device
5. Tab #1: Open DevTools console and type "myCharacteristic.service.device.gatt.disconnect();" to disconnect GATT from this web page
6. Trigger a notification from the Android device

Boom! It should not appear in Tab #1!

@scheib Can you have a look?
Cc: ortuno@chromium.org
I believe @ortuno has already started on working on it at https://codereview.chromium.org/2648583004/.
Can you confirm and update this bug accordingly?

Comment 7 by ortuno@chromium.org, Jan 27 2017

Status: Fixed (was: Available)
Verified in Chrome 58.0.2997.0

Comment 9 by scheib@chromium.org, Jan 30 2017

Labels: Notes-PartnerReported
Owner: ortuno@chromium.org

Sign in to add a comment