-
Notifications
You must be signed in to change notification settings - Fork 193
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
Port to WebExtension #705
Comments
If all else fails, could focus perhaps be shifted to compatibility with Pale Moon? |
Also relevant: https://bugzilla.mozilla.org/show_bug.cgi?id=1215061#c22
It would indeed seem that the best possible and realistic outcome now would be to lag behind on Firefox releases for some time until a rewrite is completed, or even started. At some point it stops making sense to even maintain the current code base. I would hope that we could get a working release (especially on AMO) for the next ESR (FF52), which in my opinion would be a good option to stay on for some time as releases after 52 will be increasingly hard to maintain. Regarding the option of Pale Moon, there's a pretty interesting discussion on that in this Pentadactyl issue. I don't personally think it's a good idea. |
I would really love to help with the effort. However, a few pointers on where can one start would be very helpful. I've done the reading, and as I understand we are facing two major roadblocks:
A couple of thoughts: To address point No. 2 it would be nice to have a list of missing APIs, and might start thinking about workarounds. I have much development experience, but none in browser extensions and haven't touched JS for a couple of years. So I don't think I am fit to lead this effort, but I would be more than happy to follow if pointed at the right direction. |
Hey, I just started using Firefox and vimperator after being a long-time Chromium/Vimium-user (Google Amp on my phone slowly made me turn away from google). I love the experience of using gui=none so far and would love to contribute some with keeping this project alive! That being said, I don't have any experience writing Firefox plugins besides building the latest xpi a few days ago, though I'm a pretty decent developer working mostly in web. I'm guessing I should start by reading a bit about writing plugins in general, would reading up on WebExtensions be the right place to start right now? And/or should I take a look at some open issues already around? |
@marza91 If I had to guess, I'd say Web Extensions might be worth looking into. Someone is gonna have to start a port and the earlier the better is my likely guess. |
This is probably possible to find out somewhere, but is Vimperator a "XUL/XPCOM" or "Add-ons SDK" extension? |
Count me in when moving to WebExtensions 👍 |
@svarogg For the start we need some experienced software engineers to create an initial framework. Later individual developers can contribute additional features individually. There will be a long design phase where we collect requirements, develop a solid foundation for the addon and where we can also analyze which features are missing in the webextension standard. @marza91 |
Oh, I forgot something: The new version would be something completely new. There will be many things that will be different from what we are used to. It would be fantastic to forget the reasons that led to the fork and work together with the people from pentadactyl. They have the same problem as we have. And most developers joined after the fork. It makes no sense to create two new addon with the same functionality. |
Personally, I will be switching to VimFx. It doesn't change the UI, which is one thing I liked about Vimperator, but that won't be possible in the future anyway. It seems to be ahead of Vimperator in terms of Firefox's changes (it already supports multiprocess), is actively developed and has a roadmap for WebExtension support. I'll just throw this in the room: Maybe the remaining developer power should be moved to this project. |
Regarding Pale Moon, their roadmap, at https://www.palemoon.org/roadmap.shtml, explicitly states that they are keeping XPCOM and XUL extensions support, unlike Firefox. |
The ability to change the GUI and the way it completely changes how you use the browser is what I like most about Vimperator as well, so VimFx seems like a downgrade to me. Not to talk down about the Add-on itself, I bet it works great, it's just not exactly what I want (I tried it briefly before changing to Vimperator). Would it be an idea to start by assembling a feature-list and find out exactly what can and can't be ported? I'm also lending a bit towards switching to Pale Moon if there's interest in keeping the XUL version going and most features can't be ported. |
Collecting a feature list and categorizing it into "supported by webext" sounds like an awesome idea. |
I follow your discussion about moving forward to WebExtensions age. I do not know exactly what is possible and what not, but from the discussion I got feeling, that interface rewrite by XUL will not be possible. My question is, can be some of these issues solved by theme? So basically some XUL features will be done by theme? |
I would like to throw my hat in the ring as a developer that can help with
the port. Do not have time to lead the project but as soon as we find a
leader(s) I can take on tasks.
…On Fri, Feb 10, 2017 at 3:22 AM, xdml ***@***.***> wrote:
I follow your discussion about moving forward to WebExtensions age. I do
not know exactly what is possible and what not, but from the discussion I
got feeling, that interface rewrite by XUL will not be possible.
My question is, can be some of these issues solved by theme? So basically
some XUL features will be done by theme?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#705 (comment)>,
or mute the thread
</~https://github.com/notifications/unsubscribe-auth/AAdUdoth77xv24B8GON7AAxRfimW-gS6ks5rbB4ygaJpZM4L6u97>
.
|
New repo would be practical due to the high number of unresolved issues in this repo, but it would also mean that one can't as easily refer to still active issues using #705. There's also lots of commit statistics, links to the repo on the Internet etc. As a minimum, the main repo would have to include information and links to the other one. That being said, I don't plan on manage the move to a new repo and/or branch, so it'll be up to whoever makes the call. Just thought I'd point out some possible pros/cons. |
You can easily refer to issues in other repos by pasting the full links, or use |
Yes, cross-linking issues is easy. The new code would not have much in common with the old Vimperator code, so I don't see a problem. As we will start from scratch, most issues would have no relevance anymore. |
I'm well aware, @lilydjwg. My point is that there's some history that comes with all the issue numbers. In the event a new repo is created, an issue discussed with number e.g. 77 could be different, even though an issue 77 in the old repo could have historical value. Not a big problem, but it's not just about not having to write |
Because there was some talk about palemoon and other browsers. I switched temporarily to IceCat because vimperator still works properly there. It is extremely unfortunate tha palemoon does not run on OSX. |
@timss I don't understand what you mean. The new WebExtension version of Vimperator would be a completely new program. There are no bugs, only feature requests (many more than there are now because it won't have any features at the beginning). So in the rare situation that it is necessary to reference an old issue it would be no problem to use the |
It wasn't clear from my comment but I would agree with@SammysHP as the current version of vimperator should still work with current/legacy browsers like icecat and palemoon. EDIT: also I believe the (potential) shortcomings of github's issue tracker should probably not be taken into account in this decision. |
Just thought I'd give my two cents, issue linking wasn't in itself a huge motivation. Please, don't let my remark become too much of a focus, I don't feel too strongly about it :) |
So.... firefox is doing something internally that's going to break vimperator? (Or already broke it? I'm on FF 51 and lots of things aren't working correctly anymore). |
@jrmiller82 Mozilla is making the decision to move away from XUL for their extension framework in favour of web extensions. This move will ultimately make it more difficult to customize nearly as much of the browser and will require lots of extensions to be rewritten. Their reasoning is that the current extension system makes it difficult to update the browser with new features as maintaining compatibility becomes increasingly more difficult. I'm not going to discuss the politics or the pros and cons of this move (that's already been done to death) but the fact of the matter is that it's being done. This means that ultimately Vimperator is going to have to be rewritten essentially from scratch to work with web extensions. This means for a while it's going to be rather painful as either we won't be able to use the extension or that whatever version works with the new ecosystem will be very lite in terms of feature set. Ideally the growing pains of WebExtensions gets re-mediated over a period of time and we have a new ecosystem, a new code base to work with (with whatever architectural improvements starting over can provide), and hopefully (near) feature parity in due time. |
So maybe someone who knows the ins and outs of vimperator and has some idea of what are the priority features should break down what rewriting vimperator would entail so we can get going. I was looking at the XUL/XPCOM vs WebExtensions article and it looks like very few of the useful features of vimperator are translatable to WebExtensions. |
So in the meantime, is there a vim-like plugin that does work with the new WebExtensions? Or gasp, will I have to use Chrome and vimium or something awful like that? 👎 |
@robehickman: I agree, and there are a number of misguided changes that Mozilla has undertaken in the past (a particularly bad one was the removal of some extension functionality that a program could get around using the OS). If users here would ask questions on the mailing list about development efforts I think we could affect some positive change. Something I have found that helps is asking for clear and concise justification for the changes that have been implemented. This should, hopefully, not be burdensome to the developers, as some justification should already exist. If not - then they have admitted to making changes for no reason. I think it important that the Mozilla developers be held accountable to their users in some way. The changes to extensions are perhaps the least troubling. An important example that I think reflects very poorly on Mozilla is their support for the page visibility API, which YouTube uses to enforce "pause when page not visible." I can't find the exact bug report, but they state that the API shouldn't be disabled because it would subvert user expectations. That's fine, but by that logic Firefox shouldn't block popups by default. Foundation members seem to be making things up as they go. |
@robehickman please read the scrollback — peoples, me including, have suggested some nice alternatives to Vimperator/Pentadactyl. |
@robehickman in fact, you can use this list on the main page of Qutebrowser, AFAIK the owner tries to keep the list current (in a way, he writes down any changes he becomes aware of). |
pretty happy with vim vixen... they came out of nowhere and it works really well. Also they are pretty active so it seems that they will get the rest working soon. Some of the things you mention are mozilla's fault, so you won't find a FF addon that supports them. edit: @robehickman I suggest you go to their github and ask for the features or somehow support them. They are doing a great job and that's how open source is built... with interaction ;) |
UI modification can still be done with userChrome.css /* Get rid of tab bar */ /* Get rid of URL bar */ |
@robehickman We found that autohiding the UI was a decent compromise - /~https://github.com/cmcaine/tridactyl/blob/master/src/static/userChrome-minimal.css - as it doesn't break anything. |
I would also like to throw my 2 cents in for those looking for a replacement in the form of a browser, mine is based on GTK and Cocoa (using native OS wherever possible) a VI compatibility layer is possible to program on top of it, check it out and let me know what you think: /~https://github.com/nEXT-Browser/nEXT |
I think we can close this issue now as it is clear that Vimperator will never be available as a webextension. Other projects were already mentioned and looking at their GitHub repos is simply amazing. They have more activity in a few weeks than Vimperator during the last years. Thanks for all supporters of Vimperator and please support other projects as well. Eventually there will be an extension as good and rich of features as Vimperator and maybe even better. |
Thanks @SammysHP! Yeah, it's sad to see vimperator go. Maybe someone at some point will resurrect it for one of the firefox forks that are keeping the old addon API. But it's good to see that people are picking up the slack elsewhere! |
Thank you all. Thank you Vimperator! |
So sad 😭 Vimperator is the only reason to use Firefox for many one. Really thanks you guys for these years. That means a lot to us. 🥇 🥇 🥇 |
Vimperator is No.1. |
It's sad. Vimperator is the only reason I stay with Firefox. |
Thank you so much!! |
I see this has been closed, long discussed and I don't personally use the add-on but I would like to add my two cents here as well. I see that some has argued against but I would tell to give PaleMoon some more love. I have switched to it so soon I learned about the Mozilla's announcement about dropping XUL and I haven't had any issues with it. Almost all of the add-ons I had been using on Firefox are compatible to some extend and for the most popular ones there are forks to make them fully compatible. In fact, I went even to the extreme to simply copy my FF's profile files (add-ons files; history, bookmarks, cookies db files etc) to a PM profile and it worked great "out-of-box", I got all my data and add-ons in PM exactly as it was in FF. The only issue was that PM promptly marked some add-ons like incompatible (it doesn't support Jetpack SDK) but around 90% of the add-ons kept working. Even so, some of the incompatible ones could be replaced with PM targeted ones (e.g. Adblock Plus for FF is incompatible, but there is a version from the same dev made for PM [Adblock Latitude]). Regarding HTML5 or other technologies, I haven't had issues with it. I can't recall any websites not rendering properly in it (maybe 1 or 2 in a thousand) and possibly it was due websites targeting specific browsers through the User Agent string (PM even has a setting to change it to a Gecko or FF compatibility mode). I have used websites with Websockets, HTML5 video etc in it with no issues. Ok, I have been long already. I just wanted to drop my experience with PM and tell to not give up giving it some attention and who knows this Vimp can live some more in it. |
Is this project dead? |
In some sense. There's no point in further development, given modern Firefox removed all the necessary API. See the discussion for alternatives. |
Sadly none of those alternatives feels even close to vimperator. |
I can recommend |
happy user of Vim Vixen here |
Well this is a huge disappointment :( Thanks for all the good days you gave us, have a good life |
So long and thanks for all the fish =( |
Vimperator is a great plugin and the only reason I've delayed switching to 57. Thank you for all your work! |
I have been using an older version of Vimperator (3.13.1) with Pale Moon. If I find the time (a big if), I may look into some more systematic testing of Vimperator features within Pale Moon. |
Have you tried Pale Moon's port of Pentadactyl? https://addons.palemoon.org/addon/pentadactyl/ |
Vimperator will be missed. It blazed a new trail in UI for a web browser, actually making the web comfortable to use. Tridactyl walks in Vimperator's footsteps. As of early 2019 I find it feature complete for everyday browsing. Highly recommended to those who mourn the mighty Vimperator. /~https://github.com/tridactyl/tridactyl |
vimperator is best of the best! Wish to have same functionality in future (currently use tridactyl as alternative). |
Sören Hentzschel has published a roadmap regarding multiprocess architecture and addon compatibility: https://www.soeren-hentzschel.at/firefox/so-geht-es-weiter-mit-dem-multiprozess-firefox-2/
(See also https://blog.mozilla.org/addons/2016/11/23/add-ons-in-2017/)
Especially two releases are important for Vimperator:
Firefox 53 (2017-04-18): Only WebExtensions allowed on AMO. This means that new developers cannot create new unlisted addons for signing.
Firefox 57 (2017-11-28): Only WebExtensions allowed in Firefox and AMO. Vimperator will not work with this release anymore.
Please note that the developer version of Firefox might drop support for XUL- and SDK-addons already some months earlier, maybe in June!
I have a really bad feeling about this. Considering the development activity during the last months I don't think that we will have ported Vimperator to a WebExtension in time. This process requires almost a complete rewrite of Vimperator and a lot of features aren't possible with WebExtensions at all. Don't get me wrong, but I fear that this is the death of Vimperator. :(
See also #211 for some more details, which focusses on e10s compatibility in general.
Chatroom
I created a chatroom on Gitter where we can organize and talk about the next steps:
https://gitter.im/vim-webextension/Talk
The text was updated successfully, but these errors were encountered: