centrifugal / centrifuge-swift

Swift client SDK for bidirectional real-time communication with Centrifugo and Centrifuge-based server over WebSocket
MIT License
48 stars 43 forks source link

Any plan to update to Starscream 4? #48

Closed danqing closed 12 months ago

danqing commented 3 years ago

As the topic says. Thanks!

FZambia commented 3 years ago

Hello, there was a pull request https://github.com/centrifugal/centrifuge-swift/pull/19, at that point Starscream 4 had several known problems.

Starscream not maintained well these days so I am not sure migration to v4 can give any benefit. Did you experience any problems with Starscream 3 which you aim to solve?

danqing commented 2 years ago

Not really but I remember seeing some ss 3 issues back in the day (before v4 came out), and just curious about the plan here. While ss isn't being maintained super well, there have been a bunch of updates for v4 and it's been over a year since #19 was created.

fedulvtubudul commented 2 years ago

There are integration issues if you try to add both Socket.IO and Centrifuge via CocoaPods into same project (we use both for different services). SocketIO depends on Starscream ~>4.0.

FZambia commented 2 years ago

That's unfortunate, but I think it would be better to embed StarScream 3 to Centrifuge-swift than migrating to StarScream 4 at this point – looking at StarScream issue tracker I am not really confident that upgrade to v4 worth it.

FZambia commented 2 years ago

@fedulvtubudul opened a pr #53 to embed Starscream 3 for now till we find and migrate to a better alternative (which can take much more time). What do you think – is this viable for you?

fedulvtubudul commented 2 years ago

@FZambia yep, thanks! Recently we've done the same on our fork to integrate Centrifuge into a project that already uses SocketIO. So now we can return to upstream which is great.

FZambia commented 2 years ago

So CentrifugeSwift 0.4.2 now embeds Starscream 3 and does not have an external dependency to Starscream. I hope this is a temporary thing – but hard to say when we do the next step, as I said above – I am a bit worried about Starscream 4 state these days.

FZambia commented 1 year ago

I suppose next step here would be: use native URLSessionWebSocketTask if available and fallback to our embedded Starscream 3 fork for older devices. Appreciate help with this.

FZambia commented 1 year ago

Thanks to https://github.com/centrifugal/centrifuge-swift/pull/84 we now have an optional WS transport using URLSessionWebSocketTask. Will be part of next release.

FZambia commented 12 months ago

available in 0.7.0