centrifugal / centrifuge-dart

Dart (Flutter) client SDK for bidirectional communication with Centrifugo and Centrifuge-based server over WebSocket
https://pub.dartlang.org/packages/centrifuge
MIT License
109 stars 34 forks source link

Supporting Centrifugo v3 #74

Closed robert-virkus closed 1 year ago

robert-virkus commented 1 year ago

Hi, what would be required in principle to support v3 of the protocol? I would assume and hope that "only" the proto needs to be exchanged and the commands would need to be re-generated, is that roughly right? Could the client in principle detect the server side version and decide during runtime which command encoder/decoder to use?

FZambia commented 1 year ago

Centrifugo v3 protocol won't be supported in new versions of Centrifugal SDKs, that version of protocol is deprecated. Technically it could be possible of course.

FZambia commented 1 year ago

The rest of old protocol (which is still supported by a server) will be removed with Centrifugo v5 - see roadmap v5

robert-virkus commented 1 year ago

I happen to have the requirement to support both web and other platforms with v3 (at least for now) and I would like to stick to the "official" plugin for maintenance reasons. Did I understand you correctly, it is your policy that client SDKs should never support older server versions?

FZambia commented 1 year ago

Yeah - it's a decision made to move Centrifugo project forward. Unfortunately supporting both protocol versions adds too much complexity for maintenance which is simply unaffordable for Centrifugo at this stage.