Hey all,
I was assuming that Select [Reactive.Observable]
was ForEach [Reactive]
's stateless twin. Am I wrong?
I’m attempting to refactor the Updates part of GammaLauncher, which is a massive chain of reactive ForEach
. Because they’re stateful, I cannot wrap them in static operations, so I started replacing those ForEach
with Select [Reactive.Observable]
, but it looks like the events don’t flow through the pipe anymore.
Re-replacing those with ForEach [Reactive]
makes it work again, but that’s not really viable for me since I’m attempting to modularize this whole thing. I also had vvvveird experiences in the past using stateful nodes in reactive pipelines, which is why I don’t want to wrap those in Process nodes.
You can check the current state of thing in the repository at this commit.
Repro steps:
- Open GammaLauncher
- Press
F9
to ignore theReturned interface System.__ComObject does not implement IDWriteFactory
exception (bug report incoming) (you’ll get a ghost window) - Navigate to the
UpdatesTabRuntime
patch - There’s a
Select
right after theToBackground
node. When starting the launcher or when clicking the Check For Updates button in the UI, you should see Checking for remote builds… logged in the console: this does not happen. - Replace that
Select
node with a reactiveForEach
, pressF9
: you should now see this message in the Console.
Can anyone help? Am I using the Select
node wrong? And how could I properly modularize this whole thing? :-)
Thanks!