Begging addons developers

Add-ons for Pale Moon and other applications
General discussion, compatibility, contributed extensions, themes, plugins, and more.

Moderators: FranklinDM, Lootyhoof

User avatar
nguyen9173
Banned user
Banned user
Posts: 95
Joined: 2022-06-02, 13:38

Re: Begging addons developers

Unread post by nguyen9173 » 2022-06-19, 14:19

jobbautista9 wrote:
2022-06-19, 09:05
nguyen9173 wrote:
2022-06-19, 00:50
Theoretically yes. But no one on the UXP world has ever decided to put together all of these pieces into a big internet suite like SeaMonkey.
Yes there is; Hyperbola did it with their Iceape-UXP project. And thanks to the fact that we always use the Comm Build System derived from Thunderbird, which cleanly separates the application from the platform, every UXP application can be kept up-to-date by simply just updating the platform. This is an innovation which isn't present in Firefox, which puts both the browser application and platform in mozilla-central.
Dead software. No new commits since 2019. I consider these as vaporware. Not viable in the long term. Exactly like the SeaMonkey and Waterfox guys said.

User avatar
jobbautista9
Keeps coming back
Keeps coming back
Posts: 782
Joined: 2020-11-03, 06:47
Location: Philippines
Contact:

Re: Begging addons developers

Unread post by jobbautista9 » 2022-06-19, 14:32

I knew you're gonna say something along the lines of that. First, you're wrong: Iceape-UXP's last commit was 7 days ago, not 2019. Second, whether the application itself is still being developed is pretty irrelevant if you're developing on the UXP platform. Since the application and platform are cleanly separated (which mind you, no other forks have ever done), you can still keep Iceape-UXP up-to-date both in features and security by simply updating the platform each compile. So no, in fact, Hyperbola, Moonchild, and everyone involved in UXP development proved SeaMonkey and Waterfox wrong in their naive assumption that maintaining and developing on a XUL-first platform is impossible!
Image

merry mimas

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

Mima avatar by 絵虎. Pixiv post: https://www.pixiv.net/en/artworks/15431817

Image

User avatar
nguyen9173
Banned user
Banned user
Posts: 95
Joined: 2022-06-02, 13:38

Re: Begging addons developers

Unread post by nguyen9173 » 2022-06-19, 16:24

jobbautista9 wrote:
2022-06-19, 14:32
So no, in fact, Hyperbola, Moonchild, and everyone involved in UXP development proved SeaMonkey and Waterfox wrong in their naive assumption that maintaining and developing on a XUL-first platform is impossible!
Yes, it's definitely/absolutely possible. But with the current manpower you have, your XUL-first platform is in deep maintenance mode which in my words is neither dead nor alive and will become irrelevant in the future because can't not catch up with the ever changing web. And it seems, there is no signs that you will have more people contributing to the critical parts of UXP like rendering engine and script engine or have more funds available. Hope it helps.

User avatar
Nuck-TH
Project Contributor
Project Contributor
Posts: 197
Joined: 2020-03-02, 16:04

Re: Begging addons developers

Unread post by Nuck-TH » 2022-06-19, 21:06

nguyen9173 wrote:
2022-06-19, 16:24
Yes, it's definitely/absolutely possible. But with the current manpower you have, your XUL-first platform is in deep maintenance mode which in my words is neither dead nor alive and will become irrelevant in the future because can't not catch up with the ever changing web. And it seems, there is no signs that you will have more people contributing to the critical parts of UXP like rendering engine and script engine or have more funds available. Hope it helps.
Being captain oblivious never helps.
What should be done instead? Ditch all that is done and become close following useless one more fork of current Firefox/Chrome? There is nothing valuable in them to do that, and if it is done - it is impossible to differ from them enough to make anything interesting, because it makes following their changes impossible. All chrome forks run far behind it, no matter manpower and money behind them. In a race with leader you can't outrun the leader by running behind him.

User avatar
Mæstro
Lunatic
Lunatic
Posts: 463
Joined: 2019-08-13, 00:30
Location: Casumia

Re: Begging addons developers

Unread post by Mæstro » 2022-06-19, 22:10

