firebase / firebase/firebase-cpp-sdk

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

Aperta
#1,618 1 commento 1 reazione 0 assegnatari Vedi su GitHub
needs-triage new type: question
Lingua principale
C++
Stelle
326
Fork
137
Merge medio
3g 9h
PR unite (30g)
5

Descrizione

### Feature proposal

* Firebase Component: build (cmake/external/uWebSockets)

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.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.