If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Announcement
Collapse
No announcement yet.
GNOME Might Need To Crack Down On Their JavaScript Extensions
So it's no surprise that javascripts are causing crashes, DUH... It is the single most hacked on language right now and there must be at least a dozen different implementations and many of them incompatible. Every single one on every single browser has been hacked and is insecure and in all cases it's due to known bugs... I mean really who woulda thunk it... Gnome devs didn't...
To all smart guys who blame javascript and suggest switching to webassembly/c/java/rust etc. JS is pretty safe language, it can't corrupt memory because of incorrect pointer of buffer overflow. Assuming they don't use some broken JS vm, which crashes itself, they will achieve nothing by switching to another language. Actually, languages like rust will allow to corrupt everything just by using unsafe code. Moreover extracting JS engine to another process with some kind of interprocess protocol won't fix anything: by using js they've already separated shell and extensions, they already have protocol, which is extensions API. And that API is the source of problem. They've opened too much, alowed low level access to internal structures, so extensions can accidently corrupt shell via extensions API. To fix this, they have to rework extensions API, and that will break extensions (at least part of them) and will make some of extensions impossible. Something like firefox quantum done.
As for the lack of resources, which the blog post also mentions, GNOME isn't doing too bad, especially compared to KDE. There has been some recent performance work, apparently spurred by Ubuntu developers trying to make GNOME work better, but it's mostly lingeringwithout being merged (also other merge requests by the same author). The whole project seems to have ossified. As for any criticism about design decisions, it seems to be answered like this.
Also, a lot of people here seem to be underestimating the complexities of making two garbage collection schemes work together.
Shall we all remember why was this "GNOME extensions" concept created in the first place?
Long time ago, people was used to highly customizable desktops; then came GNOME 3, and GNOME 3 was not customizable at all: the people who made GNOME 3 had decided that they wanted to preserve the "GNOME branding", and all GNOME desktops should always look the same. People complained about this, not everybody liked the design decisions that the developers had taken; but instead of making GNOME 3 more customizable, they decided to add support for extensions, and pass the problem of customization to GNOME extensions. Of course, this also broke this "GNOME branding" concept, but nobody seemed to care.
The current situation is that GNOME 3 is customizable again, and there is no "GNOME branding" better that on any other desktop; but now we need GNOME extensions to customize aspects of the desktop that could be customized with a simple configuration page and a couple of check buttons. Obviously, GNOME extensions are not part of the core GNOME, thus they are not being tested, updated, and maintained as carefully as the core GNOME, and the user experience resents.
Horrible language, horrible security, horrible perfs.
The very idea of "extending" your WM/Compositor with 3rd party code is junk. It really half-ass work in current Gnome because devs keeps axing features that users re-integrate via extensions.
Horrible language, horrible security, horrible perfs.
The very idea of "extending" your WM/Compositor with 3rd party code is junk. It really half-ass work in current Gnome because devs keeps axing features that users re-integrate via extensions.
But seriously though with the focus on Tweaks (GNOME Tweak Tool) I don't see why they can't open it up more for contributions. It's the perfect place to have shit like alt-tab configs etc. The fact I need extensions to tweak that shit is criminally insane.
It is interesting to see how Gnome finally suffers from it's bad design decisions and technical depts.
Not long ago people praised Gnome for being the first (tm) with wayland support and the only DE which is not developed by hobby coder.
Now it's clear that a lot of the features were hacked quickly together. The performance, especially under Wayland sucks and using JS is causing a lot of headaches.
It's good that we have alternatives at the hand.
I had a bug recently with stuttering videos on Youtube.
I finally found it was caused by Gnome Shell extentions polling files to get temperature data, and other kind of stuff.
Because extensions are running in the same thread than the compositer, it's causing frame drops when performing too much I/O.
Clearly this is a design flaw, that needs to be addressed.
Comment