-
Notifications
You must be signed in to change notification settings - Fork 227
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
Apple Notice of End of Push Binary Support #164
Comments
Hello, i would like to ask you? |
My interpretation is: NO. But it is not hard to migrate. Some more detail: pushd uses apn, which is supposed to be compatible with HTTP/2. From what I see, the code is made for version 1.7 of that library, but I'm not sure if that version is compatible with HTTP/2. A migration is probably in order (it would be safe anyway). See What's new in v2.0 on what needs to be changed. Note that some people that have forked this, have moved to the later version, among which https://github.com/mdholloway/pushd/ [edit]: the above fork is listed as supporting the new methods, but in reality does not, it still uses the old interface. |
Is this something you can work on? I reviewed the fork for mdholloway and it has been re-written in JS instead of Coffee which would require a larger migration as we have 120 deployment settings. |
I will look in to it. It depends a bit on the used OS though. It is likely that the new lib requires some other changes. |
Done. See my fork. Changes:
Sorry. Have not been able to keep it under coffeescript, as the apn module threw a syntax error. Tried various node versions, but nogo. Now I'm not a node expert, so I took the easy way out by building upon mdholloway's fork. I have tested it under node v11.15.0. Lower versions may very well have problems. From the various other packages used I guess you will need v8.x.x at least. NOT DONE YET (at the time of writing): |
Thanks! As for the root cert, it sounds like this just needs to be run using Node v12.13.0+ and . It is not clear if there is anything else required. We've never bundled a root cert with this project and simply uses PEM files for Apple and API keys for Google. NOTE: I have Node 12.16.3 installed and getting this error on your fork on npm install:
CC(target) Release/obj.target/hiredis-c/deps/hiredis/sds.o npm ERR! code ELIFECYCLE npm ERR! A complete log of this run can be found in: |
Sorry, in my case I cannot go above node 11, and when on 11, on my OS, I do not have that error. Of course, best would be to go all the way up to the latest OS, node and package versions, but not everybody can do that. By the way, from what I understand, v11.15.0 will also work with the new root cert, as https://github.com/nodejs/node/blob/v11.15.0/src/node_root_certs.h#L247 shows. See post parse-community/node-apn#49 (comment) on how to check that for your node version. |
This notice was received today:
"The HTTP/2‑based Apple Push Notification service (APNs) provider API lets you take advantage of great features, such as authentication with a JSON Web Token, improved error messaging, and per‑notification feedback. If you still send push notifications with the legacy binary protocol, make sure to upgrade to the APNs provider API as soon as possible. APNs will no longer support the legacy binary protocol after March 31, 2021. "
It is unclear if PushD already uses the more modern HTTP/2 protocols or not. Can this please be confirmed? I see this uses the APN library which does support HTTP/2 in its most modern implementation but unclear if PushD has been adapted to use the latest versions of that library.
The text was updated successfully, but these errors were encountered: