5digits / dactyl

Pentadactyl and other related Gecko extensions
Other
470 stars 98 forks source link

Future development of Pentadactyl #99

Open wshanks opened 8 years ago

wshanks commented 8 years ago

The commit logs have been fairly quiet recently (1 commit over the last 3+ months) and the developers have not responded to several mailing list posts and GitHub issues posted over the last seven months or so regarding upcoming Firefox changes that will render Pentadactyl unusable. So the question is where does Pentadactyl go from here. Here are some major roadblocks for Pentadactyl that need to be addressed:

  1. Distribution / promotion

    The version of Pentadactyl hosted on AMO has been incompatible with Firefox Release for most of the last two years. The Pentadactyl website has been out of date for years as well. Now, even the nightly builds are often unreliable or out of date. An updated version of Pentadactyl needs to be the first version users find when they search AMO or the web. Issue #26 has more details about this issue.

  2. Extension signing

    On January 26, 2016, Firefox Release will require that extensions be signed, rendering Pentadactyl unusable unless it is signed. To be signed, it must be uploaded to Mozilla's site by the developers. Alternatively, it could be forked and given a new add-on id and that version could be uploaded by a third party. However, Pentadactyl is very complex and will not pass the automated tests part of the extension signing process. Getting something as complex as Pentadactyl through a manual review will be difficult and require a lot of effort (developers who understand the Pentadactyl code base will have to advocate for why certain sections of the code are secure and should be allowed through Mozilla's approval process despite tripping automated test failures). Issue #79 has more on this subject.

  3. Electrolysis

    Electrolysis (multi-threaded version of Firefox) will at some point become the default and then later on the shims that allow add-ons written to work with single-threaded Firefox to work in Electrolysis will be removed. More testing is needed but as is Pentadactyl will be unusable with Electrolysis and without the compatibility shims. This issue was first raised in issue #50 (edit: originally this said #84), though there is not much content there right now.

  4. Deprecation of XUL and XPCOM

    Further into the future (~18-24 months), Firefox plans to transition away from XUL-based add-ons. At that point, only add-ons using the Add-ons SDK or the WebExtensions API will work with Firefox. All signs point to the Add-ons SDK also being phased out slightly further into the future. The WebExtensions API does not allow for all of the functionality of Pentadactyl (this is why there is full-featured equivalent of Pentadactyl for Google Chrome and why the closest thing, Vimium, has to use some convoluted code to get as much functionality as it can). Developers who understand Pentadactyl and the WebExtensions API well need to start advocating now for new API's that will allow Pentadactyl's features to be created with WebExtensions.

Some avenues that could be explored:

phanimahesh commented 8 years ago

It is encouraging to see commits in the last month. If @kmaglione and @dkearns are willing, a lot of us are interested in devoting time to help revive the project, myself included. I can not imagine not having pentadactyl, it is probably the most important FF addon I use.

vyp commented 8 years ago

@ohjames I'm not sure if I said something wrong, but I wasn't trying to blame the pentadactyl developers about the fork. In fact, I support them very much about that issue.

NicolasWebDev commented 8 years ago

Hi guys, chiming in just now, after following the thread for a few weeks.

I have already switched to VimFx on my other computer, and the features are not comparable. But the force of pentadactyl is also its weakness: too complicated to maintain it seems.

Just to propose my help if you would need it.

j127 commented 8 years ago

IMHO, VimFX is not a good replacement:

jaseg commented 8 years ago

Has anybody tried to actually contact @kmaglione and @dkearns by direct email yet?

@prikhi I'm not experienced in javascript, but should you (or someone else) decide to do a friendly fork, considering how much I use pentadactyl, I will be able to contribute some time to its maintenance.

holtzermann17 commented 8 years ago

TBH, https://github.com/5digits/dactyl/network looks plenty active to me at present. Commits are happening, and pull requests are being made and merged in. I think this issue should be closed. If people want or need more assurance, they should look into setting up a Pentadactyl Foundation and building a budget to support dev work -- but that would be a discussion to have on the wiki or possibly the mailing list rather than in the issue tracker.

vyp commented 8 years ago

I may have missed it, has anyone (official) addressed the deprecation of XUL problem?

wshanks commented 8 years ago

