PR to invalidate Service, Characteristic, and Descriptor objects on ServiceChanged

https://github.com/WebBluetoothCG/web-bluetooth/pull/272 specifies
that when a ServiceChanged indication is received that says some
attributes don't exist anymore, those attributes' objects get
permanently disconnected from the device. If a later ServiceChanged
indication arrives saying the attributes have re-appeared, they need
to be re-discovered. Please let me know if you like the direction of
the change (but read the issues below if you dislike it), and if I've
made any mistakes in specifying it.

This fixes https://github.com/WebBluetoothCG/web-bluetooth/issues/130
("Describe what to do if a method is called on a removed attribute"),
and lays the groundwork to fix
https://github.com/WebBluetoothCG/web-bluetooth/issues/226 ("Treat
devices as if they weren't bonded to websites that have access to
them."), which makes the right fix for
https://github.com/WebBluetoothCG/web-bluetooth/issues/220
("startNotifications should always write descriptor if device is not
bonded") clear.

Thanks,
Jeffrey

Received on Wednesday, 10 August 2016 23:58:50 UTC