athenian200 wrote:
2022-06-19, 05:50
The world does not need another browser that "keeps up with Google." You have plenty of those, and the limitations they have in terms of customizability are inherent to those web engines.
As somebody who does not know anything technical, how are these limits inherent? My naïve assumption would be that browsers are modular enough that NPAPI support could be added back in, like how Pale Moon removed and restored MacOS support, without disturbing other parts of the software, or that one could swap Goanna for Blink while keeping Pale Moon UI to create, in effect, Chromium with pre-2012 Firefox theming, like how Maxthon(?) can (could?) use many rendering engines while keeping the same interface frame. I doubt it is really this simple, but I would like to learn, conceptually, what complicates things.
What they do is they fork the final maintained version that cut the fewest desirable features, and try to keep it patched up as long as possible, resisting the patches that break things. Then eventually when things start getting "rough," they fork a more modern version that is missing all the features they wanted to keep and accept that those are "gone," and refocus everyone's attention on a new controversy with the newer versions, and come up with an another justification for temporarily patching up a slightly less sucky version until they can't anymore, and the cycle just repeats, always moving in the direction laid out by Mozilla and Google just more slowly.
You have said it more eloquently than I could. Put this way, Waterfox and the rest are more a volunteer effort to extend ESR a few more years, like how LTS and ELTS maintain security patches for old Debian editions once the main project has forsaken it. I see it as a badge of honour that, on Wikipedia’s browser timeline, we are the only Firefox fork unique enough to be noteworthy. Knowing that Pale Moon will keep that dearest to me in perpetuity, I feel safe here in a way I cannot feel with any other browser. (This holds even more now that the covert plans to force users into new extensions—you know which—have fallen apart.) I refuse ever to accept that what I need is ‘gone for ever’. I can tolerate keeping an ugly, reserve browser for those few sites that demand it by their abominable design, but in most things, Pale Moon is good enough. Adequacy, not perfection is our goal here. The others choose the last and get neither; we seek and find the first.
Browser: Pale Moon (Pusser’s repository for Debian)
Operating System: Linux Mint Debian Edition 4 (amd64)
※Receiving Debian 10 LTS security upgrades
Hardware: HP Pavilion DV6-7010 (1400 MHz, 6 GB)
Formerly user TheRealMaestro: æsc is the best letter.

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1498
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Begging addons developers

Unread post by athenian200 » 2022-06-19, 23:28

