re-frame

https://github.com/Day8/re-frame/blob/master/docs/README.md https://github.com/Day8/re-frame/blob/master/docs/External-Resources.md
uosl 2020-08-02T09:44:24.154600Z

@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. 😼

p-himik 2020-08-02T12:48:52.156600Z

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.

2020-08-02T13:30:41.159100Z

@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.

2020-08-02T13:33:34.159900Z

To do the monitoring of the app's Reagent, it monkey patches some functions.

p-himik 2020-08-02T13:33:39.160100Z

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.

genekim 2020-08-02T16:48:25.160700Z

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💪