Skip to content

Regression: Syntax highlighting depends on WebAssembly #2825

Closed
@L3P3

Description

@L3P3
  • Web Browser: Mypal 29.0.1 (Pale Moon/Firefox)
  • Local OS: Windows XP SP3
  • Remote OS: Debian 10
  • Remote Architecture: x86-64
  • code-server --version: 3.9.0 fc6d123

With the previous code-server version, I was very productive with my favorite IDE on my favorite device which is still my daily driver for most things.
Now, syntax highlighting does not work anymore when wasm is not available.
In my opinion, we should make it possible to run code-server without wasm but with pure JS. There is a wasm-to-js polyfill available but I think it is better to just keep the JS version of things. I don't know how that wasm is generated by but usually, all wasm compilers also output asm.js which should work flawless too. Fixing this issue might be as easy as enabling asm.js fallback in compilation settings, which causes no overhead for wasm-enabled browsers but would also enable the others.
Hightlighting worked perfectly before, even with files with 10k of lines and I see no good reason for using wasm without fallbacks, it feels like cheating on the last steps to me, like using adobe flash or java applet just for one part of the app while 99% is done in JS. Then why not using java in the first place...
And I am honestly ready to pay for you to keep supporting bare JS environments.

I just found out that Mypal does in fact experimentally support wasm, using about:config. Syntax highlighting works again. Phew! But it still scares me that it is required... Consider this issue as a theoretical debate or flexing with Windows XP.

code-server-wasm

Full console history:

register.js:14:404: [Service Worker] registered 
workbench.web.api.js:4801:76: The web worker extension host is started without an iframe sandbox!
main.js:1:6795: no native wasm support detected

  ERR WebAssembly is not defined: r</<@node_modules/vscode-oniguruma/release/main.js:1:6836
t.loadWASM/<@node_modules/vscode-oniguruma/release/main.js:1:5293
t.loadWASM@node_modules/vscode-oniguruma/release/main.js:1:5275
_doGetVSCodeOniguruma@out/vs/workbench/workbench.web.api.js:5724:882

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstreamNeeds to be fixed upstream

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions