@darwin: after doing a (dirac! :join) are there special commands I can send via the repl to do things like: (1) turn on pause on exception (2) turn off pause on exception (3) force-reload ?
@qqq no
Is this a 'no, because it's fundamentally against principles of dirac' or 'not high priority, but could be done as contracting work' ?
it could be done, I didn’t think about automating devtools ui via repl connection
I guess if you're using cursive/dirac, there isn't a need
you can try to take a stab at it
before I could tackle this, I'd have to be able to install dirac from source right?
since I'd have to hack on the actual dirac cljs files itself
right
and you should understand this very well: https://github.com/binaryage/dirac/blob/master/docs/about-repls.md#dirac
you could introduce a new nrepl message and implement support in your nrepl client, or you could abuse the eval :op
for example here you could have a special case detecting a special form and handle it inside devtools fork context (e.g. switching some devtools UI or talking via debugger protocol to chrome debugger): https://github.com/binaryage/dirac/blob/master/src/implant/dirac/implant/intercom.cljs#L412
C-c C-c sent via the repl is a special :op right?
“implant” is cljs code injected (or implanted) into devtools app which is mostly javascript
I recall those msgs going through even when the repl "hangs"
have no idea what C-c C-c is
C-c C-c sends a single C-c when in emacs
it causes devtools dirac to print a msg saying "requested to cancel job XYZ"
this is something your nrepl client prints or some of your nrepl middlewares print, not related to dirac
if your nrepl client inside emacs prints something to screen it does not necessary mean that it sent something over the wire to nrepl server
I assume that was just a feedback that you as a user attempted to cancel a running job
dirac does not support that
@darwin: I have a setup where: boot runs on REMOTE server chrome canary runs on LOCAL laptop REMOTE server doesn't export any ports; so I can only access ports to it via SSH port forwarding on LOCAL laptop, I do ssh [remote] -L 8230:localhost:8230 -L 8231:localhost:8231 but dirac is still not working yet are there more ports that I need to open / forward to make this work? thanks!
in partiular, my probelm is that it hangs on
"unable to bootstrap clojurescript REPL due to a timeout"
so clearly there is some point I'm not forarding
@qqq just got back
try to export ports 8232-8242 as well
those are default ports for weasel connections
@darwin: https://github.com/binaryage/cljs-devtools/issues/35 means it's fixed right? (on github, I see it's closed, but not if it's "will not fix" or "fixed")
@qqq it is fixed
and you can see relevant links to commits in the issue
if you clicked through, you would see in which released versions is the fix included: https://github.com/binaryage/cljs-devtools/commit/ae982dc058f8d4236a77d72e6d992a6ee54ed36f
you see there “master” and v0.9.2
lol, the 'fix' was 4 lines of code and 40 lines of test?:-)
actually, the entire fix looks like a (fn [] ...) wrapper
yes, that is what makes it evaluate lazily
the magic was already implemented in <reference-surrogate> for some other reasons