I did some more work on Inspect. There is a new snapshot of Fulcro 3.4.0 on clojars (or use git SHA 53f9d6828b972f2f832897b19a9ffe31f3b39b63) and new Electron binaries of the Inspect app at https://github.com/fulcrologic/fulcro-inspect/releases/tag/3.0.0-1. I fixed a few minor issues (db view was not pre-populating), and resurrected the old UI Element picker tab. The latter requires you add an additional preload, and only works for web-based Fulcro apps (since it has to use the DOM of your app to give feedback).
I saw that the Fulcro book mentions Workspaces, I was wondering if that's a still recommended tool. From looking at it I got the impression that it might not really be maintained anymore (card discovery doesn't work with recent versions of shadow-cljs for instance - and, while there is a fork that fixes that, it is based on the f3 branch, and that seems to break cljs.test cards)
PR submitted 🙂 https://github.com/awkay/workspaces/pull/4
Speaking of Fulcro Inspect, when running mutations in the Query tab, they always return
{server/inc-counter
{:com.wsscode.pathom.core/reader-error
"Mutation not found - {:mutation server/inc-counter}"}}
even though the network tab reports that a successful response (`{server/inc-counter {:server/counter 8}}`) was returned.Hi! Is it possible to know the instance that fired a load or a mutation in the network layer (in the request middleware)?
I still use workspaces in f3 via the awkay repo, but I have no time to maintain it. Feel free to fix things and send PRs.
Mutations are not supported in the query tab…thus the name “Query Tab” 🙂
if someone wants to patch that, would accept a PR
I don’t think so currently, you’d have to wire it up (in F3 at least). You could do so, but you’d have to adopt a custom transaction processor (i.e. copy tx_processing and modify the necessary functions, then install that in the app), you’d also have to change the remote to pass it through. At least I think….it might be possible to pass it all the way t hrough with the tx options
:man-facepalming:
Thanks!
I like to add a bit here, the mutations do work in the query tab (the operation goes though and runs), but there is a bug in the reading end, so you don't get to see the result, altough the mutation ran
Thank you for the answer! I know it was a weird question to have the instance in the network layer, but we are in a situation where I can’t think of another way to solve
Is fulcro garden meant to be a replacement for stylesheets or supplementary?
Following the instructions on the fulcro rad readme https://github.com/fulcrologic/fulcro-rad-demo/tree/datomic-cloud i was able to successful run shadow-cljs watch main
which started an http server on port 8081. However, i expected it to be a more user facing demo page. Instead it seems to be abou testing. What i'm i missing?
For shadow it is easier not to worry about the watch. Shadow comes with its own UI so you can see all the builds. npx shadow-cljs server
.
See this UI at http://localhost:9630/
9630 shows the a "passed tests". page which isnt what i was expecting.
Try without Datomic-cloud, with just in-memory Datomic. Worked for me a while back
@holyjak I was following the instructions for the datmoic cloud branch which uses the dev-tools. Which I believe is in memory. I'm currently guessing that I didn't set up the dev tools correctly. Maybe I need to point to a specific directory where datomic cloud has done some thing
Sorry for bad explanation, in memory wasn't the point. Non-cloud was. Try the master branch.
I'll try the master branch. Good call
As a reference
running the same commands on the master branch gets me the expected landing page on port 3000. Likely the instructions on the datomic-cloud branch are terse in such a way as the expect you to have done something i didn't do. If i discover its intresting ill submit a PR.
No I wouldn't expect 'passed tests' either. There is even another repo for Fulcro RAD that has a different set of instructions: https://github.com/fulcrologic/fulcro-rad-kvstore.
You should read the readme. You get shadow to build, then you open another terminal and run a clojure repl where you can '(require 'development)' and then '(development/start)'
Then the demo app will be running on localhost:3000