None of the original points have been addressed. Pentadactyl is still out of date on addons.mozilla.org, 5digits.org is still out of date, and the nightly builds have not been working for a couple weeks. The extension signing deadline has been pushed back to Firefox 46 (April 18) but as of right now there will be no official way to install Pentadactyl in Firefox after that date. The Electrolysis timeline is not well defined but the current plan is for it to begin being phased in on April 18 as well. I'm not sure how much after that single-process mode will be phased out of Firefox (probably at least 6-12 months?). I think XUL deprecation is gated by the progress of WebExtensions (once Mozilla feels like WebExtensions have good API coverage, they will set a timeline for phasing out XUL addon support). It's hard to say what that time frame is.

I don't think anyone looks at the wiki.. There have been previous posts to the mailing list on this subject and they got much less response than this issue, so it seems this a better forum. The devs don't really respond to the mailing list or the issue tracker. Hard to set up a foundation for people who don't respond. I do donate via the button on addons.mozilla.org periodically for whatever that's worth. They do push small fixes and merge small pull requests. I think the best description of the current state is that they are maintaining Pentadactyl for their private use and just happen to post the code publicly.

holtzermann17 commented 8 years ago

@willsALMANJ the current devs have already spoken with their silence here. As a matter of etiquette I would think that pointing out lists of problems without contributing to a solution is not going to win favors or friendship. This thread doesn't feel solutions-focused. At worst it could be read as an acrimonious and entitled rant againt the devs and against Mozilla -- which I'm pretty sure is the opposite of your intention. Your point that it's actually read is well-taken. I'm just saying, from a practical standpoint "None of the original points have been addressed" is not a sufficient reason to keep the issue open. I think it would be preferrable to refactor it into specific actionable tasks, and then start developing pull requests, or contributing effort to solve organisational questions. If the 27+ participants in this discussion hang around waiting, I think that's the worst outcome.

vyp commented 8 years ago

@holtzermann17, @willsALMANJ is one of the participants here who also actively does things. I get your point that an issue tracker should be about issues and discussion should be reserved to the mailing list. That is quite valid for projects which are very active. But I wouldn't say pentadactyl is very active, even right now.

However, what's true is that the developers have recently (within the past few months) have made some huge changes and updates to pentadactyl to keep it up to date. That is great.

they are maintaining Pentadactyl for their private use and just happen to post the code publicly.

This is completely fine, and it is awesome that they have decided to keep releasing code as free software. But I do think that "none of the original points have been addressed" is a valid reason to keep the open. I think it's fine to keep an issue open here until these concerns play out (or are addressed), what's the problem? It's not like the developers are heavily using the issue tracker, and as @willsALMANJ already said, this issue tracker sees the most activity.

My view is, even if they are maintaining pentadactyl for their private use, they surely have a plan for the issues raised in OP, especially considering some of them are part of AMO (I think?). So I just wish they let us know about them, just because pentadactyl is such a huge part of everyone's workflow here.

I disagree that OP is an "entitled rant against the devs and against Mozilla". Where is that coming from? I see a clear outline of the issues everyone has been concerned about (at that time), and potential avenues for action. You have to remember that, at that time when the issue was opened, there was a lot of talk and probably (iirc) a lot similar but disjointed issues opened about these concerns. And @willsALMANJ collected those concerns into one post so that the developers have a clear place to focus on in addressing these concerns.

Even if the plan is to let pentadactyl die, I think it would be preferable to let everyone know that ahead of time. That may even allow some pentadactyl users to collaborate on making a pentadactyl inspired successor of some form (somehow if possible). Whereas otherwise, people might be giving disjointed efforts to help, not making as much progress as possible.

j127 commented 8 years ago

As a matter of etiquette I would think that pointing out lists of problems without contributing to a solution is not going to win favors or friendship. This thread doesn't feel solutions-focused. At worst it could be read as an acrimonious and entitled rant againt the devs and against Mozilla

I don't think that anyone is ranting against the developers. People are just getting very worried that their favorite tools are going to disappear. People are ready to contribute specific solutions, but I think that everyone is waiting for a response from the developers out of a very high level of respect for what they've built.

A solution-focused proposal: I organize programming/tech meetup groups in the Bay Area with over 2,500 members. We meet twice per week in Berkeley. I am willing to volunteer to schedule dedicated sessions for bugfixing and upgrades on Pentadactyl under the direction of the core developers. Or for anything else that would help keep Pentadactyl going, like maintaining the sites, creating video tutorials, etc.. I previously created a Firefox developers meetup in the Bay Area, but I never got responses from Mozilla and ended up shutting it down. I'd also restart that group if someone from Mozilla would contact me to help coordinate few things.

insidewhy commented 8 years ago

Lots of interesting points here, I haven't perceived the hostility others have, maybe reddit had hardened me ;)

