@joservarelaf I think there are scenarios where you are forced to structure long event chains of HTTP requests during an app's lifecycle, maybe because of a badly designed backend API. The overhead of async-flow-fx comes from it using forward-events-fx to forward all events to the async-flow event handler, in effect causing everything to be dispatched double. I wonder if you can make something similar using an interceptor instead, and then injecting that into all the participating event handlers. I think there are some places in our app that could benefit from this, as currently we're manually checking some part of app-db in every event handler in the chain, to be able to tell which parallel events have completed and which have not, and when it's ready to move on to the next step. It's something I'll try exploring when I find an excuse to do it during worktime. 😼
While browsing re-frame-10x
source code, I noticed that sometimes it uses bundled Regent and sometimes it relies on the provided one.
E.g. re_frame_10x.cljs
requires both
[reagent.impl.util :as util]
[reagent.impl.component :as component]
[reagent.impl.batching :as batch]
and
[day8.re-frame-10x.inlined-deps.reagent.v0v10v0.reagent.core :as r]
[day8.re-frame-10x.inlined-deps.reagent.v0v10v0.reagent.dom :as rdom]
Is it intended? One would think that if you use the bundled version, you should always stick to it.@p-himik re-frame-10x has to monitor the app's Reagent - when components get rendered, when animation frames occur, etc Plus it has its own, vendored Reagent which it uses to create its own UI, separate to the app, and the rendering of that shouldn't be monitored, otherwise re-frame-10x would be interfering with the application it is supposed t be monitoring.
To do the monitoring of the app's Reagent, it monkey patches some functions.
Ah, I see. So it ends up being pretty tightly linked to the Reagent version. I wanted to try out the latest Reagent alpha but it has some changes that aren't compatible with the latest re-frame-10x version. Oh well.
Holy cow! I LOVE the idea of `re-frame-async-flow-fx`!!! Thanks for all your help on this — I’ve had a bit of a breakthrough that has allowed me to build what I want to build… but it’s made it pretty clear that I need to clean my mess up somehow. But I’ve been thinking about all y’all’s advice on how to think about reorganizing — I’ll keep you posted on my plans. (After I finish building this one feature, that’s got me so excited, I woke up early this morning to tackle! 🎉)
1💪