Lightning no longer working on 2.37 builds

Discussion about Seamonkey builds
Post Reply
rsx11m
Moderator
Posts: 14404
Joined: May 3rd, 2007, 7:40 am
Location: US

Lightning no longer working on 2.37 builds

Post by rsx11m »

Per this blog entry and actions taken already in Bug 1159737 - Stop supporting binary XPCOM components except as part of the application, the Lightning extension (and any other add-on using binary components) is no longer working. Since there is no build-time switch, either Lightning has to work around the issue per suggestions made in the blog entry, or the Firefox people have to be convinced to either introduce a build-time switch or some white-listing mechanism for affected but "trustworthy" add-ons.

Related threads are viewtopic.php?f=19&t=2932349 in Extension Development and viewtopic.php?f=29&t=2932385 in the Thunderbird Builds forum (general Daily thread), thus consider posting there for any general questions or comments on this issue beyond how SeaMonkey is affected by this (I may lock this thread here if the discussion gets too much distributed).
User avatar
raj_bhaskar
Posts: 1946
Joined: November 7th, 2002, 3:50 am
Location: Glasgow, Scotland
Contact:

Re: Lightning no longer working on 2.37 builds

Post by raj_bhaskar »

As well as Lightning, I seem to recall Mouse Gestures Redux (and its successors?) using a binary component. Is this still the case?
rsx11m
Moderator
Posts: 14404
Joined: May 3rd, 2007, 7:40 am
Location: US

Re: Lightning no longer working on 2.37 builds

Post by rsx11m »

I couldn't find that one, but LemonJuice's Mouse Gestures Suite doesn't have any binary component (I don't know if it's a direct descendant of the add-on you have in mind).
Lemon Juice
Posts: 788
Joined: June 1st, 2006, 9:41 am

Re: Lightning no longer working on 2.37 builds

Post by Lemon Juice »

Mouse Gestures Suite is a descendant of All-in-One Gestures. Yes, Redox uses binary components so I suppose it will fall into the category of not working any more in future Firefox (and maybe SeaMonkey) versions.
*** SeaMonkey — weird name, sane interface, modern bowels ***
Mouse Gestures for SeaMonkey/Firefox
Convert Fx and TB extensions to SeaMonkey
User avatar
raj_bhaskar
Posts: 1946
Joined: November 7th, 2002, 3:50 am
Location: Glasgow, Scotland
Contact:

Re: Lightning no longer working on 2.37 builds

Post by raj_bhaskar »

Ah well, I guess I'm going to have to finally abandon Mouse Gestures Redox. It's a shame, since I've been using it since the Optimoz days. Oh well, at least there's something to jump to, so thanks to Lemon Juice for that :).
User avatar
therube
Posts: 21703
Joined: March 10th, 2004, 9:59 pm
Location: Maryland USA

Re: Lightning no longer working on 2.37 builds

Post by therube »

Download an affected FF version & test.
(Are there such things, now?)

Just because there is a "binary" in the package, does not mean it will not work.
Has Mouse Gestures Redox needed to update, regularly, with each FF release, or has it "just worked" regardless of FF version updates?

FlashGot includes a "binary component", but its "component" has remained unchanged for ages (years), & AFAIK won't be affected by this change. (So suppose what is considered a "binary component" is/could be more then simply having a .exe in the extension package.)
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
WaltS48
Posts: 5141
Joined: May 7th, 2010, 9:38 am
Location: Pennsylvania, USA

Re: Lightning no longer working on 2.37 builds

Post by WaltS48 »

Firefox 40.0a1 should be.

Any extension with an XPCOM component.

1159737 – Stop supporting binary XPCOM components except as part of the application
Linux Desktop - AMD Athlon(tm) II X3 455 3.3GHz | 8.0GB RAM | GeForce GT 630
Windows Notebook - AMD A8 7410 2.2GHz | 6.0GB RAM | AMD Radeon R5
rsx11m
Moderator
Posts: 14404
Joined: May 3rd, 2007, 7:40 am
Location: US

