mooz / keysnail

Allows you to bind commands to key sequences in Mozilla Firefox
http://wiki.github.com/mooz/keysnail
701 stars 56 forks source link

Stopped working with latest nightly 46.0a1 #189

Closed vikraman closed 8 years ago

vikraman commented 8 years ago

On debugging, it seems destructuring assignments in for..in comprehensions is removed. So things like let paths = [path for ([path, plugin] in Iterator(plugins.context))]; don't work.

Neither does let paths = [for (let [path, plugin] in Iterator(plugins.context)) path];.

This works let paths = [for (x of Iterator(plugins.context)) x[0]];

vikraman commented 8 years ago

https://bugzilla.mozilla.org/show_bug.cgi?id=1220564

Fironet commented 8 years ago

Yeah, stopped working on v46.0a2 when I updated.

luka-n commented 8 years ago

Can confirm.

runejuhl commented 8 years ago

I created https://github.com/runejuhl/keysnail/tree/issue/189 as a quick-and-dirty fix, and it seems to work. Can either of you confirm that it works for you as well?

millwood commented 8 years ago

It works for me on nightly after turning off signing checks. Signing is a PITA and will get worse.

millwood commented 8 years ago

We really need a signed fix for this. 46 beta is about to arrive and keysnail is broken by the latest "improvements" in javascript. The above does seem to work once signing is turned off.

millwood commented 8 years ago

"The override will be removed in the beta cycle, likely in b2 or b3." This is from mozilla - which means in a bit we can't run 46 Beta. And of course we can't run 46 when it is released.

millwood commented 8 years ago

I just tried 2.1.19 on 46.0B2 and it does not appear to work. Can't open the preference dialog.

runejuhl commented 8 years ago

@millwood I have a signed 2.1.10 which works in 47.0a2. You can get it here: https://github.com/runejuhl/keysnail/releases/tag/v2.1.10signed-alt

@mooz: Should we look for a new maintainer for keysnail (or fork it), or do you have plans of producing an official signed release soon?

millwood commented 8 years ago

OK - mooz did make a new release - but it's broken for me. the alternative works but I hope we don't fork - mooz has been wonderful for a long time and unless he want's to withdraw we should be grateful and helpful.

runejuhl commented 8 years ago

I agree. However, it will water out his control of keysnail if there's a need for unofficial branches and it will harm the userbase, espcially new users, if they have to go explore unofficial XPIs to get it to work.

An alternative might be turning the project into an organization or add people as collaborators so merging pull requests and doing releases doesn't hinge on mooz alone.

mooz commented 8 years ago

@millwood @runejuhl Sorry for my delay in writing back. I've been quite busy for my official work recently...

Course, I'll make a release in few days. Maybe, tomorrow.

Besides, I'll seek for a sustainable development policy including organization style suggested by @runejuhl. I don't want to be a single point of failure.

mooz commented 8 years ago

Just released v2.2.0 fixing this issue (thanks to @gifnksm). Closing this issue.

runejuhl commented 8 years ago

Thanks for that @mooz -- and thank you for keysnail. I'm at a point where I feel I'm seriously hampered if I don't use it. I'll see if I can't find some time to work on some of the issues.

Fironet commented 8 years ago

Thanks mooz! Slightly off-topic but while using an existing command on this page I notice Github hijacks certain keyboard shortcuts/keys. Wish there were a way for Keysnail to override such behavior.

caikechao commented 8 years ago

@Fironet mooz has developed a very useful plugin KKK for this kind of issue. You can find more plugins on the Keysnail wiki page.

Fironet commented 8 years ago

@kccai Great! Will try it. One question: in the script settings there is an area about site(s) to enable the script on, do I duplicate all three lines in the .keysnail.js file for each site I'd like to add, or just the plugins.options line?

If you want to kill shortcut keys of everywhere in GitHub, paste the code below to the PRESERVE area in your .keysnail.js file.

>|javascript|
plugins.options["kkk.sites"] = ["^https?://([0-9a-zA-Z]+\\.)?github\\.com/"];
||<
caikechao commented 8 years ago

@Fironet I copy down the first few lines of my .keysnail.js file here. Hope this can help solve your problem.

//{{%PRESERVE%
// Put your codes here
plugins.options["kkk.sites"] = [
    "^https?://([0-9a-zA-Z]+\\.)?github\\.com/",
    "^https?://([0-9a-zA-Z]+\\.)?facebook\\.com/",
    "^https?://([0-9a-zA-Z]+\\.)?google\\.com/"];
//}}%PRESERVE%
// ========================================================================= //
Fironet commented 8 years ago

@kccai Cheers. So I added this, and duplicated an extra line below the Github one for Twitter, then reloaded both the addon and the plugin yet Twitter still hijacks my keys. Any ideas?

In the past have also tried about 4 userscipts yet none have been able to disable Twitter's overrides. It's a bit baffling tbh.