Opening lib/Mycelium.jl/src/free_energy.jl on the desktop shows “Loading editor…” and never finishes (screenshot markdown/prompts/load_editor.png, 2026-09-20; polarity_resolution.jl in another tab, a 195-node graph rendering in the tile above, “julia: language server exited” in the status bar).
Done 2026-09-20. Two things, one cause found by inspection (the web build could not reproduce it — the same file opened fine in Firefox):
- Cause: the code editor mounted its view from a
use_effect. On desktop the DOM mutation reaches the webview asynchronously, so an eval started from an effect can run before the host element exists; the script then returned silently, noreadyever came, and the panel showed “Loading editor…” forever (the P-047 family — the graph and rich editors were moved toonmountedfor the same reason in Milestone 6/9; the code editor was not). It is timing-dependent, which is why it hit a heavy moment (a big graph laying out in the neighbouring tile). Fix: the view is mounted from the hostdiv’sonmounted. - Never hang silently again: the mount script wraps
cm.mountintry/catchand reports anerrormessage; the panel shows “The editor could not start … please report it with the message below” with the JavaScript error and stack instead of “Loading editor…“. A grammar that throws while being set up (languages.ts) now degrades to plain text instead of taking the editor down. Not related: “julia: language server exited” is LanguageServer.jl not being installed (julia --project=@lsp -e 'using Pkg; Pkg.add("LanguageServer")'— the hint in the status bar); the editor does not wait for it.
How to file this kind of thing: exactly like this — a screenshot into markdown/prompts/ and one line saying what you did and what you saw; the number and the “Done” paragraph are mine to add.