Clojurians
#cljs-dev
<
2018-02-27
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

richiardiandrea00:02:41

also maybe a -ro and -co are maybe more in line with --repl-opts and --compiler-opts but I can put together a patch in case..

dnolen00:02:03

@richiardiandrea I was concerned that we were already using -O -o, but maybe not a big deal

richiardiandrea00:02:54

oh yeah right, there is no clash in my head but it might be worth hearing someone else's opinion as well :smile:

potetm00:02:54

@dnolen :thumbsup:

potetm00:02:16

I was having a little trouble reproducing anyways. Was planning on playing with that quite a bit.

potetm00:02:06

I’ll focus on the send/ack change.

richiardiandrea00:02:26

it's weird because I printed out the options that are merged and they look fine:

{:options {:output-dir out, :static-fns true, :install-deps false, :optimizations :none, :verbose true, :output-to out/ep-lambda-cqrs.js, :source-map-timestamp false, :fn-invoke-direct true, :source-map true, :target :nodejs, :compiler-stats true, :npm-deps {:aws-sdk 2.201.0, :bunyan 1.8.12, :dotenv 5.0.0, :lodash.camelcase 4.3.0, :lodash.kebabcase 4.1.1, :lodash.upperfirst 4.3.1, :pg 

dnolen01:02:29

@mfikes if you have some time since I know your good at finding these things - testing that the browser REPL works with -i -e would be cool, I definitely found an issue and I think I fixed

mfikes01:02:40

Yeah, I'll mess with -i and -e some more (especially -i, which I haven't put through a whole lot of paces)

dnolen02:02:26

@potetm thanks for the tip about xpc, I think I can probably tackle the ack thing

mfikes03:02:53

Confirmed latest working on Windows

shaun-mahood03:02:48

First version of something new working in Windows is pretty awesome :)

dnolen03:02:24

@mfikes awesome, so windows bug resolved :slightly_smiling_face:

mfikes03:02:49

Yes. I’ve been doing some -i and -e testing there too. Seems pretty solid.

dnolen03:02:58

@mfikes instead of fancy handshake I just increased the timeout to the value from the Closure book, maybe give that a spin with Safari, it seems more reliable

dnolen03:02:05

it was 50ms before, now 1000ms

dnolen03:02:11

which isn’t a big deal since we have to compile anyway

dnolen03:02:28

ok the only critical thing now is (caching) compile from JAR, I’d like any further work to focus on making sure cljs.main works great

mfikes03:02:46

@dnolen Perfect with the 1000 ms. I went to the same box where it would reliably fail (nearly deterministically), and I tried it 10 times with the new code and it never failed. I'm convinced it is solved. :+1:

dnolen03:02:12

at least it’s reasonably rare now

mfikes03:02:29

@dnolen I saw Alex mention something a few days ago about exposing some additional information from tools.deps that sounded like it might be useful for figuring out things related to global caching if you have, say git deps at play. Let me see if I can dig up what he mentioned.

dnolen03:02:51

I just released 1.10.63 for testing purposes, a little more convenient than git URLs, maybe tomorrow start sharing cool snippets to get people to try it out

dnolen03:02:26

clj -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "1.10.63"}}}' -m cljs.main -r

mfikes04:02:54

Yeah, a whole flood of people who are using Lein and Boot can easily give 1.10.63 a spin

mfikes04:02:29

I can't find the stuff that Alex was mentioning. Perhaps it was the new -Sdescribe option or its underpinnings.

alexmiller04:02:47

probably clojure.tools.deps.alpha.reader/clojure-env

alexmiller04:02:09

but that’s really just a clojure wrapper around a call to clj -Sdescribe

mfikes04:02:17

The overall goal is to globally cache compilation artifacts produced from (immutable) JARs. Now that git deps have come along, they feel like they fall into the same category.

mfikes04:02:31

My initial thinking was, if you start by looking for JARs in (System/getProperty "java.class.path"), then you would miss out on the git deps, so there is probably something more sophisticated that can be done.

potetm04:02:08

@dnolen I’ve got a commit ready to go. Just getting the JIRA issue together.

potetm05:02:21

just noticed that that patch was out of date, added a new one