Re: Lightning no longer working on 2.37 builds

Post by rsx11m »

Yes, binary components aren't disallowed as such, but their methods of interacting with the main application are substantially restricted. One can use a child process to invoke an executable (".exe" on Windows), but it's also possible to load dynamic/shared libraries (".dll") using JavaScript ctypes. Lightning is probably directly connecting with XPCOM, which is the method now no longer permitted as it's too "direct" in its involvement with the main application.
Lemon Juice
Posts: 788
Joined: June 1st, 2006, 9:41 am

Re: Lightning no longer working on 2.37 builds

Post by Lemon Juice »

Mouse Gestures Redox appears to use ctypes, unfortunately.

It's a shame the Firefox guys care so little about extension compatibility, especially on other Mozilla based projects. Causing so much trouble for Lightning is not nice. Would it hurt them in any way if they simply disabled XPCOM for Firefox leaving it for use in TB and SM?
*** SeaMonkey — weird name, sane interface, modern bowels ***
Mouse Gestures for SeaMonkey/Firefox
Convert Fx and TB extensions to SeaMonkey
rsx11m
Moderator
Posts: 14404
Joined: May 3rd, 2007, 7:40 am
Location: US

Re: Lightning no longer working on 2.37 builds

Post by rsx11m »

Lemon Juice wrote:Mouse Gestures Redox appears to use ctypes, unfortunately.

In this case it should still work (js-ctypes is actually recommended as the second-best workaround after removal of the XPCOM part).

Lemon Juice wrote:Would it hurt them in any way if they simply disabled XPCOM for Firefox leaving it for use in TB and SM?

It wouldn't, but they failed to even consider a build-time switch. Bsmedberg said in one of the threads repeatedly that he would approve such a patch, but wouldn't write it (thus, crash the barn door but refuse to help catching the horses...).
Lemon Juice
Posts: 788
Joined: June 1st, 2006, 9:41 am

Re: Lightning no longer working on 2.37 builds

Post by Lemon Juice »

rsx11m wrote:
Lemon Juice wrote:Mouse Gestures Redox appears to use ctypes, unfortunately.

In this case it should still work (js-ctypes is actually recommended as the second-best workaround after removal of the XPCOM part).

Oh, yes, I misunderstood you initially about ctypes - Redox should be safe then, it works in the latest Fx nightly, it only has problems with e10s so potentially SM users will not be affected.
*** SeaMonkey — weird name, sane interface, modern bowels ***
Mouse Gestures for SeaMonkey/Firefox
Convert Fx and TB extensions to SeaMonkey
rsx11m
Moderator
Posts: 14404
Joined: May 3rd, 2007, 7:40 am
Location: US

Re: Lightning no longer working on 2.37 builds

Post by rsx11m »

BTW: Fallen has reported in today's SeaMonkey status meeting that Lightning has been switched by default to icaljs (i.e., the JavaScript version of the binary parts), which "works" but has performance issues and likely still a couple of bugs as it hasn't been extensively tested. Thus, if nothing else happens until the Gecko-40 cycle hits the releases, that's probably what SeaMonkey/Lightning users would have to work with as the fallback.
rsx11m
Moderator
Posts: 14404
Joined: May 3rd, 2007, 7:40 am
Location: US

Re: Lightning no longer working on 2.37 builds

Post by rsx11m »

Mitigating patch landed on mozilla-central, introducing a build-time switch to allow binary XPCOM components again:
  • #1165428 Restore support for binary components in extensions on a per-application basis
Patch for comm-central build config approved, yet has to land:
  • #1166842 Re-enable binary extensions for comm-central
Hopefully this is going to be uplifted to aurora (no request pending yet), otherwise SeaMonkey 2.37 with Lightning 4.2b would still be affected.
Post Reply