TL;DR
Many minor distributions still use Chromium 83 but produced by the builder/optimizer script.js
involves logical nullish assignment (??=) operator which is supported by Chromium 85 and above.
A brief introduction of myself
With respect, gentleman. I am Adam Maleszka, a graduate of the ID class of the XIII'th High School in Szczecin. In the 7th grade I became a "laureate" of the Junior IT Olympics (laureate in quotation marks, because that year the final did not quite take place). In practice, my fascination with computers reaches even the 1st grade though. I love competitive programming, networking, security and cryptography, GNU/Linux and the whole Open Source community.
Chromium compatibility issue
I've been using Linux for five years and managed to choose my final Linux distribution, GNU Guix. It's ingenious, it's powerful, but also out-of-date a bit, especially with qtwebengine
5.15.2 (Chromium 83). It is worth noting that qtwebengine
5.15.2 is in many distributions, even on Debian Bullseye.
After inspecting the script.js
, the reason seems to be in logical nullish assignment operators which is not supported by Chromium 83:
It is surprising to me, especially since the source code appears:
https://github.com/varqox/sim/blob/b115a4e858dda1288917243e511751b835c28482/src/web_server/static/kit/scripts.js#L238-L247
Does any compilation tool optimizes the above code for the newer standard, Chromium 85? It looks like a small tweak in the building system and SIM on my browser will work back.