dirac

Dirac v1.7.2 is out: https://github.com/binaryage/dirac/releases/tag/v1.7.2
qqq 2017-03-02T00:56:05.002842Z

@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 ?

2017-03-02T01:05:03.002843Z

@qqq no

qqq 2017-03-02T01:06:17.002844Z

Is this a 'no, because it's fundamentally against principles of dirac' or 'not high priority, but could be done as contracting work' ?

2017-03-02T01:07:02.002845Z

it could be done, I didn’t think about automating devtools ui via repl connection

qqq 2017-03-02T01:07:29.002846Z

I guess if you're using cursive/dirac, there isn't a need

2017-03-02T01:07:29.002847Z

you can try to take a stab at it

qqq 2017-03-02T01:07:55.002848Z

before I could tackle this, I'd have to be able to install dirac from source right?

qqq 2017-03-02T01:08:02.002849Z

since I'd have to hack on the actual dirac cljs files itself

2017-03-02T01:08:08.002850Z

right

2017-03-02T01:09:16.002851Z

and you should understand this very well: https://github.com/binaryage/dirac/blob/master/docs/about-repls.md#dirac

2017-03-02T01:13:00.002853Z

you could introduce a new nrepl message and implement support in your nrepl client, or you could abuse the eval :op

2017-03-02T01:13:53.002854Z

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

qqq 2017-03-02T01:14:27.002856Z

C-c C-c sent via the repl is a special :op right?

2017-03-02T01:14:31.002857Z

“implant” is cljs code injected (or implanted) into devtools app which is mostly javascript

qqq 2017-03-02T01:14:36.002858Z

I recall those msgs going through even when the repl "hangs"

2017-03-02T01:14:56.002859Z

have no idea what C-c C-c is

qqq 2017-03-02T01:15:13.002860Z

C-c C-c sends a single C-c when in emacs

qqq 2017-03-02T01:15:32.002861Z

it causes devtools dirac to print a msg saying "requested to cancel job XYZ"

2017-03-02T01:16:13.002862Z

this is something your nrepl client prints or some of your nrepl middlewares print, not related to dirac

2017-03-02T01:17:11.002863Z

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

2017-03-02T01:17:33.002864Z

I assume that was just a feedback that you as a user attempted to cancel a running job

2017-03-02T01:17:47.002865Z

dirac does not support that

qqq 2017-03-02T14:05:48.002871Z

@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!

qqq 2017-03-02T14:25:22.002872Z

in partiular, my probelm is that it hangs on

qqq 2017-03-02T14:25:29.002873Z

"unable to bootstrap clojurescript REPL due to a timeout"

qqq 2017-03-02T14:25:36.002874Z

so clearly there is some point I'm not forarding

2017-03-02T14:47:23.002875Z

@qqq just got back

2017-03-02T14:47:46.002876Z

try to export ports 8232-8242 as well

2017-03-02T14:47:59.002877Z

those are default ports for weasel connections

qqq 2017-03-02T23:05:11.002879Z

@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")

2017-03-02T23:06:15.002881Z

@qqq it is fixed

2017-03-02T23:06:29.002882Z

and you can see relevant links to commits in the issue

2017-03-02T23:06:51.002883Z

if you clicked through, you would see in which released versions is the fix included: https://github.com/binaryage/cljs-devtools/commit/ae982dc058f8d4236a77d72e6d992a6ee54ed36f

2017-03-02T23:07:09.002885Z

you see there “master” and v0.9.2

qqq 2017-03-02T23:07:47.002886Z

lol, the 'fix' was 4 lines of code and 40 lines of test?:-)

qqq 2017-03-02T23:08:07.002887Z

actually, the entire fix looks like a (fn [] ...) wrapper

2017-03-02T23:08:23.002888Z

yes, that is what makes it evaluate lazily

2017-03-02T23:08:45.002889Z

the magic was already implemented in <reference-surrogate> for some other reasons