SeaMonkey 2.1: Extension Incompatibility

Discussion of features in Seamonkey
Post Reply
User avatar
therube
Posts: 21685
Joined: March 10th, 2004, 9:59 pm
Location: Maryland USA

SeaMonkey 2.1: Extension Incompatibility

Post by therube »

SeaMonkey 2.1: Extension Incompatibility

Every extension that I use has worked from SeaMonkey 0.x to 2.0.x.

Now with 2.1, I have a few that are "Not compatible with SeaMonkey 2.1a1pre".

What makes them "not compatible"?
How does SeaMonkey know this?


In SeaMonkey 2.0, I had set the Preference, extensions.checkCompatibility;false.
In 2.1 I have had to modify it to extensions.checkCompatibility.2.1a;false.

With that change most of my extensions work, but a few still show as not compatible. Why would that be?

AutoCopy
Copy URL + (copyurlplus)
Fetch Text URL (or Phil's modified version, http://downloads.mozdev.org/xsidebar/mo ... .4-mod.xpi)


Is it simply my "2.1a", "extensions.checkCompatibility.2.1a" that needs modification? Or more to it then that?

http://kb.mozillazine.org/Extensions.checkCompatibility
Fire 750, bring back 250.
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 Pinball CopyURL+ FetchTextURL FlashGot NoScript
User avatar
Andy Boze
Posts: 2755
Joined: June 30th, 2005, 9:53 pm
Location: South Bend, IN

Re: SeaMonkey 2.1: Extension Incompatibility

Post by Andy Boze »

therube wrote:Is it simply my "2.1a", "extensions.checkCompatibility.2.1a" that needs modification? Or more to it then that?

http://kb.mozillazine.org/Extensions.checkCompatibility

Thanks for pointing that out. I've been wondering why 2.1a1pre won't allow me to install extensions that 2.0.x will. I didn't know about being able to add the version to that preference. In 2.0.x, even with the compatibility check turned off, SM will let me install extensions, but every once in a while after installation I'll get an error that the extension is not compatible. I assumed that the compatibility check just checks for the program and version in the install.rdf file that's packaged in the .xpi file. But it also has seemed that after the installation, SM can determine whether the extension has compatibility issues. For example, I believe some chrome file paths are different between SM and Firefox, and I suspected that that's what SM detects during the post-installation compatibility error messages. Just speculation on my part.
But then again, I may be wrong.
User avatar
therube
Posts: 21685
Joined: March 10th, 2004, 9:59 pm
Location: Maryland USA

Re: SeaMonkey 2.1: Extension Incompatibility

Post by therube »

Fetch Text URL, "I" got working by using Philip's mod'd version (which makes changes to chrome.manifest).

Copy URL + (copyurlplus), I got working by making similar changes to chrome.manifest (& not that I know what I'm doing, but it did happen to work).

Code: Select all

> overlay   chrome://navigator/content/navigator.xul   chrome://copyurlplus/content/copyurlplusOverlay.xul
< overlay   chrome://navigator/content/navigatorOverlay.xul   chrome://copyurlplus/content/copyurlplusOverlay.xul

(I might have my < & > backwards ?)

Note that either method (navigator.xul or navigatorOverlay.xul) works in SeaMonkey 2.0.x, but only the former method works in SeaMonkey 2.1a.

AutoCopy, (in a test Profile) would not even attempt the install, simply saying it was incompatible. So what I did was to (exit SeaMonkey) & manually copy an existing (2.0.x) install of AutoCopy into my 2.1 Profile/extensions/ & on restart, it was there & is working. (But the pre-existing copy of same from my 2.0.x -> 2.1a Profile is marked in Addons as "Incompatible" & "Disabled" ... Let me see ...

AutoCopy, works. Removed from Addons. Exit SeaMonkey. Manually copy existing (saved) copy of the /extensions/ install directory back, & there it is :-).

---

AutoCopy, chrome.manifest does have a reference to chrome://communicator/content/pref/preftree.xul which is invalid, but doesn't seem to be hurting anything.

Hmmm. There is no chrome.manifest in autocopy-v1.0.xpi. Maybe that's why it does not even want to install in SeaMonkey 2.1a? Does SeaMonkey 2.0.x automatically create a version in the /extensions/ directory if it does not exist?

---

Aha, I'd forgotten! Earlier I added (missing) SeaMonkey references to these (except AutoCopy) extensions.

This goes into the install.rdf file.

Code: Select all

   <!-- SeaMonkey -->
   <em:targetApplication>
      <Description>
        <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
        <em:minVersion>1.1</em:minVersion>
        <em:maxVersion>2.1a</em:maxVersion>
      </Description>
   </em:targetApplication>


So thinking that it must be this missing part that SeaMonkey 2.1a is complaining about. That is why an extension will not even install. Yes, must be it.

AutoCopy needs both the reference to SeaMonkey in install.rdf - it will install with only that, but will not function without a chrome.manifest also.

---

Re: AutoCopy, FTU, CopyURL Plus

There is no reference to SeaMonkey in install.rdf.
Without the reference, the extensions will not install, or if previously installed are marked as "Disabled".

There is no chrome.manifest at all (except in Philip's mod'd version of FTU).
Without chrome.manifest, the extensions will install, but will not be functional. Further, if you were to (right-click) Properties of the extension, SeaMonkey will freeze (& must be killed).

(Now just where do these chrome.manifests come from?)

---

Let me see if I've got it ...

An extension will not even install if there is no (correct?) reference to SeaMonkey 2 in the install.rdf file.

When running SeaMonkey 2.1a with an existing Profile (one where extensions had been installed, from say a 2.0 installation), Addons Manager will mark extensions without a SeaMonkey reference in install.rdf as "Disabled".

Further there may be tweaks needed to chrome.manifest (or the addition of one) before an extension that worked in SeaMonkey 2.0 works in 2.1a.

---
Fire 750, bring back 250.
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 Pinball CopyURL+ FetchTextURL FlashGot NoScript
User avatar
therube
Posts: 21685
Joined: March 10th, 2004, 9:59 pm
Location: Maryland USA

Re: SeaMonkey 2.1: Extension Incompatibility

Post by therube »

(Now just where do these chrome.manifests come from?)

Is chrome.manifest a "generated" file from jar:content/ext_name/contents.rdf ?
No.

But if missing, perhaps contents.rdf "tells" you what does need to be in chrome.manifest?

And why did these same extensions work in SeaMonkey 2.0 - without modification, but not in 2.1a?
Fire 750, bring back 250.
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 Pinball CopyURL+ FetchTextURL FlashGot NoScript
User avatar
Philip Chee
Posts: 6475
Joined: March 1st, 2005, 3:03 pm
Contact:

Re: SeaMonkey 2.1: Extension Incompatibility

Post by Philip Chee »

SeaMonkey 2.0 uses chrome.manifest but doesn't use the various contents.rdf files. If it doesn't find one it autogenerates one from the existing contents.rdf files.

SeaMonkey 2.1 doesn't bother checking for contents.rdf and if it doesn't find a chrome.manifest it just gives up. What I do is to install the extension in 2.0. Go to the $profile$/extensions/{funny-guid-for-extension}/ and then fish out the autogenerated chrome.manifest and stick it in the XPI. It should then install in SeaMonkey 2.1.

Phil
User avatar
therube
Posts: 21685
Joined: March 10th, 2004, 9:59 pm
Location: Maryland USA

Re: SeaMonkey 2.1: Extension Incompatibility

Post by therube »

(Most likely due to) Bug 562930 - Extensions containing JS components break on every update/reinstall (or similar related bugs) you may find a newly installed extension (on update), well not there at all, or only "kind of" there.

In the "kind of" scenario, you may find the extension totally missing, except for its' components\*.jar file.
In the "not there at all", well it's gone poof.

In the first case, restart SeaMonkey.
On restart, the components\*.jar file should then have gone poof.

Reinstall the extension in question. It should take at that point.
(Though if you were to update said extension, the situation would repeat itself.)

Per the bug, apparently this manifests itself with extension that add *.js files into the \components\ directory. NoScript & Adblock Plus are two that do that.
Fire 750, bring back 250.
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 Pinball CopyURL+ FetchTextURL FlashGot NoScript
User avatar
D555
Posts: 152
Joined: August 17th, 2005, 9:52 pm

Re: SeaMonkey 2.1: Extension Incompatibility

Post by D555 »

Philip ,
Is it a bug of SeaMonkey2.1 (or FF core) - not possible to autogenerate chrome.manifest from the existing contents.rdf ?
And may this function be restored in SeaMonkey 2.1 ?
...because it became a huge problem for my oldies favorite extensions(((
User avatar
Philip Chee
Posts: 6475
Joined: March 1st, 2005, 3:03 pm
Contact:

Re: SeaMonkey 2.1: Extension Incompatibility

Post by Philip Chee »

D555 wrote:Philip ,
Is it a bug of SeaMonkey2.1 (or FF core) - not possible to autogenerate chrome.manifest from the existing contents.rdf ?
And may this function be restored in SeaMonkey 2.1 ?

1. It's not a bug. That backwards compatible feature was removed in Gecko 1.9.2. [3]
2. This function will never be restored. In fact in Gecko 2.0 there both install.rdf and chrome.manifest may be going away (it's only a proposal).
https://wiki.mozilla.org/User:Jorge.villalobos/AddonPackaging

3. The current workaround is to install the extension into SeaMonkey 2.0 and then fish out the autogenerated chrome.manifest from the $profile$/extensions/{stupid-guid-string}/ directory. And then sticking it into the XPI.

Phil
Post Reply