dirac

Dirac v1.7.2 is out: https://github.com/binaryage/dirac/releases/tag/v1.7.2
2017-08-18T18:50:33.000032Z

@darwin Huh, I didn't know this was here. 🙂

2017-08-18T18:50:51.000272Z

again, what is your chrome version?

2017-08-18T18:50:58.000509Z

this still looks like a protocol mismatch

2017-08-18T18:51:10.000080Z

those internal errors should mention your versions

2017-08-18T18:51:34.000469Z

Oh, I guess it might still not be the proper version. I figured since I was actually seeing the console it was the right version. Version 61.0.3163.25 (Official Build) dev (64-bit)

2017-08-18T18:51:47.000027Z

this is still too old

2017-08-18T18:51:54.000463Z

chrome moves fast

2017-08-18T18:51:59.000113Z

Yeah, alright. Sorry to bother you. I'll go get a newer one. 🙂

2017-08-18T18:52:23.000024Z

you can also downgrade dirac itself

2017-08-18T18:52:59.000373Z

Oh, can I? I'd need to do the browser plugin and the library being used?

2017-08-18T18:53:20.000248Z

it is more complicated, but covered in one of the FAQ answers

2017-08-18T18:53:26.000557Z

:thumbsup:

2017-08-18T18:53:27.000458Z

but better try to stick with latest

2017-08-18T18:53:34.000133Z

if possible

2017-08-18T18:54:09.000164Z

Yeah, I'll see if I can just upgrade the package without issues.

2017-08-18T18:54:18.000299Z

Thanks

2017-08-18T20:11:53.000434Z

@darwin Alright, I have a proper version, and everything seems to be working, except the clojurescript REPL times out with:

