Fork me on GitHub
#dirac
<
2017-08-18
>
Garrett Hopper18:08:33

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

darwin18:08:51

again, what is your chrome version?

darwin18:08:58

this still looks like a protocol mismatch

darwin18:08:10

those internal errors should mention your versions

Garrett Hopper18:08:34

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)

darwin18:08:47

this is still too old

darwin18:08:54

chrome moves fast

Garrett Hopper18:08:59

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

darwin18:08:23

you can also downgrade dirac itself

Garrett Hopper18:08:59

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

darwin18:08:20

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

darwin18:08:27

but better try to stick with latest

darwin18:08:34

if possible

Garrett Hopper18:08:09

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

Garrett Hopper20:08:53

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

darwin20:08:39

any idea what hyperion is?

darwin20:08:45

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

darwin20:08:03

I mean internal devtools on Dirac’s window

Garrett Hopper20:08:18

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

Garrett Hopper20:08:28

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

Garrett Hopper20:08:47

"Dirac requires runtime support from page context."

Garrett Hopper20:08:09

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."

darwin20:08:22

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

darwin20:08:44

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

Garrett Hopper20:08:33

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

Garrett Hopper20:08:38

What should be visible in dirac?

darwin20:08:59

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

Garrett Hopper20:08:17

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

darwin20:08:36

now it is getting interesting

Garrett Hopper20:08:40

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

darwin20:08:07

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

Garrett Hopper20:08:34

dirac is defined though

darwin20:08:47

what is in dirac?

darwin20:08:58

there should be some namespaces

Garrett Hopper20:08:04

{_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=>""+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

Garrett Hopper20:08:12

Whoops... sorry

darwin20:08:41

yeah, we are talking about your page’s context

darwin20:08:44

not dirac’s window

darwin20:08:00

please exec it in your page’s DevTools

Garrett Hopper20:08:04

Right... dirac.runtime is defined

darwin20:08:15

so dirac.runtime.installed_QMARK_ is definitely there

darwin20:08:28

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

darwin20:08:36

or it is talking to a different page context

darwin20:08:45

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

Garrett Hopper20:08:53

Nah, it's just an empty page.

darwin20:08:35

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

Garrett Hopper20:08:05

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

Garrett Hopper20:08:17

Still can't bootstrap clojurescript REPL though.

Garrett Hopper20:08:13

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

darwin20:08:27

that’s just console history cached

darwin20:08:29

I would guess

darwin20:08:39

close Dirac window, refresh your page

darwin20:08:48

then open it again via the extension button

Garrett Hopper20:08:53

No warning, but can't bootstrap REPL.

darwin20:08:02

try to type dirac.runtime into Dirac’s Console

darwin20:08:13

just to make sure we talk to your page

Garrett Hopper20:08:19

Dirac's devtools console?

Garrett Hopper20:08:30

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

darwin20:08:56

switch to javascript console, I think with CTRL+UP

Garrett Hopper20:08:11

Thanks Yeah, it's defined.

darwin20:08:27

what is your Chrome version now?

Garrett Hopper20:08:43

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

darwin20:08:53

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

darwin20:08:23

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

darwin20:08:41

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

darwin20:08:56

you must use 62.0.3187.1. or higher

Garrett Hopper20:08:00

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

Garrett Hopper20:08:04

Alright :thumbsup:

darwin20:08:55

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

Garrett Hopper20:08:10

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

darwin20:08:18

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

Garrett Hopper20:08:51

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

darwin20:08:18

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

darwin20:08:24

and “Links to matching Chromium snapshots”

darwin20:08:39

that combination should be at least somewhat tested

Garrett Hopper20:08:11

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

Garrett Hopper20:08:26

Anyways, thanks for your time.

darwin20:08:02

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

darwin20:08:09

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

darwin20:08:22

something like that

Garrett Hopper20:08:36

Yeah, javascript likes to fail silently like that. 😕

darwin20:08:39

it is not that the function was renamed or something