-
Notifications
You must be signed in to change notification settings - Fork 864
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High Sierra support #727
High Sierra support #727
Conversation
lib/mac/highsierra.js
Outdated
* @discussion The ids were incemented but there seems to be no CoreBluetooth function to call/verify this. | ||
*/ | ||
nobleBindings.broadcast = function(deviceUuid, serviceUuid, characteristicUuid, broadcast) { | ||
this.sendCBMsg(80, { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont have a good test case for broadcast. Anyone have a code. when I fire this call to 80 I dont get a response at all so this might be wrong.
lib/mac/highsierra.js
Outdated
* @discussion The ids were incemented but there seems to be no CoreBluetooth function to call/verify this. | ||
*/ | ||
//TODO | ||
nobleBindings.on('kCBMsgId73', function(args) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is still TODO. Cant confirm broadcast works so cant confirm what its return call would be.
Thanks for this! Will report back test results |
Seems to be working fine on my Mac with High Sierra 10.13.2, thanks for this PR! Any chance those can get merged at some point? I noticed there hasn't been a release on this package for a while... |
Is this project still actively maintained? |
We should all donate some $ somehow. Or put up some code.
|
317ecbb
to
8c9acfb
Compare
Broadcast code is still sort of in high sierra, but pretty deprecated. No one spoke up so I deleted it and that path has a throw in it to say the functionality is removed. I think this PR is as complete as our current level of user reporting will allow. |
6d62631
to
3468683
Compare
Thanks for this! It works for me on High Sierra 10.13.2 communicating with an Arduino 101. Does it this PR work with earlier versions of macOS? |
This is working for us on High Sierra 10.13.1. Is there a plan for this to be merged soon? |
Yes, this works on older versions too, this PR only adds support for a new
version of MacOS, it doesn't affect previous versions.
…On Thu, Jan 25, 2018 at 11:41 AM, Philip van Allen ***@***.*** > wrote:
Thanks for this! It works for me on High Sierra 10.13.2 communicating with
an Arduino 101. Does it this PR work with earlier versions of macOS?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#727 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABH4B-hpCODwN3ZohQBZePapNo0d0STUks5tONjigaJpZM4RMdr7>
.
|
This is working for me too |
Were seeing reports that people who use the isNotification flag are broken. It turns out Apple seems to have removed it and so the fix would seem to be downstream users rewriting their code not to depend on that flag.
https://developer.apple.com/library/content/releasenotes/MacOSX/WhatsNewInOSX/Articles/macOS_10_13_0.html#//apple_ref/doc/uid/TP40017638-SW1 and indeed isnotification looks to be gone from the mac apis These guys have the runtime headers dumped for 10.12 and 10.13 clearly quite a few changes on cbcentralmanager anyway but we dont seem to have cbperipheraldelegate headers? so cant see the diff there, though we clearly know it used to be there and is not now Hey neat: i dont know that isnotifying was ever exposes on the offical api? Maybe theres more little changes we havent seen yet (including new goodies).. It would be valuable look through this thoroughly related, webbluetooth struggled with this for a while Technically this is now a api breaking change and would mean a 2.0 release but I dont know how committed we are to semver for such a small break. From searching github this we think this 'functionality' is actually rarely used. anyway |
…ssibly being undefined It is also deprecated after release v1.8.1
I guess users and are probably pegged to ^1 and mac users are used to mac breaking (and indeed are broken right now) I dont feel bad about just shipping the breaking change of isNotification as undefined as a minor release. In the docs well say its deprecated (and indeed gone) as of high sierra |
Awesome! |
@jacobrosenthal Do you mean there's no way to get notifications like the issue you chipped in at voodootikigod/node-rolling-spider#103 (comment)? Thanks! |
Theres no longer any way to know if its a notification or a response to a manual read request |
The adafruit scanner seems to work on high sierra where LightBlue doesnt appear to be able to read characteristics.
You can play along at home if I missed your favorite xpcid. I used frida instead of swizzling, because I couldnt get swizzling to work. I think maybe the CBXpcConnection are now private and maybe they used to be public? but I had never done it before so it could be my failure.
For frida
You can see it autogenerated some javascript files we can use to inspect and debug
CBXpcConnection_sendMsg_args.js
CBXpcConnection__handleMsg.js
and just poked around the Adafruit app then later painstakingly decoded the logs
I grabbed all the xpcids I could find from #689, but I wanted to keep a little better git hygiene so started fresh but credit due there.
Please test
closes #679