You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looks like the "flow" of the bug is something like this
Computation starts and $search computed first time
$search is initialized in scope
Then next combined store is computed and during that $search is computed second time for some reason, even though it is already calculated in this run and its dependency was not changed second time 🤔
This part i tested locally with effector repo: - internal update filter $search called only one time after all these computations and compares next value with the current - but since store was computed twice in this run, it compares the same values. This can be proved by changing $search mapper function to return a new reference each update (an object for e.g.) - https://share.effector.dev/qZbb1B18 - this way bug is not appearing
Also calling scope.getState($search) somehow fixes $search computations and it is called only one time - probably because it is initializes value in scope before any computations? 🤔 https://share.effector.dev/N4AeCpYX
What is the current behavior:
$store.update
missed in some narrow case. We can see only one watcher's trigger.Please provide the steps to reproduce and if possible a minimal demo of the problem via https://share.effector.dev, https://codesandbox.io or similar
https://share.effector.dev/2IjuEI7T
What is the expected behavior:
Two watchers' triggers — initial and first update.
Which versions of effector packages, and which browser and OS are affected by this issue? Did this work in previous versions of effector?:
22.1.1 and later.
Notes
This example will be working correctly if we add
scope.getState
-call or removecombine
call.The text was updated successfully, but these errors were encountered: