IRC channel logs

2023-07-06.log

back to list of logs

<PurpleSym>Very strange. It works with --check too, so it’s definitely reproducible on my end 😕
<rekado>yeah, quite odd
<rekado>we do have react but in a more recent version
<PurpleSym>If I understand the logs correctly it wants 16, but we have 17?
<rekado>yes
<rekado>268 silly placeDep node_modules/react-json-tree react@ OK for: react-json-tree@0.11.2 want: ^15.0.0 || ^16.0.0
<rekado>is that where the demand for 16 comes from?
<PurpleSym>I don’t know how to parse these logs, tbh.
<PurpleSym>And we don’t even have v17…
<rekado>I have /gnu/store/80q5v7f7pmbx6famkwnnpjiia1f8cc55-node-react-17.0.1
<rekado>wait, maybe there’s a stray file here
<rekado>sorry for wasting your time
<rekado>I had a left-over file from my attempts to upgrade rstudio, named oldnode.scm
<PurpleSym>No problem 🙂
<rekado>that ended up overwriting definitions
<rekado>phew
<rekado>I thought for a moment that there is more irreproducible behavior in npm
<rekado>okay, back to rstudio debugging
<PurpleSym>That would’ve been really bad.
<rekado>so, I just started the new rstudio and … it just works for me
<rekado>here’s what I do: sudo /gnu/store/s0p60pcq9a7lxdc2crvm2g8iwp7hvxg4-rstudio-server-2023.06.0+421/bin/rserver --server-daemonize=0 --auth-none=1 --server-user=rekado --auth-minimum-user-id=0
<rekado>you said that there’s a backtrace when launching the editor? I opened a new file and an existing file and it displays either just fine.
<PurpleSym>rekado: The visual editor.
<PurpleSym>i.e. when you open a rmd file.
<PurpleSym>Everything else works fine. panmirror really is only that new shiny visual editor.
<rekado>okay, I can reproduce that
<PurpleSym>I mean, we can just patch it out avoiding that npm hell in the first place…
<rekado>yeah
<rekado>maybe we should
<rekado>I think it’s better to have an rstudio with working plot tab even if it’s missing the visual editor.
<rekado>compared to the alternative of an rstudio that can’t show plots
<PurpleSym>Do you want to crawl into the GWT dungeon and do that? I don’t have the time to do it today. Maybe tomorrow.
<rekado>I’m building rstudio again, this time telling gwt to produce “pretty” javascript
<rekado>maybe we’ll get a better backtrace then
<PurpleSym>Worth a shot.
<civodul>i fearlessly re-enabled guix-cran on guix.bordeaux.inria.fr
<civodul>the bad news is that it still fails, due to a cycle involving r-future-tests
<civodul>the good news is that it now fails with a proper error instead of eating all the memory
<civodul> https://guix.bordeaux.inria.fr/eval/6731833/log/raw
<rekado>PurpleSym: the message is not much better (the backtrace is virtually useless) but the error is clearer: Uncaught (in promise) TypeError: this$static.editor_ is null
<rekado>I still can’t clone the guix-cran repo from ci.guix.gnu.org
<rekado>the firewall change request has been approved but nothing has changed
<rekado>the error comes from here: /gnu/store/207lq7sbsrymf9rkzlj7nasjvg4jbwm8-rstudio-2023.06.0+421-checkout/src/gwt/src/org/rstudio/studio/client/panmirror/PanmirrorWidget.java
<rekado>syncEditorTheme triggers the error, because it’s the first one to access editor_.
<rekado>editor_ is initialized in attachEditor by setting it to its only argument (of type PanmirrorEditor)
<rekado>I’ll just follow this chain up to see how it creates that value that quietly fails with null.
<rekado>in the same file the “create” method has a PromiseWithProgress where it calls PanmirrorEditor.create and falls back to “null” on failure.
<rekado>in PanmirrorEditor.java we only have a type definition for the native JS value
<rekado>@JsType(isNative = true, name="Editor", namespace = "Panmirror")
<rekado>and that, I think, is where things aren’t quite right
<rekado>perhaps the namespace should really be <window>
<rekado>we do have window.Panmirror.Editor, and we also have Panmirror.Editor.
<rekado>the global Panmirror is expected by Panmirror.java, which specifies that the Panmirror class is a binding with @JsType(isNative = true, namespace = JsPackage.GLOBAL)
<PurpleSym>But isn’t window the global namespace in the JavaScript world?
<rekado>I’m not sure if it makes a difference to GWT
<rekado>but I read a little more in the rstudio sources
<rekado>the problem we’re facing is that rstudio uses iframes
<rekado>and in the context of the iframe there is no Panmirror
<rekado>there’s Panmirror in the window / Top context
<rekado>but it’s inaccessible
<rekado>to the iframe
<rekado>I’m now trying to compare our version with Rstudio from docker