dnolen05:02:25

@mfikes hrm it’s getting late, but I’m thinking this Safari issue (I still see the case where files aren’t available yet on my iMac) is just revealing that browser REPL has a concurrency bug

dnolen05:02:36

the static file serving happens on a different thread than the normal REPL compilation process, so things are building in parallel but not in a safe way

dnolen05:02:13

I think I fixed it, I can’t repro these issues in Safari anymore

dnolen05:02:05

cutting another release and going to sleep :slightly_smiling_face:

mfikes11:02:55

Cool, the latest release is working for me.

dpsutton13:02:15

interesting. I ran mfikes example of the geometry thing the other day. Now when i run clj -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "1.10.64"}}}' -m cljs.main -r, it flashes the blue welcome page for about a second and then goes to the black page with the canvas

bhauman13:02:37

@dpsutton that is expected

bhauman13:02:34

@dpsutton thanks for the report though :slightly_smiling_face:

mfikes13:02:51

Yeah, @dpsutton the underlying technical reason is that the project itself doesn't provide an index.html, and quickly revises the default one supplied by ClojureScript

mfikes13:02:00

(at runtime)

mfikes13:02:26

(And the technical reason that approach is taken is so that it can be used as a git dep)

bhauman13:02:48

thanks to dnolen's new watch validation just saved me some pain

bhauman13:02:54

and immediately again when i typed -w srv

dpsutton13:02:43

yeah i understood that. i was surprised to see a stale one appear

dpsutton13:02:01

it showed the default blue one and then it showed the black canvas one from days ago

mfikes13:02:01

@dnolen https://github.com/clojure/clojurescript-site/pull/173 has been updated for 1.10.64. One idea to consider is releasing that page early for those that would like some cljs.main documentation.

dpsutton13:02:34

anyways its been fun to watch yall in here

mfikes13:02:43

@dpsutton Ahh, you need to remove the out directory for that situation

dpsutton13:02:39

yeah i was doing it from random directories. i may have clobbered a work project's out directory in that case :slightly_smiling_face:

bhauman13:02:50

@mfikes which brings us around to the idea of cleaning

dpsutton13:02:59

yeah. i think it saw an absence of index.html but then "found" some clojurescript to run on it. so it was a mis-mash of blank project and old project laying around

mfikes13:02:39

Yeah, it is just loading the stale out/main.js sitting there on disk

dnolen14:02:07

I don’t know that I would consider this a bug - you had a previous compile so of course that’s what you’ll get.

dnolen14:02:20

I don’t think we should be concerned about cleaning in cljs.main

bhauman14:02:54

I was thinking of an arg --clean

bhauman14:02:11

but its hard as we can't assume anything about out

bhauman14:02:22

or output-dir

dnolen14:02:30

yes I would leave this alone for now - and collect more feedback

mfikes14:02:12

Feedback: That -cf option rocks. Using it here https://github.com/mfikes/shrimp#repl

bhauman14:02:53

but from figwheel experience this was the in the top 3 WTFs

dpsutton14:02:26

and as beginners run a bunch of "show me what cljs can do" type scripts it might be surprising to see

dpsutton14:02:42

not important now, just a heads up

bhauman14:02:46

in the same directory :slightly_smiling_face:

mfikes14:02:15

For this particular case, it generates an out/main.js only if one doesn't already exist, right? If it unconditionally generated one, the problem would go away, but perhaps introduce other undesired consequences?

mfikes14:02:45

(The case is clj -m cljs.main)

bhauman14:02:53

of course for these examples they could include a pre clean with a clojure.main -e option?

dnolen14:02:47

@bhauman but what does figwheel do that’s different other than provide some way to clean beyond rm -rf out ?

bhauman14:02:45

nothing that I would recommend

bhauman14:02:49

beyond that

bhauman14:02:14

it stamps and autocleans based on deps, and it's super conservative

bhauman14:02:32

I wouldn't recommend that as significant work on caching has already been done

mfikes14:02:10

Ahh, I was wrong in my statement earlier. It is more accurate to say that, for clj -m cljs.main if either index.html or out/main.js don't exist, you get a synthetically generated one on the fly.

dnolen14:02:20

