Working on a Greasemonkey fork for Pale Moon
Moderators: FranklinDM, Lootyhoof
-
sinfulosd
- Fanatic

- Posts: 108
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
I have released a beta access to the new version of 3.7.0 for anyone who is interested to try it out and see how the per-script option page look like and test out the native support for GM4 APIs instead of them being polyfilled.
This version is the most stacked version I have ever released for this extension, so much so I'm not 100% confident with it and, despite me trying my best in debugging and me not finding any bugs myself, I'm still not sure if I should release it as a stable release
Which is why I decided to release it as a beta version for anyone who is willing to try it on their own (The update mechanism is not going to point to this version, but it will point to a stable version after it). UUID is the same, so you can install it instead of the current version of 3.6.1 and test it out and feel free to report any bugs you encounter while using it.
The link to the beta version of the extension is here
This version is the most stacked version I have ever released for this extension, so much so I'm not 100% confident with it and, despite me trying my best in debugging and me not finding any bugs myself, I'm still not sure if I should release it as a stable release
Which is why I decided to release it as a beta version for anyone who is willing to try it on their own (The update mechanism is not going to point to this version, but it will point to a stable version after it). UUID is the same, so you can install it instead of the current version of 3.6.1 and test it out and feel free to report any bugs you encounter while using it.
The link to the beta version of the extension is here
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
MasterSlenderTR
- Moonbather

- Posts: 54
- Joined: 2025-05-10, 13:37
- Location: Turkey
Re: Working on a Greasemonkey fork for Pale Moon
Thank you for your hard work! Your fork seems to work fine in my case.
You do not have the required permissions to view the files attached to this post.
RTX 3060 Ti | Ryzen 7 5700x3d | ASUS Prime B450M-A II | 48GB DDR4 RAM | Windows 7
-> Desktop Setup <-
-> Desktop Setup <--
back2themoon
- Knows the dark side

- Posts: 3308
- Joined: 2012-08-19, 20:32
Re: Working on a Greasemonkey fork for Pale Moon
Thanks again for your important work! Nothing to report for now, except for:
Not 100% sure this is new to 3.7.0b1, but it seems the mouse-hover pop-up gets more easily in the way of the icon menu:
Not 100% sure this is new to 3.7.0b1, but it seems the mouse-hover pop-up gets more easily in the way of the icon menu:
You do not have the required permissions to view the files attached to this post.
Improve Pale Moon performance • Safe Mode / clean profile test info
How to auto-fill passwords • How to apply user agent overrides
Information to include when asking for support
Using: SSE2 build (thanks Nuck-TH) • W10 Pro x64
How to auto-fill passwords • How to apply user agent overrides
Information to include when asking for support
Using: SSE2 build (thanks Nuck-TH) • W10 Pro x64
-
sinfulosd
- Fanatic

