event-calls might get lost, because the outer flow changes
For flows, which represent a state, it should be no problem to use flatMapLatest, but because events are one-shot operations, they should not be used within another flow transformation. While it seems to work for normal usage, it causes lots of problems for automated ui-tests e.g. using playwright. Actions might get lost or are not ready yet, what causes failing/flaky tests.
With this PR i replaced all event-Flows within Flow-Transformations i could found. The replacement always a followed similiar pattern. The above example code would be
clicks.map {
val value = state.first()
...
} handledBy ...
Or if state is the flow of a store, i used Store.current rather than first()
The current code contains lots of statements like
The problem here is, that
For flows, which represent a state, it should be no problem to use flatMapLatest, but because events are one-shot operations, they should not be used within another flow transformation. While it seems to work for normal usage, it causes lots of problems for automated ui-tests e.g. using playwright. Actions might get lost or are not ready yet, what causes failing/flaky tests.
With this PR i replaced all event-Flows within Flow-Transformations i could found. The replacement always a followed similiar pattern. The above example code would be
Or if state is the flow of a store, i used
Store.current
rather thanfirst()