not quite true

mfikes14:02:33

But, if you have either, I would see that a lot of people might want things to actually reflect the current out

dnolen14:02:45

if no index.html we generate synthetic one

dpsutton14:02:06

and for some reason i don't have the repl-requires in this the script i ran

dnolen14:02:42

if no out/main.js we try load to something we compiled only when we see :output-dir doesn’t exist

dpsutton14:02:32

and there's spam on that ticket

mfikes14:02:54

It feels like this problem might only arise for people running git-dep projects in random directories, and by chance seeing something stale. Perhaps for "proper projects", the implemented behavior matches what is desired.

dnolen14:02:15

right we can’t know what the user is trying to do - I don’t want to try to and figure that out

mfikes14:02:09

I suppose this presents no issue for new users running Quick Start—they will be in the hello_world directory working with that project.

mfikes14:02:38

Probably not intentional (and arguably not that big of a deal), but the main page of http://clojurescript.org now indicates "Current version: 1.10.64"

dnolen14:02:43

yeah there’s no way to control that, but yeah not a big deal

alexmiller14:02:42

it’s intentionally automated :)

alexmiller14:02:05

If you want me to temporarily change to something static, I could do that

dnolen14:02:41

I think it’s harmless for now, release is not far off

mfikes14:02:08

Dang. I'm seeing issues again with Safari connecting. Trying clj -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "1.10.64"}}}' -m cljs.main and also the latest commit. (I'm getting 404 values on http://localhost:9000/out/goog/base.js and other files.

mfikes14:02:05

Ahh. Looking in out, there is no goog directory being generated. Will see if I can figure out why / file a JIRA.

dnolen15:02:52

@mfikes fwiw I couldn’t repro here

mfikes15:02:16

It is not deterministic... but I have a stack trace now ... going to see where it is stuck

dnolen15:02:47

@mfikes previous we built in the static file thread - and that’s how I saw the Safari bug

dnolen15:02:17

but maybe you found a different case?

mfikes15:02:29

Well, as far as I can tell, it is not stuck. https://gist.github.com/mfikes/0a809d16ca4e38f4e6958c3c973a1f06 When this happens my out directory is pretty anemic

$ find out
out
out/cljs
out/cljs/core.cljs.cache.edn

mfikes15:02:38

Perhaps this will give a clue as to where it is derailing

dnolen15:02:25

@mfikes hrm, that might just be a bug in the ad-hoc web server, nothing to do with Safari

mfikes16:02:00

@dnolen I got to the bottom of the "anemic" out directory. :slightly_smiling_face: https://dev.clojure.org/jira/browse/CLJS-2579

bhauman16:02:08

just a heads up, I'm working on a 100 line minimal figwheel implementation that could work with cljs.main. It has a figwheel-start macro that adds a watch to env/*compiler* for compilation signal and relies on a *repl-env* var so it can eval reloads on the client. It's just a single cljc file so you just (require '[figwheel.simple :include-macros true]) or preload it. The figwheel-stop macro just removes the watch.

bhauman16:02:03

Its beautiful, I think I can hook warnings as well

bhauman16:02:08

I'm out for a bit but hopefully I'll have some code to share this afternoon

potetm17:02:59

that sounds awesome @bhauman!

dnolen18:02:50

@bhauman pretty cool

richiardiandrea18:02:43

@dnolen a question, I am debugging the node-postgres problem and I see that the indexing produces a map like this:

{:file /home/arichiardi/git/clojurescript/node_modules/pg/lib/index.js, :module-type :es6, :provides [pg/lib/index.js pg/lib/index pg/lib]}

richiardiandrea18:02:21

should we create an entry like the above but that follows the convention of the package name for node and therefore provides becomes :provides [pg pg/lib/index.js pg/lib/index pg/lib]?

richiardiandrea18:02:44

it would probably solve the require problem and it would follow the node convention

dnolen19:02:11

@richiardiandrea I don’t know what you are asking me

richiardiandrea19:02:50

basically I think we are not building the :provides key correctly for that package

richiardiandrea19:02:39

I am dumping all the maps and the closest I see is:

{:file /home/arichiardi/git/clojurescript/node_modules/pg/package.json, :module-type :es6}

richiardiandrea19:02:01

but there is no :provides...

dnolen19:02:04

right so you misunderstand how this works

dnolen19:02:07

you don’t need a provides

dnolen19:02:13

Closure will figure this out

dnolen19:02:59

we just figure out all the inputs, then Closure sorts out what they mean

richiardiandrea19:02:25

ok gotcha, sorry I am exploring this for the first time

dnolen19:02:28

@richiardiandrea try this with something we test with like lodash compare the results

dnolen19:02:39

and see if something isn’t matching

richiardiandrea19:02:46

yep I am exactly in that file

richiardiandrea19:02:55

@dnolen sorry to bug you but basically modules to index-node-modules is empty with pg...digging...

richiardiandrea19:02:26

ok so it looks like it is not a top-level dep

richiardiandrea19:02:55

"pg/lib/index.js" is

richiardiandrea19:02:26

and node-require is {pg goog.array goog.Uri goog.object goog.math.Long goog.string goog.math.Integer cljs.core goog.string.StringBuffer} so there is no intersection, I will file an issue, but any hint on possible solutions are greatly appreciated

dnolen19:02:58

@richiardiandrea it needs to be top level

dnolen19:02:29

meaning it has to be in :npm-deps, if it’s not there you cannot require it

richiardiandrea19:02:49

@dnolen it is in there, maybe my description in the bug is not that great

dnolen19:02:50

just trying to be clear about terminology

richiardiandrea19:02:22

so this is my opts map:

{:verbose true
              :npm-deps {:pg "7.4.1"}
              :install-deps true
              :output-dir (str out)}

richiardiandrea19:02:56

the indexer does not return a :provides that matches :pg basically

dnolen20:02:38

start here, you should be able to run this directly and see what’s going on

dnolen20:02:02

some kind of debug dump function that easily lets you test a package might be useful for users trying to understand what’s going on

dnolen20:02:23

@richiardiandrea yeah that code shows why it doesn’t work

dnolen20:02:33

pg/lib/index.js won’t get provided as pg

dnolen20:02:41

pg/index.js will

dnolen20:02:11

@anmonteiro probably just an oversight? ^ or is that not following npm semantics?

richiardiandrea20:02:03

@dnolen yeah ok so there is a problem there

dnolen20:02:29

@richiardiandrea actually we probably need to be careful what is the contents of pg/package.json

dnolen20:02:35

you can’t just add this stuff willy-nilly

richiardiandrea20:02:57

well I am asking because I don't want to be the willy-nilly guy :smile:

dnolen20:02:33

this need to be respected

thheller20:02:38

why are you even trying to process pg via :npm-deps? why not just require it?

richiardiandrea20:02:39

@dnolen yeah I know that's the issue

richiardiandrea20:02:00

the indexing does some filtering

richiardiandrea20:02:14

let me fetch the line

dnolen20:02:30

@thheller true but this is definitely a bug anyway

richiardiandrea20:02:36

so :provides needs to be compatible with what you put in :npm-deps

richiardiandrea20:02:45

and in this particular case it is not

juhoteperi20:02:17

https://github.com/clojure/clojurescript/blob/master/src/main/cljs/cljs/module_deps.js#L205 as the :main path isn't single file but folder, this check is never true?

juhoteperi20:02:52

I think fix would be to add pkgJson.mainEntry + 'index.js' to candidates list here: https://github.com/clojure/clojurescript/blob/master/src/main/cljs/cljs/module_deps.js#L183-L191

juhoteperi20:02:29

or no, I read the for loop logic wrong

richiardiandrea20:02:32

@juhoteperi it might actually be that one

juhoteperi20:02:57

maybe if pkgJson.mainEntry ends in /, index.js should be appended to the value

richiardiandrea20:02:17

no you can't do that

richiardiandrea20:02:34

for instance pg's entry is only ./lib

richiardiandrea20:02:01

so in the candidates probably we just need an entry ./lib/index.js ?

juhoteperi20:02:13

Oh right. I guess the code could also check if the the value refers to a directory.

richiardiandrea20:02:30

pkgJson.mainEntry + /index.js ?

richiardiandrea20:02:49

yeah that's true

juhoteperi20:02:17

Maybe adding it to candidates list works, but I'm not sure what the for loop does.

juhoteperi20:02:54

{"file":"/home/juho/Source/clojurescript/node_modules/pg/lib/index.js","provides":["pg","pg/lib/index.js","pg/lib/index","pg/lib"]}

richiardiandrea20:02:23

@juhoteperi what's the change you made?

juhoteperi20:02:37

I added pkgJson.mainEntry` + /index.js to candidates

richiardiandrea20:02:45

oh ok me too :slightly_smiling_face:

richiardiandrea20:02:01

but i did not get that, let me try again :smile:

richiardiandrea20:02:40

I have [pkgJson.mainEntry, pkgJson.mainEntry + '.js', pkgJson.mainEntry + '/index.js', pkgJson.mainEntry + '.json']

richiardiandrea20:02:32

weird, I cannot get that

juhoteperi20:02:53

I tested directly by calling node doesn't work when calling Cljs function

anmonteiro20:02:14

sorry just now reading the backlog

dnolen20:02:15

ClojureScript will set target to "nodejs"

dnolen20:02:26

running directly via Node.js won’t do that

anmonteiro20:02:45

@richiardiandrea you probably wanna add a test case for pg and go from there

juhoteperi20:02:47

I did that myself with running directly

richiardiandrea20:02:00

@anmonteiro yep I have been doing that this morning

anmonteiro20:02:06

test-first development for this case is actually really helpful

anmonteiro20:02:22

make sure you won’t break other tests too because we’re already working around many edge cases

richiardiandrea20:02:25

that we need to add thing in the indexer

anmonteiro20:02:45

also the issue might not be in module_deps.js but in the cljs.closure function

anmonteiro20:02:54

we check if something is a node dep by indexing there first

anmonteiro20:02:03

I can have a quick look over here

juhoteperi20:02:43

Yes, I think module_deps.js doesn't affect this because index-node-modules-dir doesn't use that, its just Clojure

richiardiandrea20:02:56

I can confirm that

anmonteiro20:02:28

@richiardiandrea have you already written a test?

anmonteiro20:02:47

otherwise I’m just going to write one and look at it on my end

richiardiandrea20:02:00

I have written a test but just for triggering printlns here

anmonteiro20:02:23

I mean a test in closure_tests.clj

richiardiandrea20:02:04

I am only doing:

(deftest cljs-2580-main-with-dir-test
  (test/delete-node-modules)
  (spit (io/file "package.json") "{}")
  (let [out (.getPath (io/file (test/tmp-dir) "cljs-2580-main-with-dir-test"))
        root (io/file "src" "test" "cljs_build")
        opts {:verbose true
              :npm-deps {:pg "7.4.1"}
              :install-deps true
              :output-dir out}]
    (test/delete-node-modules)
    (test/delete-out-files out)
    ;; (closure/maybe-install-node-deps! opts)
    (build/build (build/inputs (io/file root "node_postgres_test")) opts)
    
    
    #_(test/delete-out-files out)
    #_(test/delete-node-modules)))

richiardiandrea20:02:47

the problem seems to be in node-file-seq->libs-spec*

juhoteperi20:02:42

Yes, the fix is pretty much same as the one we tried with module_deps.js, (str main-path "/index.js")

richiardiandrea20:02:32

sorry yeah the line did not match my emacs :smile:

richiardiandrea20:02:58

there is a Error: Can't resolve 'util' in '/home/arichiardi/git/clojurescript/node_modules/pg/lib'

richiardiandrea20:02:20

which is odd, but it might be something else

richiardiandrea20:02:49

just need to hook the transitive dependencies probably

anmonteiro20:02:09

^ that happens when running module_deps.js now

juhoteperi20:02:30

util is built-in Node module

anmonteiro20:02:56

right so you just need to add :target :nodejs

richiardiandrea21:02:05

cool lemme do that

richiardiandrea21:02:02

awesome it works!

dnolen21:02:34

@richiardiandrea congrats, patch welcome, you’re now an :npm-deps expert :wink:

anmonteiro21:02:42

@richiardiandrea here’s a test

anmonteiro21:02:47

(deftest test-cljs-2580
  (spit (io/file "package.json") "{}")
  (let [opts {:npm-deps {"pg" "7.4.1"
                         "pg-native" "2.2.0"}
              :target :nodejs}
        out (util/output-directory opts)]
    (test/delete-node-modules)
    (test/delete-out-files out)
    (closure/maybe-install-node-deps! opts)
    (let [modules (closure/index-node-modules-dir)]
      (is (true? (some (fn [module]
                         (= module
                           {:file (.getAbsolutePath (io/file "node_modules/pg/lib/index.js"))
                            :module-type :es6
                            :provides ["pg/lib/index.js"
                                       "pg/lib/index"
                                       "pg"
                                       "pg/lib"]}))
                   modules))))
    (let [modules (closure/index-node-modules ["pg"] opts)]
      (is (true? (some (fn [module]
                         (= module {:module-type :es6
                                    :file (.getAbsolutePath (io/file "node_modules/pg/lib/index.js"))
                                    :provides ["pg"
                                               "pg/lib/index.js"
                                               "pg/lib/index"
                                               "pg/lib"]}))
                   modules))))
    (.delete (io/file "package.json"))
    (test/delete-node-modules)
    (test/delete-out-files out)))

anmonteiro21:02:12

it’s still complaining about not being able to find pg-native for me though

richiardiandrea21:02:17

will add the test and provide a group patch :smile:

juhoteperi21:02:19

should also install pg-native

richiardiandrea21:02:31

the full build does it

juhoteperi21:02:22

Other than pg-native, I can confirm the test case is good and the two fixes fix both checks, I wrote nearly same checks :smile:

thheller21:02:54

closure doesn't do dynamic requires so I would just give up on this package working completely

anmonteiro21:02:11

it’ll work for target nodejs

anmonteiro21:02:21

which I think is the point here

richiardiandrea21:02:37

@juhoteperi by two fixes you mean both in module_deps.js and closure.cljs right?

richiardiandrea21:02:51

just making sure I am not missing anything :smile:

anmonteiro21:02:28

edited the test case above

richiardiandrea21:02:08

yep it failed :smile:

anmonteiro21:02:22

@richiardiandrea if there’s a failure try printing modules and see what the provide order is

anmonteiro21:02:27

might be just that

richiardiandrea21:02:17

should we just ignore the error there?

juhoteperi21:02:54

maybe check (= (set (:provides module)) #{"pg" ..."})) so the order doesn't matter?

richiardiandrea21:02:16

I think it's ok, all the other tests use vectors anyways

richiardiandrea21:02:55

it fails here with some unrelated stuff:

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
gyp: Call to '/usr/bin/pg_config --libdir' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/home/arichiardi/.nvm/versions/node/v8.9.4/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:336:16)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Linux 4.4.0-116-generic
gyp ERR! command "/home/arichiardi/.nvm/versions/node/v8.9.4/bin/node" "/home/arichiardi/.nvm/versions/node/v8.9.4/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/arichiardi/git/clojurescript/node_modules/libpq
gyp ERR! node -v v8.9.4
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
so probably something about the native dep

richiardiandrea21:02:09

using maybe an old node

juhoteperi21:02:18

look a the third line, you need to install postgres dev headers package

richiardiandrea21:02:39

oh ok let me try

richiardiandrea21:02:24

patch attached to https://dev.clojure.org/jira/browse/CLJS-2580, thanks folks, great collaboration on this one :tada:

richiardiandrea21:02:33

(I would add as usual :wink:)

mfikes22:02:14

In other news, no huge onslaught of bug reports regarding the 1.10.64 release. I only saw a single tweet about some code that is probably calling key on a vector.

dnolen22:02:43

@richiardiandrea applied!

richiardiandrea22:02:44

@dnolen if you feel so generous I also added this one: https://dev.clojure.org/jira/browse/CLJS-2566 :smile:

bhauman22:02:09

took a bit of sweat but simple figwheel is working!

dnolen22:02:10

@mfikes thanks for all the cljs.main testing, I moved most of those into must fix before release status

richiardiandrea23:02:45

Tried the pg patch and my code now compiles smoothly