- Posts: 108
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
Never messed with that at all, this is a tooltip and it functions the exact same way since probably before it even got forked the first time to Pale Moon. Luckily, you can just move your mouse even by a little bit and the tooltip will disappear.back2themoon wrote: ↑2026-05-24, 14:58Thanks again for your important work! Nothing to report for now, except for:
Not 100% sure this is new to 3.7.0b1, but it seems the mouse-hover pop-up gets more easily in the way of the icon menu:
I'm glad it is working for you. Also, make sure you use the new userscripts, since they're the ones that have much higher chance of working - I already am working on the compatibility changes for my extension to support everything, but I noticed that no matter what, there'll be some userscripts that won't work for simply because they use an outdated APIs that do not function the same as how they're functioning right now.MasterSlenderTR wrote: ↑2026-05-22, 00:02Thank you for your hard work! Your fork seems to work fine in my case.
Anyways, I'm currently adding some more changes into my extension that a lot of people would find it very pleasant, since it optimizes the performance of the extension.
While I was looking through the issues page of Violentmonkey, I noticed that someone was using 200+ userscripts and they were all working with no lagging or bugs. Now, despite me not coming even close to that amount of userscripts that I use, nor do I know anyone or ever reported by anyone who uses userscripts that would come close to that number, I still made it somewhat of a desired goal for my extension to have over 200 userscripts, yet still wouldn't lag the extension performance.
I asked that guy for the export list of these userscripts to keep trying them and try to make my extension not face any issues or any bugs while going through them - I've made some noticeable good changes, but I still need to test it out more, before releasing it.
I'll be releasing a beta2 version of the extension that would have a bit more features/optimizations into the extension, and if that manages to show no bugs, then it'll be the new stable release of the extension.
In the meantime, I'll be testing some new features - I was thinking of delaying the import/export optimization into a later release of 3.8.0 and maybe experiment with removing the old "New User Script" wizard that asks you to add some information, before opening the editor and lets you just open the editor right away like how it already happens with all the modern userscript managers. The good news is that I think I'm starting to hit the wall of adding all the features that matters, then I will maybe release a bugfix-only version like once every few months just like how it is with the other extensions for Pale Moon.
Off-topic:
I have also been working on forking the latest upstream version of uBlock Origin, but I have been facing A LOT of issues with it - I know it's not an easy task at all to port an extension as big as uBlock Origin, but I'll still be working on it, hopefully I would be able to release my own version of it to everyone to test it out. I'm still on the fence of porting a lot of features, including whether to port in the latest chrome-like UI or just have it resembles how the legacy one have always looked on Pale Moon. I estimate that it would take few months for my own version of it to be stable for everyday-use. Only time will tell.
I have also been working on forking the latest upstream version of uBlock Origin, but I have been facing A LOT of issues with it - I know it's not an easy task at all to port an extension as big as uBlock Origin, but I'll still be working on it, hopefully I would be able to release my own version of it to everyone to test it out. I'm still on the fence of porting a lot of features, including whether to port in the latest chrome-like UI or just have it resembles how the legacy one have always looked on Pale Moon. I estimate that it would take few months for my own version of it to be stable for everyday-use. Only time will tell.
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
sinfulosd
- Fanatic

- Posts: 108
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
Edit: Nevermind, I just decided to release 3.7.0 as a stable release instead of making a second edition of the beta release, since I haven't really made risky changes and the first beta access had no issues with anyone using it.
Let's hope that it is indeed stable and won't introduce any new bugs - fingers crossed
Read the changelog and download the version 3.7.0 here
Let's hope that it is indeed stable and won't introduce any new bugs - fingers crossed
Read the changelog and download the version 3.7.0 here
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
UCyborg
- Board Warrior

- Posts: 1098
- Joined: 2019-01-10, 09:37
- Location: Slovenia
Re: Working on a Greasemonkey fork for Pale Moon
Off-topic:
Quite the undertaking, the uBO. Would noticeably reduce the hole in extension offerings.
Quite the undertaking, the uBO. Would noticeably reduce the hole in extension offerings.
The Merovingian wrote:Choice is an illusion, created between those with power, and those without.
-
andyprough
- Forum staff

- Posts: 1589
- Joined: 2020-05-31, 04:33
Re: Working on a Greasemonkey fork for Pale Moon
Off-topic:
If you get it working, we'll use it regardless of UI. @UCyborg has done some great work to keep the legacy version relevant, and it is working quite well, but a version that tracks with current upstream uBO would be most desired, however it looks.sinfulosd wrote: ↑2026-05-24, 23:57I have also been working on forking the latest upstream version of uBlock Origin, but I have been facing A LOT of issues with it - I know it's not an easy task at all to port an extension as big as uBlock Origin, but I'll still be working on it, hopefully I would be able to release my own version of it to everyone to test it out. I'm still on the fence of porting a lot of features, including whether to port in the latest chrome-like UI or just have it resembles how the legacy one have always looked on Pale Moon. I estimate that it would take few months for my own version of it to be stable for everyday-use. Only time will tell.
-
sinfulosd
- Fanatic

