firebase / firebase-cpp-sdk

Firebase C++ SDK
http://firebase.google.com
Apache License 2.0
271 stars 110 forks source link

[FR] Update cmake/external/uWebSockets to version more recent than 2017 #1618

Open paulpv opened 1 week ago

paulpv commented 1 week ago

Feature proposal

This SDK uses cmake/external/uWebSockets 4d94401b from 20170925 ~v0.14.4... which is VERY old! https://github.com/firebase/firebase-cpp-sdk/blob/b4f9e0b45d9cf69688cdb0285627aedfcc906dd9/cmake/external/uWebSockets.cmake#L21

https://github.com/uNetworking/uWebSockets/tree/4d94401b9c98346f9afd838556fdc7dce30561eb

According to https://github.com/uNetworking/uWebSockets/releases?page=16, a 20170925 commit would place this code between releases v0.14.4 and v0.14.5.

The latest uWebSockets is v20.63.0. The version is not as big of a jump as it may seem. According to https://github.com/uNetworking/uWebSockets/releases?page=11, release 0.17.6 was followed by 18.0.0, so I think they just dropped the leading "zero dot".

That said, there do appear to be some fairly significant changes since v0.14.4. Most importantly, this SDK patches src/HTTPSocket.h and src/Socket.h that no longer exists in the newer uWebSockets code. https://github.com/firebase/firebase-cpp-sdk/blob/b4f9e0b45d9cf69688cdb0285627aedfcc906dd9/scripts/git/patches/uWebSockets/0001-fix-want-write-and-sprintf-deprecation.patch It looks like src/HTTPSocket.h was refactored out on 20190902, and src/Socket.h on 20190910.

I am sure that it would be non-trivial to update to the latest uWebSockets, but it may be worth updating to at least a version closer to the refactor, but preferably to the latest.

Most of the other cmake/external dependencies seem more reasonably up to date, but it would be nice to update them to as recent as possible.

google-oss-bot commented 1 week ago

I found a few problems with this issue: