Skip to content

v0.8.0 improve predictability

Compare
Choose a tag to compare
@1gravity 1gravity released this 25 Sep 02:55
· 48 commits to master since this release
8ead156

To make the library more predictable (one of the three architectural goals) the following changes were made:

  • the Essenty lifecycle is translated to a Bloc lifecycle using a state machine
  • initializers are now executed completely before thunks or reducers are
  • MVVM+ style initializers were removed because they could be submitted at any time and thus the state machine could never progress to Started state
  • if a bloc is stopped, actions, thunks, reducers etc. submitted to the bloc will be ignored
  • if a bloc is running the initializer actions, thunks, reducers etc. submitted to the bloc will be queued for later execution
  • reducers need to run synchronously -> they are no longer suspend but just regular functions