TheRealMaestro wrote:
2022-06-19, 22:10
As somebody who does not know anything technical, how are these limits inherent? My naïve assumption would be that browsers are modular enough that NPAPI support could be added back in, like how Pale Moon removed and restored MacOS support, without disturbing other parts of the software, or that one could swap Goanna for Blink while keeping Pale Moon UI to create, in effect, Chromium with pre-2012 Firefox theming, like how Maxthon(?) can (could?) use many rendering engines while keeping the same interface frame. I doubt it is really this simple, but I would like to learn, conceptually, what complicates things.
I'd be glad to explain. It's actually very interesting, at least to my understanding. The main limitation (from what I've been told or at least what I remember) is that other browsers have adopted multiprocess, which means implementing anything like XUL into them would cause them to perform poorly with multiple tabs open (because the extensions would have to be loaded separately for each tab). The fact that this multiprocess design means they must now rely more on process sandboxing than on the traditional separation of chrome and content, also means there is essentially no way to implement our kind of theming/extension system as we know it securely in a modern browser. Other browsers have adopted a design that improves the speed of rendering web content (and which allows tabs to crash without bringing down the whole browser), at the expense of making security more difficult unless you lock everything down and don't allow any kind of customization or flexibility. They are totally dependent on locking the user out from modifying more and more things to achieve any kind of security.

But let's say you did want to somehow strip a modern Chromium down so it didn't allow multiple tabs somehow. Force it into a mode where this wouldn't be as much of an issue. Would it be possible? Well, it would be very difficult, because the only implementation of XUL/XBL that exists currently is the one built-in to our codebase. And that implementation happens to be very dependent on XPIDL interfaces, as well as quirks of the Mozilla JavaScript engine and the old CSS engine/style system in order to work properly and maintain good extension/theme compatibility. So first you would have to retrofit or rewrite huge parts of this codebase into modern Firefox or Chromium, and then you would have to adapt them to integrate well with their surroundings without breaking existing themes and extensions too much. This task would be at least on par with the difficulty of implementing WebComponents into Pale Moon, if not more so (and you know how hard that has been). Even if you did all of that, you would likely introduce major security issues into those browsers by allowing the level of customization and flexibility that we allow, and you'd have a security nightmare on your hands.

So it comes down to the fact that the XUL/XBL that exists is very implementation specific (even though in theory you could craft a more standardized and cross-platform implementation of it at the risk of compatibility issues), the fact that you'd have to rewrite or heavily adapt code to get it to work in a modern browser, and the fact that the design of modern browsers makes it hard to implement what we have in a secure way at all. That doesn't mean it's impossible, but let's just say it would be one heck of an achievement if someone actually made that work.

To put it more simply, our engine is optimized for XUL and XBL, other engines are optimized for WebComponents and WebExtensions-style technology. And each side would have difficulties trying to implement the other's technology well. They represent entirely different values, worldviews, and security models, and it's quite difficult for these technologies to coexist easily in the same browser.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

User avatar
UCyborg
Fanatic
Fanatic
Posts: 172
Joined: 2019-01-10, 09:37

Re: Begging addons developers

Unread post by UCyborg » 2022-07-15, 13:36

Seems SeaMonkey messed with some extension APIs again and removed legacy Iterator from its JavaScript engine. So depending on the extension, it may take more effort to keep it compatible. There went Stylem and DownThemAll. :( Stylem actually had a problem with properly saving styles before SM version 2.53.13, but sharing stylish.sqlite database with Pale Moon and editing it only via Pale Moon seemed to work OK.

I also like Pale Moon's direction better, though some speed improvements would be nice. Can't say I can complain about the speed when it comes for the web browser's original purpose, that is viewing HTML documents. Why some sites have to use so much scripting, they would work better on any browser if they wouldn't.

Since messing around with SeaMonkey, I realized Pale Moon supports some non-standard JavaScript constructs, like the previously mentioned Iterator and catch block supports checking for type of exception right inside the parenthesis, like:

Code: Select all

try {
  // some code
} catch (e if e instanceof SyntaxError) {
    // exception handling code executed if exception is SyntaxError
  }
Apparently this used to be Firefox (and its forks') specific until it was removed for not being accepted as part of the standard AFAIK. My question for developers, is this one of those things with the same policy as eg. NPAPI support, so it stays supported because there isn't a good reason to remove it? Of course, extensions that may use such constructs remain compatible this way without having to modify them.

User avatar
UCyborg
Fanatic
Fanatic
Posts: 172
Joined: 2019-01-10, 09:37

Re: Begging addons developers

Unread post by UCyborg » 2022-07-17, 20:55

I think I managed to fix DownThemAll! for SeaMonkey 2.53.13.

https://github.com/dirkf/downthemall-legacy/pull/1

Found total 3 changes in SeaMonkey that needed addressing:
Seems only the last change is responsible for breaking Stylem completely. Also the easiest to tackle, just remove programming language definition from class info occurrences.

User avatar
Lootyhoof
Themeist
Themeist
Posts: 1568
Joined: 2012-02-09, 23:35
Location: United Kingdom

Re: Begging addons developers

Unread post by Lootyhoof » 2022-07-17, 22:40

UCyborg wrote:
2022-07-17, 20:55
Seems only the last change is responsible for breaking Stylem completely. Also the easiest to tackle, just remove programming language definition from class info occurrences.
Pull requests welcome, so long as you don't break any other platforms (especially Pale Moon of course).

https://github.com/Lootyhoof/stylem

User avatar
LAR Grizzly
Lunatic
Lunatic
Posts: 352
Joined: 2017-08-11, 16:49
Location: Upstate Ohio, USA
Contact:

Re: Begging addons developers

Unread post by LAR Grizzly » 2022-07-17, 23:25

Lootyhoof wrote:
2022-07-17, 22:40
Pull requests welcome, so long as you don't break any other platforms (especially Pale Moon of course). https://github.com/Lootyhoof/stylem
Will your next release of Stylem include the appropriate fix to work in SeaMonkey once again? I won't update SM without Stylem. I have it heavily modified.
Win7 Pro SP1 64 Bit
Comodo Internet Security
Pale Moon 33.0.2, Epyrus Mail 2.1.2, Firefox 115.8.0esr, Thunderbird 115.8.1, and SeaMonkey 2.53.18

User avatar
UCyborg
Fanatic
Fanatic
Posts: 172
Joined: 2019-01-10, 09:37

Re: Begging addons developers

Unread post by UCyborg » 2022-07-18, 07:01

@Lootyhoof
I can send you a pull request later when I get home. I still have to check if saving styles remains problematic on SeaMonkey because if it is, usability is a bit limited. And if I'm smart enough to be able to fix it, of course! :lol:

As far as I can see, removing these:

https://github.com/Lootyhoof/stylem/blo ... rce.js#L28
https://github.com/Lootyhoof/stylem/blo ... yle.js#L52

Doesn't break Pale Moon while allows the scripts to execute on SeaMonkey since it doesn't support Components.interfaces.nsIProgrammingLanguage anymore. I suppose it wasn't very useful historically if it only allowed to specify JavaScript or unknown.

User avatar
Lootyhoof
Themeist
Themeist
Posts: 1568
Joined: 2012-02-09, 23:35
Location: United Kingdom

Re: Begging addons developers

Unread post by Lootyhoof » 2022-07-18, 10:07

Seems like it's a legacy thing anyway. implementationLanguage isn't referenced at all by the JS component loader (ref), so feel free to send it through once you've tested it. I can push a new version out with that then.

User avatar
UCyborg
Fanatic
Fanatic
Posts: 172
Joined: 2019-01-10, 09:37

Re: Begging addons developers

Unread post by UCyborg » 2022-07-18, 21:47

I found the source of the problem of styles not being saved properly in SeaMonkey.

https://github.com/Lootyhoof/stylem/blo ... le.js#L593

SeaMonkey doesn't do something since certain version I presume. sheet.cssRules at https://github.com/Lootyhoof/stylem/blo ... le.js#L616 simply ends up empty, so information what sites are targeted by individual style aren't processed.

Edit: the problem occurs since 2.49.2:
For security, parts of bug 1035091 were ported in bug 1411708. This might cause problems with add-ons like Stylish which use moz-document. Set the preference "layout.css.moz-document.content.enabled" to "true" to overcome this but be aware that this disables the added security fix.

User avatar
Peter Power
Newbie
Newbie
Posts: 6
Joined: 2022-07-22, 16:10
Contact:

Re: Begging addons developers

Unread post by Peter Power » 2022-07-23, 08:37

moonbat wrote:
2022-06-03, 03:06
nguyen9173 wrote:
2022-06-02, 18:33
Browsing videos on youtube interface with Pale Moon is unbearable.
Try this userscript (requires Greasemonkey for Pale Moon), it makes Youtube more compact and adds a few extra features. Or you can use my extension PMPlayer (link in signature) which plays videos in a floating popup window so you can look at other tabs.

Nice indeed. I didn't know about this setup and it's still working with the latest version of Pale Moon. :thumbup:
Just one point: you have to trigger the popup manually by pressing the MPlayer button next to the url bar. ;)
It took me a while to figure it out. Now I'm an unbearable peterished moonbat man :D

Thanks & Cheers

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 4942
Joined: 2015-12-09, 15:45
Contact:

Re: Begging addons developers

Unread post by moonbat » 2022-07-25, 07:53

Peter Power wrote:
2022-07-23, 08:37
you have to trigger the popup manually by pressing the MPlayer button next to the url bar
That's by design - it is your choice whether you want to view the current Youtube page in a popup or play it as usual. Note that the extension also works with links to Youtube and embedded videos on other sites; you can view the extension homepage (linked from your list of addons) for usage instructions :)
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
Linux Mint 21 Xfce x64 on HP i5-5200 laptop, 12 GB RAM.
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX

Locked