Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken in Firefox 48 #168

Closed
wshanks opened this issue Jul 4, 2016 · 24 comments
Closed

Broken in Firefox 48 #168

wshanks opened this issue Jul 4, 2016 · 24 comments

Comments

@wshanks
Copy link
Contributor

wshanks commented Jul 4, 2016

As reported in #99, Pentadactyl does not start up in Firefox 48 any more. Here is the console output when you enable it:

1467641520319 addons.xpi WARN Error loading bootstrap.js for pentadactyl-signed@willsalmanj.github.com: TypeError: can't convert undefined to object (resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///home/user/.mozilla/firefox/mxcy0c1o.tmpbeta/extensions/pentadactyl-signed@willsalmanj.github.com.xpi!/bootstrap.js:20:1) JS Stack trace: @resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///home/user/.mozilla/firefox/mxcy0c1o.tmpbeta/extensions/pentadactyl-signed@bootstrap.js:20:1 < @XPIProvider.jsm:4646:1 < this.XPIProvider.loadBootstrapScope@XPIProvider.jsm:4646:7 < this.XPIProvider.callBootstrapMethod@XPIProvider.jsm:4725:9 < this.XPIProvider.updateAddonDisabledState@XPIProvider.jsm:4902:13 < AddonWrapper.prototype.userDisabled@XPIProvider.jsm:7241:9 < set_userDisabled@extensions.xml:1084:11 < oncommand@about:addons:1:1