17-08-18 20:11:30 hyperion DEBUG [dirac.lib.nrepl-tunnel-server:288] - [NREPLTunnelServer#1 of [NREPLTunnel#1]] Received :ready from client [WebSocketServerClient#4]
17-08-18 20:11:30 hyperion DEBUG [dirac.lib.nrepl-tunnel-server:288] - [NREPLTunnelServer#1 of [NREPLTunnel#1]] process :nrepl-message from [WebSocketServerClient#4] {:op :nrepl-message,
 :envelope
 {:op "eval",
  :code
  "(do (require (quote dirac.nrepl)) (dirac.nrepl/boot-dirac-repl! (quote {:runtime-tag \"sheet | <http://localhost:8080/> | Chrome/62.0.3178.0 | Linux/?\"})))",
  :id "024d8c4d-ffd0-4d0a-b02c-555e045e4c7d"}}



17-08-18 20:09:27 hyperion ERROR [dirac.lib.nrepl-tunnel-server:288] - [NREPLTunnelServer#1 of [NREPLTunnel#1]] Received a bootstrap timeout from client [WebSocketServerClient#3] :
 {:op :bootstrap-timeout}

2017-08-18T20:12:39.000432Z

any idea what hyperion is?

2017-08-18T20:12:45.000228Z

My hostname

2017-08-18T20:12:50.000193Z

ah, ok

2017-08-18T20:13:45.000471Z

do you see any errors in dirac’s Chrome DevTools console?

2017-08-18T20:14:03.000495Z

I mean internal devtools on Dirac’s window

2017-08-18T20:15:18.000046Z

Didn't actually check that yet: http://sprunge.us/MDJi

2017-08-18T20:15:28.000253Z

Not sure what the "enable the :repl feature" is referring to.

2017-08-18T20:15:47.000291Z

"Dirac requires runtime support from page context."

2017-08-18T20:16:06.000182Z

hey dude, you should follow this https://github.com/binaryage/dirac/blob/master/docs/installation.md

2017-08-18T20:16:09.000147Z

This is the error I'm seeing in dirac itself: "Unable to bootstrap ClojureScript REPL due to a timeout. Usually this happens when server-side process raised an exception or crashed. Please check error output in Dirac Agent."

2017-08-18T20:16:22.000106Z

there must be dirac.runtime installed in your page for this to properly work

2017-08-18T20:16:44.000187Z

that error message should be visible even in normal (DiraC) DevTools console

2017-08-18T20:17:33.000394Z

I'm using powerlaces.boot-cljs-devtools to load in dirac. I thought it did this.

2017-08-18T20:17:38.000150Z

What should be visible in dirac?

2017-08-18T20:17:59.000182Z

some descriptive error that the dirac runtime is not present and how to install it

2017-08-18T20:18:17.000113Z

This is the first two lines of the dirac console:

Installing Dirac Runtime 1.2.15 and enabling features :repl
Installing CLJS DevTools 0.9.4 and enabling features :formatters :hints :async

2017-08-18T20:18:28.000445Z

well

2017-08-18T20:18:36.000212Z

now it is getting interesting

2017-08-18T20:18:40.000486Z

But still: "dirac.runtime.installed_QMARK_ is not a function"

2017-08-18T20:19:07.000034Z

what do you see when you exec dirac.runtime in DevTools console on your pade?

2017-08-18T20:19:09.000002Z

page

2017-08-18T20:19:31.000277Z

Undefined

2017-08-18T20:19:34.000499Z

dirac is defined though

2017-08-18T20:19:47.000306Z

what is in dirac?

2017-08-18T20:19:58.000006Z

there should be some namespaces

2017-08-18T20:20:04.000155Z

{_DEBUG_EVAL: false, _DEBUG_COMPLETIONS: false, _DEBUG_KEYSIM: false, _DEBUG_FEEDBACK: false, _DEBUG_WATCHING: false, …}
addConsoleMessageToMainTarget
:
ƒ addConsoleMessageToMainTarget(type,level,text,parameters)
adoptPrompt
:
ƒ ($text_area_element$$,$use_parinfer_QMARK_$$)
codeAsString
:
ƒ codeAsString(code)
deduplicate
:
ƒ deduplicate(coll,keyFn=item=&gt;""+item)
evalInCurrentContext
:
ƒ evalInCurrentContext(code,callback)
evalInDefaultContext
:
ƒ evalInDefaultContext(code,callback)
extractMacroNamespaceSymbolsAsync
:
ƒ extractMacroNamespaceSymbolsAsync(namespaceName)
extractNamespaceSymbolsAsync
:
ƒ extractNamespaceSymbolsAsync(namespaceName)
extractNamespacesAsync
:
ƒ extractNamespacesAsync()
extractScopeInfoFromScopeChainAsync
:
ƒ extractScopeInfoFromScopeChainAsync(callFrame)
feedback
:
ƒ $dirac$implant$post_feedback_BANG_$$($var_args$jscomp$593$$)
getFullFunctionName
:
ƒ ($munged_name$jscomp$16$$)
getFunctionName
:
ƒ ($munged_name$jscomp$15$$)
getMacroNamespaceNames
:
ƒ getMacroNamespaceNames(namespaces)
getNamespace
:
ƒ getNamespace(namespaceName)
getReplSpecialsAsync
:
ƒ ()
getRuntimeTag
:
ƒ ($callback$jscomp$81$$)
getVersion
:
ƒ ()
hasBeautifyFunctionNames
:
true
hasCleanUrls
:
true
hasClusteredLocals
:
true
hasCurrentContext
:
ƒ hasCurrentContext()
hasDefaultContext
:
ƒ hasDefaultContext()
hasFeature
:
ƒ hasFeature(feature)
hasFriendlyLocals
:
true
hasInlineCFs
:
true
hasLinkActions
:
true
hasParinfer
:
true
hasREPL
:
true
hasWelcomeMessage
:
true
initConsole
:
ƒ ()
initRepl
:
ƒ ()
invalidateNamespaceSymbolsCache
:
ƒ invalidateNamespaceSymbolsCache(namespaceName=null)
invalidateNamespacesCache
:
ƒ invalidateNamespacesCache()
isIntercomReady
:
ƒ ()
lookupCurrentContext
:
ƒ lookupCurrentContext()
notifyFrontendInitialized
:
ƒ ()
notifyPanelSwitch
:
ƒ ($panel_id$$)
nsToRelpath
:
ƒ ($ns$jscomp$60$$,$ext$jscomp$2$$)
parseNsFromSource
:
ƒ ($source$jscomp$20$$)
registerDiracLinkAction
:
ƒ registerDiracLinkAction(action)
reportNamespacesCacheMutation
:
ƒ ()
sendEvalRequest
:
ƒ ($JSCompiler_inline_result$jscomp$271_JSCompiler_inline_result$jscomp$3015_coll$jscomp$inline_3621_request_id$$,$code$jscomp$39$$,$scope_info$jscomp$1$$)
stableSort
:
ƒ stableSort(array,comparator)
startListeningForWorkspaceChanges
:
ƒ startListeningForWorkspaceChanges()
stopListeningForWorkspaceChanges
:
ƒ stopListeningForWorkspaceChanges()
stringEscape
:
ƒ stringEscape(string)
subscribeDebuggerEvents
:
ƒ subscribeDebuggerEvents(callback)
triggerInternalError
:
ƒ ()
triggerInternalErrorAsErrorLog
:
ƒ ()
triggerInternalErrorInPromise
:
ƒ ()
unsubscribeDebuggerEvents
:
ƒ unsubscribeDebuggerEvents()
_DEBUG_BACKEND_API
:
false
_DEBUG_BACKEND_CSS
:
false
_DEBUG_CACHES
:
false
_DEBUG_COMPLETIONS
:
false
_DEBUG_EVAL
:
false
_DEBUG_FEEDBACK
:
false
_DEBUG_KEYSIM
:
false
_DEBUG_WATCHING
:
false
_lazyLoaded
:
true
_namespacesCache
:
{goog.string: {…}, goog.string.Unicode: {…}, goog.object: {…}, goog.math.Integer: {…}, goog.string.StringBuffer: {…}, …}
_namespacesSymbolsCache
:
Map(0) {}
__proto__
:
Object

2017-08-18T20:20:12.000090Z

Whoops... sorry

2017-08-18T20:20:41.000282Z

yeah, we are talking about your page’s context

2017-08-18T20:20:44.000224Z

not dirac’s window

2017-08-18T20:21:00.000134Z

please exec it in your page’s DevTools

2017-08-18T20:21:04.000034Z

Right... dirac.runtime is defined

2017-08-18T20:22:15.000273Z

so dirac.runtime.installed_QMARK_ is definitely there

2017-08-18T20:22:28.000317Z

for some reason dirac thinks it is not there in your page

2017-08-18T20:22:36.000187Z

or it is talking to a different page context

2017-08-18T20:22:45.000023Z

do you have any iframes or similar stuff going on there?

2017-08-18T20:22:53.000352Z

Nah, it's just an empty page.

2017-08-18T20:23:35.000460Z

did you open Dirac DevTools by clicking on the Dirac extension button while being on your page?

2017-08-18T20:23:43.000160Z

Yeah

2017-08-18T20:24:05.000131Z

Then I closed it to open devtools for that error. Now I've opened dirac again, and that error isn't in its devtools.

2017-08-18T20:24:17.000455Z

Still can't bootstrap clojurescript REPL though.

2017-08-18T20:25:13.000510Z

If I reload with dirac open, it throws the same warning.

2017-08-18T20:25:27.000164Z

that’s just console history cached

2017-08-18T20:25:29.000380Z

I would guess

2017-08-18T20:25:39.000049Z

close Dirac window, refresh your page

2017-08-18T20:25:48.000142Z

then open it again via the extension button

2017-08-18T20:26:47.000156Z

Yup :thumbsup:

2017-08-18T20:26:53.000446Z

No warning, but can't bootstrap REPL.

2017-08-18T20:27:02.000097Z

try to type dirac.runtime into Dirac’s Console

2017-08-18T20:27:13.000422Z

just to make sure we talk to your page

2017-08-18T20:27:19.000532Z

Dirac's devtools console?

2017-08-18T20:27:23.000074Z

yes

2017-08-18T20:27:30.000058Z

It's stuck with the unable to bootstrap repl message.

2017-08-18T20:27:56.000340Z

switch to javascript console, I think with CTRL+UP

2017-08-18T20:28:11.000331Z

Thanks Yeah, it's defined.

2017-08-18T20:28:17.000336Z

same as before

2017-08-18T20:29:27.000193Z

what is your Chrome version now?

2017-08-18T20:29:43.000159Z

Version 62.0.3178.0 (Official Build) dev (64-bit)

2017-08-18T20:30:53.000159Z

again, this might be old version, unfortunately DevTools devs were messing with evaluation API just few days ago

2017-08-18T20:30:59.000033Z

I had to accomodate to it here: https://github.com/binaryage/dirac/commit/0188da804f9d79d63ed4935c004ab6c511a8c2c8

2017-08-18T20:31:23.000280Z

if this is the problem, there should be some error or something, not a silent failure

2017-08-18T20:31:41.000104Z

anyways, it seems like Dirac is unable to evaluate javascript code in the context of debugged page

2017-08-18T20:31:56.000100Z

you must use 62.0.3187.1. or higher

2017-08-18T20:32:00.000147Z

Haha, probably. Should I try to get a later version?

2017-08-18T20:32:04.000189Z

Alright :thumbsup:

2017-08-18T20:32:55.000338Z

unfortunately the stuff is in flux right now, but it worked for me when tested on my Mac

2017-08-18T20:33:10.000071Z

I couldn't seem to find that version in the location the nixos package is pointing.

2017-08-18T20:33:18.000050Z

why don’t you install Chrome Canary? it is not available on your linux distro?

2017-08-18T20:33:51.000110Z

Yeah, unfortunately nixos can be a bit of a pain with specific package versions.

2017-08-18T20:34:18.000136Z

in this case you should simply download the chromium snapshot I link in the release section, see “Rolling DevTools”

2017-08-18T20:34:24.000335Z

and “Links to matching Chromium snapshots”

2017-08-18T20:34:39.000311Z

that combination should be at least somewhat tested

2017-08-18T20:35:11.000148Z

Yeah, I was hoping I could get that exact version. It wasn't available in the same location my build package is looking.

2017-08-18T20:36:26.000046Z

Anyways, thanks for your time.

2017-08-18T20:37:02.000018Z

ok, no problem, let me know after you test it against 62.0.3187.1

2017-08-18T20:37:36.000008Z

:thumbsup:

2017-08-18T20:39:09.000375Z

I can imagine why it is silently failing, the api change is only in signature, I newly pass js object as first argument, but your “old” chrome treats it as a string and simply fails to execute it

2017-08-18T20:39:22.000306Z

something like that

2017-08-18T20:39:36.000288Z

Yeah, javascript likes to fail silently like that. 😕

2017-08-18T20:39:39.000217Z

it is not that the function was renamed or something