Fork me on GitHub

I’m running Fulcro Inspect chrome extension 1.0.18 (local build) and it just failed to load and had this error in the extension details:

Uncaught #error {:message "No reader function for tag fulcro/tempid.", :data {:type :reader-exception, :ex-kind :reader-error}}
Removing it and adding it again got it to start working again, but reloading the extension or restarting the browser didn’t work


@thosmos yeah, I think I saw that as a transient error on install as well…but the reinstall seems to have fixed it. 1.0.18 has been working all day for me. I’ve been using it against RAD development.


I had already installed 1.0.18 earlier today and it was working for a while before that error? So not sure about it being on install …


just got it again …


@thosmos are you using tempids on the project? @tony.kay I remember you had a issue when using tempids as well, isn't this the same?


yes I am using tempids


I am also using tempids, but I don’t get that error


possibly the version of transit you’re pulling into Fulcro itself?


according to -Stree my transit is coming from fulcro. it hasn’t happened today. Maybe it originally happened when my state got into a strange state from a code irregularity, and then it just stayed broken until re-installation?

Jakub Holý (HolyJak)18:01:44

Hello! I need a 5-step "wizard"/process that my users go through (building more state in each step) . I guess the best way to implement it is a router for the 5 pages of the wizard and UI SM to keep track of the current step and to handle the transitions. Am I right? Thank you!


@holyjak i go back and forth on using a UISM for this situation or not


after building a bunch of n-step flows, i’ve come to the conclusion, start with just a router(s), the current route is the current step and dr/change-route is how you do transitions


add a UISM only if you have complicated data dependencies, e.g. behavior on step 4 depends on what you did in step 2 in a way that’s not easy to track with queries, you need a way to reason about state and behavior more globally than just using a router


does that make sense?

❤️ 4
👍 4
Jakub Holý (HolyJak)19:01:25

If the users are expected to arrive to /?step=start&useid=xyz where should I use the userid to fetch data for the Start page? In React I'd perhaps use the Start component's WillMount... But the body of a fulcro component is just the render fn. Should I fire a mutation somewhere (where?) to load it?? 🙏


To me that is a mutation called at startup that looks at URL parameters.

👍 4

you can use componentDidMount or UNSAFE_componentWillMount on root if you want to…nothing stopping you…but it is an entry point, so I’d treat it as such.


also, you can start/initialize a Fulcro app BEFORE mounting it, and also run transactions against it. So, you can do any logic on js entry point and then initialize the app, and then mount it.


or maybe just simple dynamic-router’s :will-enter, in case you dr/change-route to current url on startup


though that would better work if user-id is in path params instead of query params, which kinda makes sense if those aren’t optional

Jakub Holý (HolyJak)21:01:29

Thank you! I will explore these

Jakub Holý (HolyJak)21:01:41

Tony: By "at startup" you mean e.g. inside (referring to fulcro-template) app.client/init , before calling app/mount! ?


Yes, that is what I meant by startup. Before you mount. There is an initialize (don’t remember the exact name) you can do instead of mount that gets the app working without being on-screen, and then you tell mount not to initialize.

Jakub Holý (HolyJak)21:01:29

BTW @tony.kay, thanks a lot for the video tutorial series for Fulcro 3! I find it extremely useful, and a great addition to the book. It is also good to learn handy tricks for working with Fulcro. Thank you!


you’re welcome. Glad they are helping.


I was actually just doing a cost analysis of the time I spent on the two. I figure I have about $35k of time invested in the book, and about $4k in videos (Fulcro 2 and Fulcro 3 combined)…so, they are a much less “expensive” thing for me to do. Hard to “maintain” though…just have to re-record them.

Jakub Holý (HolyJak)22:01:39

Wow! It is also different level of information, the book is the ultimate reference...

Jakub Holý (HolyJak)22:01:54

Is it possible to make the dynamic routers work with an url that doesn't change the physical page, so that hard-reload doesn't lead to 404 when I have only a single physical page? So not /segment1/segment2 but eg /#/segment1/segment2?


dynamic routers have nothing to do with URLS 🙂 The are “algorithmically compatible” with them..but you write the glue, so do what you like 🙂

👍 4

it’s just string manipulation, after all


So, as much as I dislike fund-raising: I spend quite a bit of my own time writing and maintaining Fulcro and its documentation. I’ve been doing so non-stop for several years now, sometimes working as many as 27 days straight on these resources (See June on the contributions plot at I’ve been an approved user of GitHub Sponsors for a couple of months now, and they have a matching program for up to $5k of donations. If just 10 more people will sign up to donate $20/month for the rest of the year (or just do a one-time donation of $200), then I’ll be able to take full advantage of that matching. In the grand scheme of things I figure I’ve donated over $300k of my time to this project and community, and it would be nice if those of you that find it useful would consider giving a bit back. 🙂 Thanks! And thanks so much to those of you that already donate to the project. Side Note: Since Microsoft now owns GitHub, you could also look at it as a way to get Microsoft to pay for part of Fulcro 😉

Jakub Holý (HolyJak)09:01:33

FYI I do not see a way to donate 20, there are only tiers for 10 and then 50?


I think you can make up your own amount. Go through on the 10 and alter it perhaps...


I thought in the top right corner where it says 'Edit' - you would be able to edit the amount through there. But it just allows you to edit to another tier, so no dice. Maybe do $10 twice simple_smile😜. My payment information (or something like that) never comes up. I've lodged a support ticket with GitHub.


Some numbers, for those interested.


The sponsor button is at the top of this page :

👍 28
fulcro 24