1467641520320 addons.xpi WARN Exception running bootstrap method startup on pentadactyl-signed@willsalmanj.github.com: ReferenceError: can't access lexical declaration `initialized' before initialization (resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///home/user/.mozilla/firefox/mxcy0c1o.tmpbeta/extensions/pentadactyl-signed@willsalmanj.github.com.xpi!/bootstrap.js:361:9) JS Stack trace: startup@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///home/user/.mozilla/firefox/mxcy0c1o.tmpbeta/extensions/pentadactyl-signed@bootstrap.js:361:9 < this.XPIProvider.callBootstrapMethod@XPIProvider.jsm:4775:9 < this.XPIProvider.updateAddonDisabledState@XPIProvider.jsm:4902:13 < AddonWrapper.prototype.userDisabled@XPIProvider.jsm:7241:9 < set_userDisabled@extensions.xml:1084:11 < oncommand@about:addons:1:1

@cougarten
Copy link

cougarten commented Aug 3, 2016

same for later FF versions (at least 49, but I think I also tested 50)

@jak3
Copy link

jak3 commented Aug 3, 2016

Thanks @willsALMANJ for your work! But I still have problems using it.

@ffledgling
Copy link

@jak3 @willsALMANJ 's issue description doesn't propose a fix (aiui there is no fix at the moment), you'll want to try an older version of firefox.

@wshanks
Copy link
Contributor Author

wshanks commented Aug 4, 2016

Has anyone tried #160? I haven't had a chance to yet, but based on the error message it seems like #160 should at least get Pentadactyl further along in startup even if it doesn't fix the problem entirely.

@wshanks
Copy link
Contributor Author

wshanks commented Aug 5, 2016

#160 lets Pentdactyl mostly work with Firefox 48. You can try it from here if you want: https://github.com/willsALMANJ/pentadactyl-signed/releases/download/7286/pentadactyl-signed-7286.xpi

@kazuoteramoto
Copy link

@willsALMANJ your signed xpi (7286) is working for me on Firefox 48

@dumblob
Copy link

dumblob commented Aug 5, 2016

@willsALMANJ how about switching on per-tab process support? This should be the main culprit.

@gliptak
Copy link

gliptak commented Aug 5, 2016

@willsALMANJ +1 xpi works with FF 48

@gliptak
Copy link

gliptak commented Aug 5, 2016

@dumblob do you refer to browser.tabs.remote.autostart -> true (on about:config)?

@dumblob
Copy link

dumblob commented Aug 5, 2016

@gliptak yes, you can check it in about:support (see e.g. https://superuser.com/questions/1029400/how-to-enable-electrolysis-e10s-on-mozilla-firefox-beta ).

@haasn
Copy link

haasn commented Aug 5, 2016

@willsALMANJ That PR mostly fixes it for me, but for some odd reason :set showtabline seems to be completely broken in FF 48.

(The only option it lists is ‘always’, and even setting that claims it's an invalid parameter. I want to disable the tab bar completely)

@wshanks
Copy link
Contributor Author

wshanks commented Aug 5, 2016

@haasn Yes, it seems like settings are somewhat broken. With defsearch, if you try to change from Google to something else, it complains that that search provider does not exist even though you can still use that search provider with :open. For that at least you can just remap s to :open <search-provider> .

@dumblob e10s support is #50 though there is not much detail there. There is also some discussion in #99. Pentadactyl is a pretty large code base with a lot of functionality (internally it sets up and reuses a lot of custom classes and constructs; when I look through the code I feel like I am reading a new language), and it was written without any consideration for browser/content separation. It is possible the Pentadactyl devs could add e10s support with only a day's worth of work, but for anyone else it would take longer to understand the code and figure out how to split everything up into separate browser and content processes.

It would be a worthy project to take on, except that we already know that XUL add-ons are being deprecated and replaced by WebExtensions which use a completely different API. To me, it doesn't seem worth making Pentadactyl (the current XUL version) e10s compatible when it might become deprecated within another year after that. I don't think WebExtensions currently support all of the features Pentadactyl has, so it might be easier to make a new WebExtensions add-on inspired by Pentadactyl that is built up over time rather than port Pentadactyl directly. For such a WebExtensions version of Pentadactyl, it might be easier to start from an existing Chrome extension like Vimium and add features to it. I started #99 partly as a place for going through these kinds of considerations.

@haasn
Copy link

haasn commented Aug 5, 2016

I've noticed far more issues than just the defsearch in FF 48 after using it a bit longer (too many to list, really), I wouldn't call it very usable, sadly.

I think I'm personally fine with just sticking to pale moon for now - its performance is a billion times faster than stock firefox for me and I don't see that changing any time soon (FF 47 -> FF 48 crippled my firefox performance even further, which has been a trend). If somebody is still interested in maintaining pentadactyl, my personal wish would be to maintain the palemoon-compatible fork - especially in light of the expected deprecation of XUL/XPCOM in plain firefox.

@matreex
Copy link

matreex commented Aug 6, 2016

@willsALMANJ , dactyl had been working on firefox v50.0, it's nice good job, very thanks for you.

@wshanks
Copy link
Contributor Author

wshanks commented Aug 9, 2016

betaveros fixed the defsearch issue with a pull request here so I merged that in. I also merged in the other open pull requests that seemed reasonable. I haven't noticed any issues with the features of Pentadactyl I use. Still, I don't know how long Pentadactyl can be sustained in this way, so I would encourage people to keep looking into alternatives (Pale Moon, Vimperator, VimFx, etc.) that work them.

@matreex
Copy link

matreex commented Aug 11, 2016

I see that, I find you when i would give up it. i'm so happy to you can do this, because i can use Pentadactyl, again. :)
Pentadactyl is powerful addon, and Vimperator is power too, but i like dactyl more than vimp. Thanks a lot for you forked it, I will follow you until you have to give up.
@willsALMANJ

polyzen referenced this issue Aug 16, 2016
Min version to 38.

Everyone seems to ignore these and extensions.checkCompatibility in
favour of a feverish install.rdf hacking ritual anyway.
@maturanomx
Copy link

I can not make it work on FF 48.0.2 (from Arch repositories). xpinstall.signatures.required: false not seems to work.

Any help please?; now I can't work without pentadactyl 😞

@wshanks
Copy link
Contributor Author

wshanks commented Aug 30, 2016

Firefox 48 or higher requires that extensions be signed by Mozilla (there is no way to disable the requirement). You can either use Firefox Developer edition (firefox-developer in the AUR), an unbranded version of Firefox (firefox-unbranded in the AUR), or use a signed version of Pentadactyl (here is my signed version: https://github.com/willsALMANJ/pentadactyl-signed/releases/download/7287/pentadactyl-signed-7287.xpi). For the first two, you will still need xpinstal.signatures.required set to false.

Also, I'm closing this issue because @dkearns merged in fixes for the parts that broke in Firefox 48.

@wshanks wshanks closed this as completed Aug 30, 2016
@polyzen
Copy link

polyzen commented Aug 30, 2016

Will's signed version is also available for global installation at aur/firefox-pentadactyl-signed. This way you can install/update it once for all users/profiles.

On August 30, 2016 10:14:33 AM EDT, willsALMANJ notifications@github.com wrote:

Firefox 48 or higher requires that extensions be signed by Mozilla
(there is no way to disable the requirement). You can either use
Firefox Developer edition (firefox-developer in the AUR), an unbranded
version of Firefox (firefox-unbranded in the AUR), or use a signed
version of Pentadactyl (here is my signed version:
https://github.com/willsALMANJ/pentadactyl-signed/releases/download/7287/pentadactyl-signed-7287.xpi).
For the first two, you will still need xpinstal.signatures.required
set to false.

You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#168 (comment)

@maturanomx
Copy link

@willsALMANJ The thing is that with firefox 48.0 on Ubuntu works from master. I just clone and execute make -C pentadactyl install

:version
Pentadactyl 1.2pre running on:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0

I tried the same with Archlinux. Also I tried with Developer Edition and with Aurora but there are a lot of issues.

Anyway, I will continue trying but I'm scare of the future 😕

@wshanks
Copy link
Contributor Author

wshanks commented Aug 31, 2016

Hmm, I just checked that out and you're right that xpinstall.signatures.required still works in Firefox 48 on Ubuntu (at least in that one case). I don't have time to look into this more now but it would be interesting to do so. It's possible that Ubuntu chose to patch Firefox so that it would keep working this way. I remember seeing mailing list discussions for Debian and Arch where the maintainers said they would not disable the signing requirement because it was a security feature but I didn't see any discussion for Ubuntu.

@jam-jam
Copy link

jam-jam commented Sep 23, 2016

Thanks @willsALMANJ. I just couldn't go back to any other finger flow. I would just stop the Internet, and find another job. I think I should pay @dkearns and @kmaglione, and you of course. Or threaten you so you keep working on it. Whatever works. Thanks again for the xpi.

@wshanks
Copy link
Contributor Author

wshanks commented Sep 23, 2016

@jam-jam There is a donation link on Pentadactyl's listing on addons.mozilla.org that should go to @dkearns and @kmaglione. There are other addons that provide similar finger flow like VimFx (there is some discussion of them in #99). I still expect Pentadactyl to become unusable at some point, so it is worth keeping an eye on alternatives. That will be whenever XUL addon support is removed (the new extension API is getting close to parity with Chrome but there is no schedule for removing XUL support right now) or multiprocess mode becomes mandatory (by January multiprocess mode will be on for most users but there is no schedule for when the ability to turn it off will be removed).

@haasn
Copy link

haasn commented Nov 4, 2016

There are also other keyboard-driven browsers like qutebrowser, which have replaced pentadactyl for me. (I could not get comfortable with any of the other alternatives, and palemoon isn't exactly a long-term solution either)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests