Request for Improving flutter_zoom_video_sdk Dependencies: Updating rxdart and Reconsidering the Use of events_emitter

Currently, flutter_zoom_video_sdk depends on the events_emitter package, which has not been maintained for about two years and has only 12 stars on GitHub. Moreover, events_emitter relies on an outdated version of rxdart (^0.27.5), causing compatibility issues with numerous other packages that require newer versions of rxdart. While custom_lint serves as one concrete example, this compatibility problem extends to many other libraries within the Flutter ecosystem.

Below is an actual error message encountered:

Resolving dependencies...
Because events_emitter 0.5.2 depends on rxdart ^0.27.5 and no versions of events_emitter match >0.5.2 <0.6.0, events_emitter ^0.5.2 requires rxdart ^0.27.5.
And because custom_lint >=0.6.5 depends on rxdart ^0.28.0 and every version of flutter_zoom_videosdk depends on events_emitter ^0.5.2, custom_lint >=0.6.5 is incompatible with flutter_zoom_videosdk.
So, because [Project Name] depends on both flutter_zoom_videosdk and custom_lint ^0.7.0, version solving failed.

This issue indicates that flutter_zoom_video_sdk is hindering developers from updating to a more modern, compatible toolchain. To ensure the long-term sustainability and ease of integration with up-to-date dependencies, we kindly request that you revisit the choice of relying on a minor, unmaintained library like events_emitter and update rxdart and other dependencies accordingly.

By doing so, developers can seamlessly integrate flutter_zoom_video_sdk into the latest Flutter ecosystem and maintain a forward-compatible development environment, ultimately benefiting the entire community of flutter_zoom_video_sdk users. Thank you for your consideration.

Thanks for the feedback @tihimsm, I’ll share with our team!

You mention this issue isn’t limited to custom_lint. Do you know any other popular libraries that are incompatible?

Thanks for following up!
At this point, I don’t have many concrete examples besides custom_lint, but I believe there are other libraries that depend on rxdart as well.
For instance, it looks like rx_bloc relies on rxdart.

I’ve opened a discussion with engineering. I’ll try to push for getting these updated, thanks!

Any updates here? We’re facing the same issue. We’re using getstream for chat which uses latest version of rxdart. Due to this now we cannot even build our app if we want to use both getstream and zoom.

1 Like

We’re discussing these internally, I’ll share an update here as soon as I can.

We’re working on making these improvements to a future release, thanks again!

Hello @ekaansh.zoom ,
Thanks for the update. Do you have any timeline for the future release since we’re totally blocked at this point from even building our app

We’re targeting it in the couple next releases but I can’t promise a timeline, I’ll share updates here.

Hey, we’ll be releasing v1.14.0 removing the dependency events_emitter in flutter_zoom_videosdk.

  • Removed the addEventListener() in class ZoomVideoSdkEventListener. Replaced the emitter.on with eventListener.addListener.

    • Example usage of ZoomVideoSdkEventListener:
    var zoom = ZoomVideoSdk();
    var eventListener = ZoomVideoSdkEventListener();
    var isMounted = useIsMounted();
    
    useEffect(() {
        final userVideoStatusChangedListener =
              eventListener.addListener(EventType.onUserVideoStatusChanged, (data) async {
                data = data as Map;
                var userListJson = jsonDecode(data['changedUsers']) as List;
                List<ZoomVideoSdkUser> userList = userListJson
                    .map((userJson) => ZoomVideoSdkUser.fromJson(userJson))
                    .toList();
        });
    
        return () => {
                userVideoStatusChangedListener.cancel(),
            };
    }, [zoom, isMounted]);
    

It should be out by tomorrow, be sure to check the full release notes. Hope this helps!

1 Like

Hi @ekaansh.zoom
Do you know when the package will be out on flutter pub.dev? It’s been a couple of days but i don’t see it updated there

Do you know when the package will be out on flutter pub.dev? It’s been a couple of days but i don’t see it updated there

I have a same issue!

Sorry about that, I’ll get that updated!

I checked for updates.
Thank you!

1 Like

Verified on my end too. It’s working. Thanks a lot for the quick turnaround.

1 Like

Awesome, thanks for helping us improve the product!