-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Migrate Socket.IO from Version 2 to Version 3 π #6152
Conversation
That looks awesome. I'll review and test tomorrow. If all looks good I'll merge this. Would you be interested in also upgrading to v4 after that? |
Great, thanks! If it all goes smoothly, I'm up for upgrading to v4 next. |
@HMarzban could you reset the test timeout in the package.json? I think that is why the load tests are failing. |
When I start Etherpad I get a bad request {"code":0,"message":"Transport unknown"} |
Encountered another failure. I've reviewed the However, on a positive note, the backend tests passed successfully. I also manually tested all functionalities of the client, and everything appeared to be functioning correctly. |
Upgrading from v3 to v4 requires more extensive refactoring, but only on the backend side. Once that's done, I can start working on upgrading the socket to v4. |
In the new version of socket.io, the socket protocols such as Therefore, you will need to update them to change the settings: ---
"socketTransportProtocols" : ["websocket", "polling"],
--- |
Good idea. I'm currently fighting over on etherpad-cli-client. I guess this is because the loadtests fail. Thanks that did fix the issue. Maybe I can just update the settings when the user starts Etherpad. Otherwise we will get a lot of complaints that their Etherpad instances broke. |
@HMarzban Do you have an idea how to fix the pipelines https://github.com/ether/etherpad-cli-client? |
Sure, I'm quite busy at the moment, but I believe you can handle this. Just give these steps a try, and you should be able to fix it yourself! Then, in this line: socket.json.send({
type: 'COLLABROOM',
component: 'pad',
data: JSON.parse(JSON.stringify(padState.inFlight)),
}); TO: socket.emit('message', {
type: 'COLLABROOM',
component: 'pad',
data: JSON.parse(JSON.stringify(padState.inFlight)),
}); Also, this line should be changed to: |
1825f0c
to
0c93d21
Compare
Awesome. I had to go through a lot of hoops but eventually I managed to migrate the load test and the cli to socket.io v3. Thanks for the help with this upgrade and I am hyped for the upgrade to the latest socket io version |
Great, let's rock and roll. π |
Upgraded the Socket.IO library from version 2 to version 3.
This PR is a continuation of PR #4916.
@SamTV12345 π§βπ»