- Posts: 108
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
Off-topic:
The extension is extremely difficult to develop, not just because of working alone on a project that was not developed by a single man, but also by the design choices that, no matter what, it'll upset some people, if taken a different approach of what they wanted. (or an approach that would be different from JustOff's, Ucyborg's, or even Gorhill's)
I'm still not saying it's impossible to develop - I guess I'll have to increase the intake of energy drinks if I even want it to be developed in my own lifetime.
In my own testings, I was able to get almost everything in the engine working, including: (These features do not exist in the latest Ucyborg's fork of 1.16.6.1)andyprough wrote: ↑2026-05-28, 17:22If you get it working, we'll use it regardless of UI. @UCyborg has done some great work to keep the legacy version relevant, and it is working quite well, but a version that tracks with current upstream uBO would be most desired, however it looks.
- $redirect-rule — prioritized variant of $redirect
- $removeparam — strip query-string parameters
- $csp= — inject Content-Security-Policy
- $permissions= — inject Permissions-Policy
- $uritransform= — regex URL rewriting
- $replace= — response body text substitution (Firefox-only on upstream)
- $urlskip= — URL extract/decode/redirect (Firefox-only on upstream)
- $header= — match/block by response header (Firefox-only on upstream)
- $ipaddress= — CNAME-uncloaked IP filtering
- $strict1p / $strict3p — strict party matching
- $method= — HTTP method match
- $denyallow= — domain exclusion list
- $all — block all resource types
- $popup / $popunder — full implementation
- $inline-script / $inline-font — typed CSP injection
- $badfilter — proper handling
- 50+ ad-network shim scriptlets
- 89 web-accessible-resource files
- Is it going to be restartless, just like it was intended and how the original developer wanted it to be, or should I change it to become an overlay extension? (Restartless would obviously be a much bigger maintenance burden for me to tackle, especially since I'm also planning to open the "Issues" tab for the extension for everyone to keep reporting bugs. Overlay would be easier, make more sense, and support the philosophy of Pale Moon)
- Should I go with the chrome-like UI that is on Firefox and Chrome, again just like how the original developer wants it to be, or should I make it look and behave like how the current legacy UI is doing, but have more features?
- Should I keep it with the HTML files that it was originally shipped with it, or should I just port all the HTML files to XUL files, since the developer designed it with HTML for cross-developing purposes? (Although I suspect that some features cannot be replicated in XUL, including the current modern logger on uBlock Origin)
- Am I supposed to develop the extension exactly just like how the original developer is developing his extension on Firefox and Chrome, since he already has his own reputation with the extension, or am I able to diverge a bit with my own design choices and experiment with some architectural changes and basically test the limit of uBlock Origin with XPCOM's more permissive environment? If I'm able to, would it really be called uBlock Origin?!
The extension is extremely difficult to develop, not just because of working alone on a project that was not developed by a single man, but also by the design choices that, no matter what, it'll upset some people, if taken a different approach of what they wanted. (or an approach that would be different from JustOff's, Ucyborg's, or even Gorhill's)
I'm still not saying it's impossible to develop - I guess I'll have to increase the intake of energy drinks if I even want it to be developed in my own lifetime.
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
frostknight
- Board Warrior

- Posts: 1051
- Joined: 2022-08-10, 02:25
Re: Working on a Greasemonkey fork for Pale Moon
Please do, the fork we have currently is moving slow as molasses.
Although I understand its a lot of work to maintain any extension for palemoon.
But you know what I mean.
Freedom is never more than one generation away from extinction. Feelings are not facts
If you wish to be humbled, try to exalt yourself long term If you wish to be exalted, try to humble yourself long term
Favourite operating systems: Hyperbola Devuan OpenBSD
Say NO to Fascism and Corporatism as much as possible!
Also, Peace Be With us All!
If you wish to be humbled, try to exalt yourself long term If you wish to be exalted, try to humble yourself long term
Favourite operating systems: Hyperbola Devuan OpenBSD
Say NO to Fascism and Corporatism as much as possible!
Also, Peace Be With us All!
-
back2themoon
- Knows the dark side

- Posts: 3308
- Joined: 2012-08-19, 20:32
Re: Working on a Greasemonkey fork for Pale Moon
Please open a separate thread for uBO. Both extensions are extremely important and deserve separate topics.
Improve Pale Moon performance • Safe Mode / clean profile test info
How to auto-fill passwords • How to apply user agent overrides
Information to include when asking for support
Using: SSE2 build (thanks Nuck-TH) • W10 Pro x64
How to auto-fill passwords • How to apply user agent overrides
Information to include when asking for support
Using: SSE2 build (thanks Nuck-TH) • W10 Pro x64
-
sinfulosd
- Fanatic

- Posts: 108
- Joined: 2022-07-13, 03:01
Re: The possibility of a modern uBlock Origin fork for Pale Moon
That's actually a very good idea. Maybe a mod would move these posts to a dedicated forum post with its own forum subject and I'll be posting some news about the development of the extension for anyone who's interested and maybe get some potential contributors into the project.back2themoon wrote: ↑2026-05-28, 19:30Please open a separate thread for uBO. Both extensions are extremely important and deserve separate topics.
Yeah I know how many features the current legacy version is lacking (I have an entire list of features on a notepad that covers every single feature the upstream version has that the legacy version does not have), and it'll always lack these features, since the upstream version's extension core is completely different from the current legacy one. There is legitimately no other way, except writing it from scratch, which will definitely discourage every single person from getting into this project.frostknight wrote: ↑2026-05-28, 19:27Please do, the fork we have currently is moving slow as molasses.
Although I understand its a lot of work to maintain any extension for palemoon.
But you know what I mean.
I know what you mean, after all. 😅
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
athenian200
- Contributing developer

- Posts: 1932
- Joined: 2018-10-28, 19:56
- Location: Georgia
Re: Working on a Greasemonkey fork for Pale Moon
Well, I think overlay extensions are usually preferred in the Pale Moon ecosystem, so if that's easier for you, I think that's how you should do it for sure. And definitely I think people would prefer XUL to an HTML-style interface, but would accept either. if you can add features that showcase the power of XPCOM and what it can really do, that would be excellent, but you are right, you may well have to rebrand it because it would diverge from uBlock Origin too much.sinfulosd wrote: ↑2026-05-28, 19:17There are still A LOT of design choices of the extension that I have to decide on, including:
- 89 web-accessible-resource files
- Is it going to be restartless, just like it was intended and how the original developer wanted it to be, or should I change it to become an overlay extension? (Restartless would obviously be a much bigger maintenance burden for me to tackle, especially since I'm also planning to open the "Issues" tab for the extension for everyone to keep reporting bugs. Overlay would be easier, make more sense, and support the philosophy of Pale Moon)
- Should I go with the chrome-like UI that is on Firefox and Chrome, again just like how the original developer wants it to be, or should I make it look and behave like how the current legacy UI is doing, but have more features?
- Should I keep it with the HTML files that it was originally shipped with it, or should I just port all the HTML files to XUL files, since the developer designed it with HTML for cross-developing purposes? (Although I suspect that some features cannot be replicated in XUL, including the current modern logger on uBlock Origin)
Forget the burden of the extension source code that the original developer is definitely not working alone on it in the upstream version of it, and I'll probably be the only one who'll be working on it on the UXP fork of it - Just these questions above are enough to delay the extension development for months to come.
- Am I supposed to develop the extension exactly just like how the original developer is developing his extension on Firefox and Chrome, since he already has his own reputation with the extension, or am I able to diverge a bit with my own design choices and experiment with some architectural changes and basically test the limit of uBlock Origin with XPCOM's more permissive environment? If I'm able to, would it really be called uBlock Origin?!
The extension is extremely difficult to develop, not just because of working alone on a project that was not developed by a single man, but also by the design choices that, no matter what, it'll upset some people, if taken a different approach of what they wanted. (or an approach that would be different from JustOff's, Ucyborg's, or even Gorhill's)
I'm still not saying it's impossible to develop - I guess I'll have to increase the intake of energy drinks if I even want it to be developed in my own lifetime.[/offtopic]
I'm starting to get the bigger thread of your question, that maybe you feel a pressure to follow upstream because of branding and expectations. But it's worth knowing that most people here don't think highly of WebExtensions and are here because they prefer what XUL and XPCOM can do, so being bound by the vision of someone who targeted WebComponents... wouldn't be ideal, though people would understand somewhat if an XUL port of a WebExtension is what they wind up with.
"Linux makes everything difficult." -- Lyceus Anubite
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works." -- Steve Ballmer
"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in ten." -- Bill Gates
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works." -- Steve Ballmer
"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in ten." -- Bill Gates
-
jobbautista9
- Board Warrior

- Posts: 1240
- Joined: 2020-11-03, 06:47
- Location: Philippines
Re: Working on a Greasemonkey fork for Pale Moon
I already restart the browser anyway when I install uBO to a profile to 100% ensure the blocker works, so I don't mind switching away from bootstrap/restartless if that makes development easier.

Tired of creating stuff!
Avatar artwork by Shinki669: https://www.pixiv.net/artworks/113645617
XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.
-
UCyborg
- Board Warrior

- Posts: 1098
- Joined: 2019-01-10, 09:37
- Location: Slovenia
Re: Working on a Greasemonkey fork for Pale Moon
They are? So am I again an oddball in thinking having to restart the browser for installing extensions is so Windows 95?athenian200 wrote: ↑2026-05-29, 01:31Well, I think overlay extensions are usually preferred in the Pale Moon ecosystem, so if that's easier for you, I think that's how you should do it for sure.
And you devs keep talking about "moving forward" when it comes to Pale Moon.
The Merovingian wrote:Choice is an illusion, created between those with power, and those without.
-
athenian200
- Contributing developer

- Posts: 1932
- Joined: 2018-10-28, 19:56
- Location: Georgia
Re: Working on a Greasemonkey fork for Pale Moon
No, I think that's a valid opinion, and important feedback. Users that do think restartless extensions are important should speak up more, it's just everyone I've seen on the forums talking about this issue previously seems to say overlay extensions are the way to go, but a vote for restartless matters. The OP did ask for feedback, and I think this could be valuable.
Then again, maybe people who prefer them are afraid to say so because of all the people that think they're either harder to develop, or seem too "Mozilla" somehow. Not sure. To be fair, I am not really that involved in the extension development ecosystem myself.
"Linux makes everything difficult." -- Lyceus Anubite
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works." -- Steve Ballmer
"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in ten." -- Bill Gates
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works." -- Steve Ballmer
"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in ten." -- Bill Gates
-
UCyborg
- Board Warrior

- Posts: 1098
- Joined: 2019-01-10, 09:37
- Location: Slovenia
Re: Working on a Greasemonkey fork for Pale Moon
It's just that the concept of bootstrapped extensions is not very young anymore.
But if I'm not mistaken, Pale Moon doesn't have this CustomizableUI thingy. Can't say for certain if this makes dynamic UI modifications easier, just remember it being mentioned at some point.
I also can't help but think if you're already making a complicated extension, the difficulty of restartless aspect might be blown out of proportion.
One thing about content blockers and script managers, the technology for filtering existed before these extensions were a thing. Program like Proxomitron could be used in place of GreaseMonkey, uBlock, uMatrix / ηMatrix and a bunch of other extensions. You could use it to fill passwords too. Filtering proxy, browser independent, cleans things up before they even get to the browser. Extend it with filter list repository and it could replace all these specific extensions.
So I wonder, why is everyone rather dealing with these strange things that are web extensions, XUL, JavaScript etc.? It strikes me as cumbersome and inefficient reinventing of the wheel, restricted to the web browser environment they run in.
But if I'm not mistaken, Pale Moon doesn't have this CustomizableUI thingy. Can't say for certain if this makes dynamic UI modifications easier, just remember it being mentioned at some point.
I also can't help but think if you're already making a complicated extension, the difficulty of restartless aspect might be blown out of proportion.
One thing about content blockers and script managers, the technology for filtering existed before these extensions were a thing. Program like Proxomitron could be used in place of GreaseMonkey, uBlock, uMatrix / ηMatrix and a bunch of other extensions. You could use it to fill passwords too. Filtering proxy, browser independent, cleans things up before they even get to the browser. Extend it with filter list repository and it could replace all these specific extensions.
So I wonder, why is everyone rather dealing with these strange things that are web extensions, XUL, JavaScript etc.? It strikes me as cumbersome and inefficient reinventing of the wheel, restricted to the web browser environment they run in.
The Merovingian wrote:Choice is an illusion, created between those with power, and those without.
-
sinfulosd
- Fanatic

- Posts: 108
- Joined: 2022-07-13, 03:01
Re: Working on a Greasemonkey fork for Pale Moon
Correct me if I'm wrong, but wasn't JustOff getting so much hate for developing every single extension in a restartless fashion?athenian200 wrote: ↑2026-05-29, 04:14No, I think that's a valid opinion, and important feedback. Users that do think restartless extensions are important should speak up more, it's just everyone I've seen on the forums talking about this issue previously seems to say overlay extensions are the way to go, but a vote for restartless matters. The OP did ask for feedback, and I think this could be valuable.
Then again, maybe people who prefer them are afraid to say so because of all the people that think they're either harder to develop, or seem too "Mozilla" somehow. Not sure. To be fair, I am not really that involved in the extension development ecosystem myself.
Also, isn't Restartless method made ideally for extensions that only do one task (Think the extension version of VORAPIS V3 or Minama 1.0.2), since it's very inconvenient to keep restarting the browser when you install or update this one extension that only do one function?
Originally, Gorhill developed uBlock on Chrome, and when he was asked to port it to Firefox (back when it was XUL+XPCOM but on the transitioning period), he just grabbed the same HTML files to port them to Firefox and he grabbed the same Bootstrap file to make it restartless on Firefox - In other words, uBlock Origin in its deep architecture, it was never made to be optimal for pure XPCOM Firefox. The other extensions that had Firefox in mind were developing it in overlay fashion - think Greasemonkey, back when it was being developed by the original developer for XPCOM Firefox, because the extension is very complicated with its reliance of userscripts made by other people on the internet and its utilization of sandboxing.
INB4: But these extensions are currently being developed in Chrome and Firefox in its default restartless fashion and nothing bad is happening from them.
Because WebExtensions are sandboxed by design, old restartless are not - This causes memory leaks, zombie compartments, race conditions, etc... (Again, correct me if I'm wrong)
Last edited by sinfulosd on 2026-05-29, 11:36, edited 1 time in total.
Windows 11
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
Pale Moon 34.3.0, Firefox 151.0.3, Ungoogled Chromium 148.0
Developing and maintaining Greasemonkey for UXP
-
athenian200
- Contributing developer

- Posts: 1932
- Joined: 2018-10-28, 19:56
- Location: Georgia
Re: Working on a Greasemonkey fork for Pale Moon
Ah, that must be why it was a sore subject... it's because that's probably one of the things WebExtensions do better than XUL, and doesn't really make us look good. I do think it's reasonable to be honest about this, though... that the requirement for a browser restart, along with the bugginess of trying to work around that, really is a disadvantage. It enables more powerful extensions, at the expense of more inconvenience, more chances of something going wrong, and an awkward browser restart.sinfulosd wrote: ↑2026-05-29, 05:14INB4: But these extensions are currently being developed in Chrome and Firefox in its default restartless fashion and nothing bad is happening from them.
Because WebExtensions are sandboxed by design, old restartless are not - This causes memory leaks, zombie compartments, race conditions, etc... (Again, correct me if I'm wrong)
Following this to its logical conclusion... I would have to say that means unless the extension specifically leverages the power of XUL/XPCOM to do things that wouldn't be possible with WebExtensions... what you effectively get with Pale Moon is something more inconvenient and worse than a WebExtension.
And unless the extension is one of those that actually utilizes that power in a way people notice and care about, it just seems like a worse version of what Chrome can do for all the simpler extensions that can be done within the limitations of a WebExtensions framework. We've been saying for years that XUL/XPCOM is more powerful than WebExtensions... but what has been left unsaid (maybe because it was painful) is that a XUL extension that does the exact same thing as a WebExtension comes off as a worse and more inconvenient version of said WebExtension to most users, leaving us at a disadvantage with any kind of "simpler" extension that I never really thought about before. It's like, I understood the tradeoff in terms of sandboxing/security, sure, but I never saw those improvements directly tied to user convenience like this before.
It definitely shows me what an uphill battle we have to demonstrate the value of this technology, that's for sure. And makes me wonder if at some point in the future we would need to improve the way XUL extensions work to keep them even potentially relevant... if we can find the time between fixing web compatibility and keeping up with OS changes. :/
I'm really starting to think XUL isn't the selling point we thought it was... oh, well. I still love Pale Moon/UXP, but it's become clear to me just from this small exchange why it's so hard to get anyone else interested. Because the main thing that should have been a selling point probably doesn't seem like one to a user that might be using simpler, less powerful extensions.
"Linux makes everything difficult." -- Lyceus Anubite
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works." -- Steve Ballmer
"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in ten." -- Bill Gates
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works." -- Steve Ballmer
"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in ten." -- Bill Gates
-
moonbat
- Knows the dark side

- Posts: 5903
- Joined: 2015-12-09, 15:45
Re: Working on a Greasemonkey fork for Pale Moon
The biggest issue with restartless and web extensions I feel is the way they broke the basic architecture of separating UI code, event handling and internal logic. With XUL extensions, your entire UI is defined via static XUL files. You can strictly avoid even including onLoad references in the XUL file by simply having all event handlers load when the browser window opens and assign them by DOM references. The only reason to create UI via DOM manipulation would be if it were at runtime, e.g. if your extension includes items that the user may have created, and say you want to show them in a menu or combo box. Otherwise constant usage of document.getElementById() or createElement() everywhere only leads to ugly and unreadable code.
With XUL, every bit of your extension UI is loaded along with the browser (and may increase startup time somewhat depending on how many such extensions are installed) and I don't see having to restart the browser after an extension install or update as the end of the world*
Coming to uBO, the best thing a XUL version of it could do is to have the logger appear as a horizontal or vertical frame/sidebar similar to how Devtools can currently be shown. Not an easy change, of course.
With XUL, every bit of your extension UI is loaded along with the browser (and may increase startup time somewhat depending on how many such extensions are installed) and I don't see having to restart the browser after an extension install or update as the end of the world*
Coming to uBO, the best thing a XUL version of it could do is to have the logger appear as a horizontal or vertical frame/sidebar similar to how Devtools can currently be shown. Not an easy change, of course.
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

KDE Neon on a Slimbook Excalibur (Ryzen 7 8845HS, 64 GB RAM)
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX
Jabber: moonbat@hot-chili.net

KDE Neon on a Slimbook Excalibur (Ryzen 7 8845HS, 64 GB RAM)
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX
Jabber: moonbat@hot-chili.net
-
athenian200
- Contributing developer

- Posts: 1932
- Joined: 2018-10-28, 19:56
- Location: Georgia
Re: Working on a Greasemonkey fork for Pale Moon
Well, no, not the end of the world (I wouldn't give up that easily)... but definitely one of those things that make promoting our chosen technology more of an uphill battle and which counts as a mark against us if we're comparing a WebExtension to an XUL extension head-to-head.moonbat wrote: ↑2026-05-29, 06:15With XUL, every bit of your extension UI is loaded along with the browser (and may increase startup time somewhat depending on how many such extensions are installed) and I don't see having to restart the browser after an extension install or update as the end of the world*
"Linux makes everything difficult." -- Lyceus Anubite
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works." -- Steve Ballmer
"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in ten." -- Bill Gates
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works." -- Steve Ballmer
"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in ten." -- Bill Gates