Ultimately what this project needs is another dev with the relevant skills and enough time (3 hours per week roughly should be enough to review, guide and merge pull requests plus interact with the community?).

Unless anyone is able to step up on this point then we can't really consider that Pentadactyl is a community-oriented project and we should just be thankful for the amount of maintenance that is being performed.

I have the tech skills and experience but not the time and I suspect this holds for many others subscribed to this issue.

wshanks commented 8 years ago

Here is a good web page collecting information about the upcoming changes to Firefox for add-on developers:

https://wiki.mozilla.org/Add-ons/developer/communication

It gives a time frame of 12-18 months for XUL/XPCOM to be deprecated, so that would put the end of life for Pentadactyl at some time before the end of 2017.

That page also includes a link to a calendar with tentative dates for some of the transitional steps:

https://docs.google.com/spreadsheets/d/1OFYrrvAFg8y1mZOEbuIR1axxtV8eul_be6ad9fe8JB0/edit#gid=1952061950

According to that calendar, Electrolysis may be enabled for all users starting in Firefox 50 to be released in November 2016.

I am guessing both of these dates will end up getting pushed off a little bit. Also, it may be possible to keep using Pentadactyl a bit longer (even when Electrolysis is turned on for all users perhaps it will be possible to turn it off in about:config for a while after that; for XUL/XPCOM, the date is for its "deprecation"; it's not clear if that means it will be removed at that point or just that WebExtensions will be considered fully supported and the recommended API to use and that XUL/XPCOM will still receive support for a little bit longer).

I looked through the source for the Vimium extension for Chrome. All of the API's used by Vimium are partially implemented for WebExtensions already, but some of the specific methods used by Vimium have not been implemented (so presumably they will be implemented soon). One possibility for continuing Pentadactyl would be to start from a WebExtension port of Vimium and start adding other Pentadactyl features to it. To add features, it will probably necessary to use native.js once it is available to implement extensions to the WebExtension API and advocate for their inclusion in WebExtensions, as much of Pentadactyl's functionality (stuff other than what Vimium does) can't be done with the current WebExtensions API. This will probably be a long process as part of the point of the changes to Firefox is to limit the functionality of add-ons for security reasons, so adding functionality back will take some advocacy and care.

By the way, if the developers are speaking with their silence, then it's in a language I don't understand. Does the silence mean that they do plan to port Pentadactyl through these changes to Firefox or that they don't? Other than merging pull requests from other users, all of the commits over the last several months have basically been find and replace edits to maintain compatibility with changes to Firefox. It will take a lot more development work to adapt to the upcoming changes to Firefox.

phanimahesh commented 8 years ago

I propose that we start a community fork under an organisation, let's say pentadactyl-community, and those who indicated interest and/or ability to step forward. Pentadactyl is a very integral part of my browser experience and I will make time to help keep it alive in whatever way I can. However, I do not consider myself able to work on the codebase, not without assistance/guidance from someone who knows their way around or has experience with xul.

If and when the original authors respond, or make substantial changes/improvements, we can work with them to merge the fork back together. Let's repurpose the github reactions on this comments into votes on the idea.

Anyone willing and able to help, please comment. If we have atleast five people who each have two hours a week to spend on this, I hope we can make a small dent.

j127 commented 8 years ago

I don't always have two hours per week regularly at the moment, but I could try to get some of the people in our programming groups interested in working on it. It would help if they could install Pentadactyl with one click from the add-ons screen. Or maybe it would be better to try to rewrite it with the new extension API to get ready for the future.

jakubgs commented 8 years ago

It looks like 46 has arrived and pentadactyl doesn't work anymore.

I will concur with phanimahesh. My JavaScript skills are not the best as I'm a sysadmin and I've never really developed anything from ground up in JS but I'd be willing to help with pentadactyl. I really can't imaging using firefox without it.

rehael commented 8 years ago

151 fixes Fx46. @kmaglione / @dkearns – plz…

As far as future development goes – I can help a bit, not much though. But I can't live w/o pentadactyl, and will make anything to have it working.

szuecs commented 8 years ago

I also used #151 and changed the maxVersion to 46, works for me. I really like FF, because I can use >150 open TABs and pentadactyl+treetab. You will not be able to use your computer with chrome and 100 open TABs.

For a records a diff (to build a simple make will do):

% git diff
diff --git a/Makefile b/Makefile
index 637f33c..df04bee 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,5 @@
-DIRS = teledactyl pentadactyl melodactyl
+DIRS = pentadactyl 
+#DIRS = teledactyl pentadactyl melodactyl
 TARGETS = clean distclean doc help info jar release xpi
 .SILENT:

diff --git a/common/modules/util.jsm b/common/modules/util.jsm
index b76251e..5c2bb3e 100644
--- a/common/modules/util.jsm
+++ b/common/modules/util.jsm
@@ -1580,9 +1580,9 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
      * @returns {[string]}
      */
     split: function split(str, re, limit) {
-        re.lastIndex = 0;
         if (!re.global)
             re = RegExp(re.source || re, "g");
+        re.lastIndex = 0;
         let match, start = 0, res = [];
         while (--limit && (match = re.exec(str)) && match[0].length) {
             res.push(str.substring(start, match.index));
diff --git a/pentadactyl/install.rdf b/pentadactyl/install.rdf
index 5c61056..25067ab 100644
--- a/pentadactyl/install.rdf
+++ b/pentadactyl/install.rdf
@@ -32,7 +32,7 @@
             <Description
                 em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
                 em:minVersion="34.0"
-                em:maxVersion="45.*"/>
+                em:maxVersion="46.*"/>
         </em:targetApplication>
     </Description>
 </RDF>
krompus commented 8 years ago

Herm. I just updated to FF46, and it's-a-broken. It still "works", but it seems I have the issue that is fixed in #151. FF won't allow me to install the latest nightly. I've tried installing the AUR package, but that doesn't fix it.

Should I uninstall Penta completely and then reinstall? Perhaps there's a toggle in about:config that will allow me to install the latest nightly, or perhaps the AUR package doesn't work if I've already installed it from the Nightly page? (that's how I installed it last time)

EDIT: I uninstalled Pentadactyl completely, and then installed the AUR package pentadactyl-git. It's working again. :)

polyzen commented 8 years ago

@krompus, that worked for you because aur/pentadactyl-git changes the maxversion to 46. 73caa22 needs to be reverted sinces the fixes were merged.

phanimahesh commented 8 years ago

I have disabled addon compatibility checking altogether just to run pentadactyl. Since long. Sad story.

polyzen commented 8 years ago

@phanimahesh, addon verification is a different issue :p

krompus commented 8 years ago

Sad story. :(

prikhi commented 8 years ago

I've been cheating & using Palemoon along with a compatible version of pentadactyl (Github).

j4hangir commented 8 years ago

@prikhi That's precisely what I offered a while back, while the only merit Firefox has is its Pentadactyl and without it, the next best option is Palemoon.

dvelikiy commented 8 years ago

I guess I'm going to use VImFX until pentadactyl is working again :\

polyzen commented 8 years ago

@codenotfound, what's not working outside of addon verification (and little things here-and-there)?

dvelikiy commented 8 years ago

@polyzen You're kind of right, I guess. Is there an easy way to bypass verification issue?

polyzen commented 8 years ago

@codenotfound, https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox?as=u#w_override-add-on-signing-advanced-users

dvelikiy commented 8 years ago

@polyzen, That worked, thanks. But, "Signing will be mandatory with no override, in Firefox 47 beta and release versions." Hopefully, there'd be a solution for that.

polyzen commented 8 years ago

@codenotfound, @willsALMANJ seems to have that covered. Also see #79. :+1:

wshanks commented 8 years ago

Yes, signing the xpi and posting it to GitHub have worked fine for me so far. I am trying to keep it up to date either with master of this repo or a PR if master is badly broken for the release version of Firefox. It would be nice to have a signed xpi hosted at a more offiical location though.

szuecs commented 8 years ago

The current master works for me on ubuntu and OSX, thanks all!

ghost commented 8 years ago

There is already https://github.com/ffledgling/dactyl-build/releases

polyzen commented 8 years ago

Those aren't signed.

On Wed, May 4, 2016 at 5:19 PM, manu notifications@github.com wrote:

There is already https://github.com/ffledgling/dactyl-build/releases

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/5digits/dactyl/issues/99#issuecomment-217006101

thuandt commented 8 years ago

I can't input in textbox when I enable Electrolysis in FF 47. So when FF 48 released, we must disable it?

wshanks commented 8 years ago

Yes.

It would take a lot of work to make Pentadactyl work with Electrolysis, and I haven't seen any sign that anyone is working on that. It wouldn't really be worth trying to make it work as is because Pentadactyl would have to reworked again once XUL was deprecated. It would be better to convert Pentadactyl to a WebExtension, but that would also be a lot of work and WebExtension API's do not exist for every feature of Pentadactyl, so part of converting Pentadactyl to a WebExtension would be helping to get those API's added to Firefox.

krasnovpro commented 8 years ago

Can't install pentadactyl nightly on ff48. Very sad.

krompus commented 8 years ago

Indeed. I guess this is where I stop updating Firefox; thanks for the heads up.

I tried FF Nightly recently, and it was very snappy, but the lack of Pentadactyl support was a total dealbreaker. I've started looking into Qutebrowser (a standalone WIP penta-style browser) and cVim for Chromium. Nothing compares, sadly.

wshanks commented 8 years ago

I opened a new issue for this (#168). It's probably fixable, though it's true at some point there will probably be an incompatibility that is too big to fix. I think I could cobble together about all the functionality I get from Pentadactyl from a combination of VimFx and some other add-ons, plus writing my own for some things but it's less convenient than Pentadactyl. I had been wondering if I should take the disruption as an opportunity to try using Chromium instead of Firefox. cVim looks like a good reason to do that.

polyzen commented 8 years ago

Would love Chrom for its sandboxing, but attempting to replicate my FF setup had some drawbacks:

gilbertw1 commented 8 years ago

Just switched over to Pale Moon and am extremely happy. Pentadactyl runs perfectly on it and I've actually noticed a surprising performance boost over Firefox. I would recommend checking it out....I'm sure glad I did.

I'm not a 100% sure how stable the future of Pale Moon is, but this plugin seems to have a better outlook with it than with stock Firefox. They've got a PaleMoon version available here: https://addons.palemoon.org/extensions/appearance/pentadactyl/

prikhi commented 8 years ago

Yup, I've been enjoying Pentadactyl w/ Palemoon for a while now & it's been working great. There was some talk by the devs about re-forking Palemoon from a somewhat newer version of FF, but they said they're committed to keeping XUL around.

There's a github repo for the Palemoon version: https://github.com/Pale-Moon-Addons-Team/pentadactyl-pm

If anyone's interested, there's some info about backporting Pentadactyl commits to the Palemoon version here:

https://github.com/Pale-Moon-Addons-Team/pentadactyl-pm/pull/2#issuecomment-198240858 https://github.com/Pale-Moon-Addons-Team/pentadactyl-pm/blob/master/BACKPORTS.md

On Fri, Jul 8, 2016 at 8:48 PM, Bryan Gilbert notifications@github.com wrote:

Just switched over to Pale Moon and am extremely happy. Pentadactyl runs perfectly on it and I've actually noticed a surprising performance boost over Firefox. I would recommend checking it out....I'm sure glad I did.

I'm not a 100% sure how stable the future of Pale Moon is, but this plugin seems to have a better outlook with it than with stock Firefox.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/5digits/dactyl/issues/99#issuecomment-231504148, or mute the thread https://github.com/notifications/unsubscribe/ABPmJo0vZmdZOBdqtE64uKopDn7xSNO3ks5qTu_fgaJpZM4GevKj .

congma commented 8 years ago

Is pentadactyl still working on Firefox ESR?

PLumowina commented 8 years ago

Guys - consider change the default browser to long living palemoon version of firefox - which is damn good and fast - I just migrate all my linux/windows boxes with it. there is not orginal pentadactyl extension - but its working without any issues for now. some other plugins I use need to be installed with older versions (because palemoon version is 26.3.3) but its working very very well - try it.

Rafał "PLum" Michalski

2016-08-03 8:18 GMT+02:00 Cong Ma notifications@github.com:

Is pentadactyl still working on Firefox ESR?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/5digits/dactyl/issues/99#issuecomment-237152075, or mute the thread https://github.com/notifications/unsubscribe-auth/AMt1UVpdDofz00jzyngit8RqinAJxAkwks5qcDKcgaJpZM4GevKj .

Hi-Angel commented 8 years ago

@PLumowina well, what excites me in the current Firefox is its gradual transition to Rust. But if this transition would break Pentadactyl at some point, there indeed would be no way as to go from Firefox.

cougarten commented 8 years ago

@congma no. FF doesn't refuse to load it, but penta fails ( https://github.com/5digits/dactyl/issues/168 )

dumblob commented 8 years ago

@gilbertw1 @prikhi @PLumowina Pale Moon has one major drawback - does not (and will not) support WebRTC (which I heavily use e.g. for conferencing).

insidewhy commented 8 years ago

Palemoon is like stepping back in time to the web of 3 years ago. I can't take a single one of these comments suggesting people use it seriously.

sanjayankur31 commented 8 years ago

+1

This thread is supposed to be to discuss the future of pentadactyl, not migration to palemoon or another browser. Can we please stay on track? :(