Why do some extensions not work in Pale Moon?

Frequently Asked Questions about the Pale Moon browser and their answers.

Moderators: satrow, Indalecio

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 18515
Joined: Sun Aug 28, 2011 5:27 pm
Location: 58.5°N 15.5°E
Contact:

Why do some extensions not work in Pale Moon?

Postby Moonchild » Sun Jul 05, 2015 10:07 am

Why do some extensions not work in Pale Moon?

Although we've worked on keeping as much compatibility as possible with Firefox extensions, Pale Moon is a different program, and unlike the plethora of rebuilds of Firefox out there that keep riding the Mozilla train, we have forked off from the Mozilla code and as such cannot guarantee compatibility with extensions that were written for Firefox.

That said, most extensions, especially overlay (XUL) extensions, will work out of the box with Pale Moon, because Pale Moon accepts the installation and use of Firefox extensions. Only in a few situations will the extension prove problematic, which this F.A.Q. answer explains:

Add-on SDK/Jetpack Extensions

Extensions that have been created with the so-called Add-on SDK are no longer compatible with Pale Moon as of version 27. The number of compatible extensions of this type has always been rather limited, but as of v27 they are no longer usable due to the increasing divergence of our platform/front-end combination from what Mozilla uses.

There is no workaround for this - someone will have to either fork the extension (if allowed by its license) and create a Pale Moon specific extension based on XUL or bootstrapping technology, or you will have to have a look around for an alternative extension with similar functionality, or live without it if you want to continue using Pale Moon.

As of v27.1, we support the use of a large proportion of SDK functions in the PMkit modules, which will be easy for extension developers to target if they have used jpm to build their SDK extension. Please see the developer wiki for documentation.

Extensions that target the Firefox GUID

Pale Moon 25.0 changed its GUID from the Firefox one to one of its own. That means that from an extension point of view, Pale Moon is a "brand new application" that the extension was not initially written for.

Normally, when an application's GUID is different than what an add-on expects, it will simply be rejected. However, to prevent the situation where, as a result, none of the Firefox extensions would work anymore, we added a dual-GUID system in v25 and later. It can install native Pale Moon extensions (specifically targeting Pale Moon as an application with its own GUID), and it can install Firefox extensions that target the Firefox GUID. In terms of Mozilla code, this is unprecedented: historically, Mozilla applications would only allow extensions to be installed that specifically target the application.
This new system only covers the installation routine for add-on installation. So, any add-on that has no other requirements to function but to pass the install check, will be allowed to install and run. This is why all Firefox extensions that are compatible with our presented extension API version install, but some don't function (properly).

Many extensions still work out of the box in this "Firefox compatibility mode", specifically those that don't explicitly use the Firefox GUID in other parts of the extension besides the installation file.

We did not support things like targeted xul overlays (this would be the chrome.manifest thing you are seeing mentioned on the forum) as that has a lot of snags to it, and would defeat the purpose of changing the GUID anyway. Targeted overlays have to specifically indicate the GUID of the application the overlays are for. Many extensions don't use these types of overlays and use generic overlays instead (specifically, most extensions that are only written for one product use an overlay that applies to everything it is installed on). Conversely, extensions that want to target multiple applications in a single extension package generally do use targeted overlays to cater to the different user interfaces of different applications targeted. Those extensions are a problem for Pale Moon's GUID system because there won't be any that match Pale Moon. As a result, buttons, menu entries, etc are missing, although the rest of the extension can still work.

Correcting targeted overlay extensions is simple: all the extension author has to do is add Pale Moon's GUID {8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4} to the overlays in the chrome manifest to make overlays apply to Pale Moon as well.

Extensions that were never written for our browser's compatibility realm

New extensions that have been written specifically for very recent versions of Firefox and do not have version compatibility because they have no common ancestor will just never work on Pale Moon. Those extensions usually cannot be "made to run" on Pale Moon unless the extension author decides to target Pale Moon specifically in an exclusive version of the extension, or otherwise bridges the gap between the Mozilla code and the Pale Moon code. From a browser perspective it is simply not compatible. The only exception would be if by chance all of the functions used in the extension align with what we offer.

This may also include "rewrites" that extension authors have done of existing extensions to cater to the changes in Mozilla Firefox. In this case there is a common ancestor, and you should look for the "latest compatible version" of such extensions. This may mean you are using a slightly less feature rich version of the extension, and further support will also depend on if the extension author (or someone willing to further develop from the common ancestor if published under an Open Source license) taking Pale Moon into account and keeping a Pale Moon version/branch updated.
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.
Image

Return to “Frequently Asked Questions (F.A.Q.)”

Who is online

Users browsing this forum: No registered users and 1 guest