Because splitter.signal is used three times, and it's a def in Waypoint, that creates three new signals, each of which evaluates compPage by-name separately, resulting in three evaluations per pageSignal event instead of one. This breaks the general shared-execution expectation that is core to Airstream.
Fix will be included in the next release.
Workaround for such cases is to save splitter.signal into a val instead of just splitter.
Example problem from Discord:
Because
splitter.signal
is used three times, and it's adef
in Waypoint, that creates three new signals, each of which evaluatescompPage
by-name separately, resulting in three evaluations perpageSignal
event instead of one. This breaks the general shared-execution expectation that is core to Airstream.Fix will be included in the next release.
Workaround for such cases is to save
splitter.signal
into a val instead of justsplitter
.