Fork me on GitHub

I've combed over most of the RAD book, and added a chapter on taking control of forms. This should help those of you that are struggling with make forms do things "outside the box":

🎉 2
👍 1

Hi all - Is anyone else having problems getting Fulcro Inspect (chrome extension) to connect to their Fulcro app? It was working fine yesterday. I just updated Chrome to 95.0.4638.69 and Fulcro Inspect is showing the “No app connected” page. I have tried: • clearing all items from the chrome cache • double checked that the extension is loaded in shadow-cljs :preloads section • disabled all other extensions • restarted chrome, re-compiled the app • Installed fulcro-inspect-electron, installed fulcro.websocket-preload (same issue) … all did not solve the problem. Interestingly, clicking the Fulcro Inspect extension button in the Chrome menu bar gives me the message “Fulcro App Detected - Open Chrome Devtools” but the Fulcro Inspect pane in DevTools is show the “No app connected” message. Any other ideas I can try? Thx!


Ok, some more info: I just tried compiling an app I know is working with Fulcro Inspect and now the fulcro-inspect-chrome appears to be working and connects to my app so the problem appears to be with my project. Is there anything I can do to debug the fulcro-inspect chrome extension to see what might be causing the issue?


Ok, I think I’ve found the source of the problem. fulcro-inspect is now working fine. Sorry for the false alert! 😉

Jakub Holý (HolyJak)23:11:33

Hi @tony.kay! It seems that wrapping the whole body of a component in error-boundary, like here:

(defsc Ch [_ _]
  {:query [:id]}
    (p "Hello from a child!!")))
stops Fulcro Inspect's Element Picker from being able to see/pick that component (while wrapping the whole component, as in (eb/error-boundary ((comp/factory Ch) {})) , works just fine). Any idea of the top of your head why could that be? If not then I will dive into inspect's code.

Jakub Holý (HolyJak)08:11:35

I am digging into this and will hopefully have a solution soon.


Was this just the element picker being broken, or is this a mouse hit detection problem. I think Wilker wrote the original picker, and I’ve perhaps messed with it some…but I never find it useful, so I never use it. My work patterns are just different I guess, but I have noticed that it does not seem to handle nesting particularly well when I have used it.

Jakub Holý (HolyJak)18:11:20

Just the picker. You should make a video on your work patterns :-) (you also mentioned you don't need the diff on transactions..)

👍 1

yeah. The picker isn’t much different than just knowing the ident, so I usually just look in the db. The diff on transactions: I can see what’s in the db, so figuring things out from a diff isn’t helpful, since I can see what the txn returned…a diff is harder to work with IMO. It tells you that the stuff got applied, but I trust the internals, so that isn’t terribly enlightening. Wilker wrote a lot of these initial things. I optimized them because it was horrible with large dbs, but not sending every db makes those diffs harder to calculate because of the chrome plugin comm channel, and the extra async mess that creates…but it really should not be that hard to fix


low prio for me though

Jakub Holý (HolyJak)23:11:51

To me - and other, I imagine - the diffs help me to understand what a mutation did to the data and/or which mutation changed a particular piece of the DB. What do you mean by "I can see what the txn returned"? You mean the new version of the DB? Because the vie shows that number and you can look at that revision using the DB views' history slider?


I meant network tab in terms of result…not txn tab, sorry


txn tab: most mutations are trivial, and those that are not can be simply tested in a REPL or unit test…so, there’s not much reason to bang against a live app.


but I agree it can be useful, that’s wy I’ve not deleted the feature…it just has a bug

👍 1