Fork me on GitHub
Mr. Savy00:05:43

css style are a paint to maintain. my best guess would be to minimize css overlap for deeply nested elements maybe.

Mr. Savy00:05:12

I've run into a really weird issue myself. Is anyone familiar with an issue where a bunch of garbled text is put between a "[" and a "]:"? I'm starting with a empty shadow-cljs project, but when I add the deps.edn file for for fulcro and s-cljs via the ":deps" section of shadow-cljs.edn to the page throws this error when I pull up the local host page. maybe it has to do with windows charater encoding? I see that it's referencing bidi, but I'm not sure if bidi has anything to do with this.

Mr. Savy00:05:51

In the meantime I'm going to clone a template and if the issue still persists. If not that may help me narrow it down.

Jakub Holý17:05:43

Does it happen both in FF and Chrome?

Mr. Savy23:05:26

I'm new to slack and didn't see this so sorry for having not responded sooner


@ajsnow2012 that is one I’ve seen….what caused that…is was some NPM weirdness


or something


@danvingo you sure that is the problem? Inputs require error to be set of the form and input in order to show


Turned out I needed to add "field" to the wrapper div.. shrug..


@ajsnow2012 I have some vague memory that it was semantic-ui causing some set of crazy things. In my more recent projects if I use semantic-ui css, I make a diff directory for pulling just THAT in and building it, so it cannot hose the deps on the other layer…also, might have been node version…npm is just a nightmare.

Mr. Savy04:05:31

does fulcro and/or s-cljs use semantic ui or node.js by default? I didn't think I was even using node or any other libraries yet.

Mr. Savy04:05:49

oh wait you meant node for npm, duh. mb. hmm, maybe I should upgrade node/npm


@ajsnow2012 typically that is caused by not specifying a proper encoding in your page. there should be a <meta charset="UTF-8"> in your <head>


from the RAD book (attr/register-attributes! model/all-attributes), is this no longer required ? Cant find the above var in pathom "2.2.28"


@murtaza52 The RAD book is out of date; it doesn't make sense to keep it updated given the frequent changes to RAD. It's recommended to use the demo and docstrings as documentation for the moment.

👆 4

Question, is it general practice to aim to be up-to-date with shadow-cljs? or stay a few versions behind? If it’s the second, what’s the version people are finding stable?


@folcon I generally recommend updating when there is a new feature you'd like to have or bug fixed that you run into. otherwise if everything works fine for you there is no real reason to stay up-to-date 🙂

👍 4

I’m finding it difficult to move off "2.8.80"


most likely a version conflict of some sort. especially likely if you use deps.edn or project.clj


Different things break as I try and update, I’ve tried, 2.8.102 and 2.8.109. Sure but all I get is warnings and then the site doesn’t load… So it’s really hard to debug where the issue is?


as I said. 99.9% sure its a version conflict


I’ve also taken to rm -rf .shadow-cljs regularly, as I can’t clean…


most likely trying to mix the newer shadow-cljs version with an older clojurescript version


I find things a bit more stable that way…


or closure-compiler with the wrong closure-library etc


I’m running clojurescript 1.10.741


I don’t think I require closure compiler myself, I leave that for deps.edn to handle =)…


[org.clojure/clojurescript "1.10.741"

   [ "v20200406"]

   [org.clojure/google-closure-library "0.0-20191016-6ae1f72f"]
   [org.clojure/google-closure-library-third-party "0.0-20191016-6ae1f72f"]


those are the verisons you should have


anything else is not guaranteed to work


anything that is fixed by rm -rf .shadow-cljs should be considered a bug and be reported


but the first thing I'm going to have you do is triple check your dependencies 😛


Sure =)…


Where do I get the versions/exclusions?


As in how do I know the way to build a good deps list? It’s normally obvious, but I’m really not used to how shadow/deps works…


Just as a sanity check, is the message server version: 2.8.80 supposed to give the shadow-cljs version? If so I’m really trying to work out how npx shadow-cljs server keeps launching 2.8.80 even after installing 2.8.109


server version is the relevant version yes


I guess you are using project.clj or deps.edn


in which case you specify the version there


package.json only controls the npm version which is just the CLI utils


ok, just trying to get the relevant version, I created a minimal project to try and debug this =)… and now my main project isn’t updating >_<…



failed to load shadow.module.main.append.js Error: No protocol method IMapEntry.-key defined for type string: absolute !important
    at Object.cljs$core$missing_protocol [as missing_protocol] (core.cljs:324)
    at cljs$core$IMapEntry$_key$dyn_60484 (core.cljs:659)
    at Object.cljs$core$_key [as _key] (core.cljs:659)
    at cljs$core$key (core.cljs:9028)
    at Object.eval [as cljs$core$ITransientCollection$_conj_BANG_$arity$2] (core.cljs:7087)
    at cljs$core$_conj_BANG_ (core.cljs:801)
    at eval (core.cljs:2482)
    at Function.eval [as cljs$core$IFn$_invoke$arity$3] (core.cljs:2482)
    at Object.eval [as cljs$core$IReduce$_reduce$arity$3] (core.cljs:3506)
    at Function.eval [as cljs$core$IFn$_invoke$arity$3] (core.cljs:2552)

Jakub Holý19:05:04

@tony.kay Any special reason why ::report/layout-style , ::report/row-style , ::report/control-style are missing from the report-options ns or should I send a PR to add them?


@folcon that looks like you are calling (key some-string) where some-string is "absolute !important". no clue what that is about .


It’s a little bit of a puzzle, I don’t believe I’m calling any such string in code I’ve written (I don’t use !important as a rule), it’s hard to pin down from the stacktrace where it’s coming from… and I don’t see it unless I update from 2.8.80 to 2.8.109, which doesn’t at all mean it’s coming from shadow, just that the version update surfaced it… I am using the standard fulcro template, I’ve been trying to update it so it’s using newer libs, but this approach wasn’t really working… Hence trying to write a fully clean minimal implementation, update all the libs and then add code until it breaks ;)…


it is coming from your :init-fn, so some work you do in there ends up in some bad code


Thanks for the heads up, not sure where you got that from the stacktrace, but I’ll dig in there =)…


shadow.module.main.append.js is the generated source file that calls your init-fn


Did not know that =)… Thanks!


btw, quick question, why does the build status now say “Missing.“? It used to be a pretty nice message if I remember correctly =)…


that happens when you open the UI after the build completed


when the compile finishes while the UI is open it shouldn't show that


need to store the last result server side so that it isn't missing but haven't gotten to tuning that 😛


found this strategy to start some form fields off in a completed state:

:pre-merge     (fn [{:keys [data-tree current-normalized]}]
                    (merge current-normalized
                      (assoc-in data-tree
                        [::fs/config ::fs/complete?]

❤️ 4
Mr. Savy23:05:46

ok the fulcro template doesn't cause the weird issue so that's good. but also the template already comes with more code than I was even planning to write for my own project lmao


It does that =)… I think there’s a ton of value in the template, but I’m finding it’s a lot more straightforward to just watch the video tutorial, grab the github code and then start from there? Then use the template to pull in bits you need =)…


You end up adding only bits you understand more or less ;)…