-
-
Notifications
You must be signed in to change notification settings - Fork 155
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
feature: use Node 16, remove HTTP/2 support #1346
Conversation
- run tests with 16 (and legacy 10) - specify >10 in package.json - specify 16 in nvmrc
fe291aa
to
75bcf38
Compare
Thought it was time to update the RPi install instructions and found this PR. So please find some responses after testing with Node.js V16 Been running SK with Node V14 for a while without problem. Since its recomended to use V16 I updated with sudo npm install -g --unsafe-perm signalk-server and then executing signalk-server --sample-nmea0183-data I have done testing with some of the apps and everything went OK, even the |
Thanks for testing. Errors related to Node version are
The others are unrelated to Node version upgrade. |
Trace
|
spdy that is used for HTTP/2 support appears to have problems with Node >= 15 spdy-http2/node-spdy#380 I don't think HTTP/2 support is needed in SK server, so I'll see about removing it or making it an optional dependency. |
If you want to try the version in this branch pull it from Github and
to install
|
Been also running Node16 for sometime in one dev machine and no issues with SK server. Server-admin-ui and server-admin-ui-dependencies seems to require some dependency updates due to Node16 to get my own ui modifications running with new node version. |
Tried to test ... pi@raspberrypi:~/signalk-server-node $ npm install pi@raspberrypi:~/signalk-server-node $ npm run build
pi@raspberrypi:~/signalk-server-node $ bin/nmea-from-file a little over my knowledge.... ;-) |
The spdy module appears to be incompatible with Node >=15 as of this writing spdy-http2/node-spdy#380 As HTTP/2 is relevant only for SSL connections and I think that is pretty rarely used I think a pretty safe and convenient option is to remove HTTP/2 support and spdy module.
@MatsA thanks, I had accidentally committed --trace-deprecation, fixed now in Github version. |
OK, new version tested and works very well, no errors in the server log. The warnings are almost the same in the installation npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (debug-js/debug#797) Tested with, Freeboard, charts plugin, and AIS input as UDP data. If you think its needed I can test serial, Acticense, input in the boat ? NodeRed tested and OK, but a very old version 1.3.7, latest version 2.1.3.... Any other thoughts ? /Mats |
@KEGustafsson please share what changes you needed to do in those packages. |
@MatsA since serial connections need native binary modules those are more risky in terms of compatibility, so that's what I'd test next. |
The old versions were not supported on Node 16 and my M1 mac, not sure if this is really Node 16 related but these will probably need updating anyway sooner or later.
@tkurki These were the modification that I made.
Edit: |
@tkurki OK, tested with Actisense NGT-1 and no problem. But missed a problem with NodeRed, from server log Did an upgrade Additional apps tested @signalk/charts-plugin and some UDP sources and no problem. Think that the Avahi warnings could be a bit annoying for newbies ? The project https://github.com/homebridge/homebridge had the same problem for a year ago. Maybe could get a hint from their code ? |
Agreed, Avahi warnings are a nuisance. Looked into Homebridge and added #1353 to cover that issue. |
@KEGustafsson thanks. Do you remember what kind of trouble you had with Redux? Just wondering if the issue may have been resolved in an updated Redux and no longer needs action. |
No specifix problem with Redux but |
Related OpenPlotter discussion https://forum.openmarine.net/showthread.php?tid=3765&pid=21062#pid21062 |
OK. Since the boat is on the hard, the engines are winterized and I'm just waiting for to ski in the Alps during Christmas.... ;-) It works very well !! pi@raspberrypi:~/signalk-server-node $ npm install Even the Avahi warnings disappeared ?? pi@raspberrypi:~/signalk-server-node $ bin/nmea-from-file Tomorrow, probably, I will check the serial interface in the boat with Actisense and some more plugins. |
Don't know if it matters but installing the NodeRed plugin on Buster gave the path |
I think we should separate node 16 from Bullseye related details. If there's something odd going on please add an issue for it. |
Yes, one thing at a time. |
See also #1133