Giter Club home page Giter Club logo

elmslie's People

Contributors

diklimchuk avatar kolinloures avatar opengamer29 avatar sergei-lapin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elmslie's Issues

Implicit store start

Since v1.2.0 store implicitly starts right after the first incoming event. If it's not an Init event for some reason, then later Init event will be ignored.

Listener of all store events

Add a way to subscribe to all store events. It may be some kind of listener or flow of store events (preferred)

[Bug] Effects which are emitted in background can be missed in Compose

Preconditions:
There are two ElmFragments which are only container for Composable functions. Subscribe to Flow(Effect) with effects extension inside Composable fun.

Steps to reproduce:

  1. Open Fragment1 and navigate to Fragment2. Fragment1 subscribes via Actor to some data-holder.
  2. Trigger an event in Fragment2 which perform some work and update the data-holder from previous step.
  3. Reducer1 received event from Actor and produce effect, while Fragment1 is paused.
  4. Fragment2 is closed and Fragment1 didn't get effect.

IMPORTANT NOTE
It's related only for Flow. Due to research, I found that ElmScreen always subscribes to effects when Fragment is resumed. Since we manually subscribes to effects, this behavior broke the logic.
CoroutineScope inside Composable starts later than Fragment is get resume state, so ElmScreen consume effects but it shouldn't.

Rename vivid.money package to money.vivid

If one day we'd switch to maven central instead of jitpack (๐Ÿคž๐Ÿป ) โ€” we won't be able to prove owning money.vivid domain (which maven central will require to prove with current artifact coordinates of vivid.money.elmslie) โ€” we need to change that to money.vivid.elmslie

Research providing Effects from State for Jetpack Compose

Maybe we can make State to inherence from class ComposableState with field UiEffects. And allow storing Composable side-effects inside this new field. In this case inside reducer, we will have our usual handle effects field for system effects, and this UIEffect field of State for Composable Ui Effects

The main problem with this approach is duplicating Effects after process death. Effect will be saved in state and dispatched you ui the second time after store recreation since there's no mechanism to remove it from state after it was displayed

Store state restoring

We discussed that it will be nice to have some kind of callback, that calls before the store is destroyed and allow the lib user to save part of the state to SavedStateHandle.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.