-
Notifications
You must be signed in to change notification settings - Fork 29
Description
There is an issue with the lifecycle in version 2.5. The lifecycle is now cross-platform and is propagated through CompositionLocal by default by Compose itself. However, libraries (such as Essenty) define their own lifecycle.
This results in the following:
-
If FlowMVI uses this
CompositionLocal, it will not be aware that the lifecycle should be different (as provided by the navigation library). This will introduce resource leaks when subscribing to stores. The biggest downside is that this local lifecycle is ALREADY being used on Android. -
If FlowMVI does NOT use this lifecycle, then it will be necessary to create yet another duplicate of half of the lifecycle code and force the user to convert their lifecycle into FlowMVI's lifecycle and manually pass it as an argument on each screen. This will lead to the deprecation of the subscription function, which is used on every screen, boilerplate during subscriptions, and also the exposure of part of the library's internals to users, who will now have to implement this (yet another) lifecycle.
I encourage everyone to provide their feedback on how they would like to see this resolved, which option to choose and how to gracefully migrate users to the new API
Metadata
Metadata
Assignees
Labels
Type
Projects
Status