yfdyh000 / tabutils

Tab Utilities's compatibility fixes release.
https://addons.mozilla.org/firefox/addon/tab-utilities-fixed/
93 stars 13 forks source link

Back/forward dropdown menus do not work #68

Closed Jellby closed 8 years ago

Jellby commented 8 years ago

When right-clicking or holding the back or forward arrows, a dropdown menu appears with the current tab's browsing history; however, selecting the items here does nothing.

I created a minimalist profile and installed this extension. With it disabled, the menus work as expected, with it enabled they don't, so I believe this is the culprit.

EDIT: Sorry, I just realized this is probably duplicate of #62, but it was not obvious from the title ;)

yfdyh000 commented 8 years ago

Yes, it is a known issue since Firefox 43.

viznov commented 8 years ago

Do you plan to fix this issue, and when approx, if yes?

yfdyh000 commented 8 years ago

I have to rewrite some code, but has not been successful after many attempts. https://hg.mozilla.org/mozilla-central/rev/ca984908f2e5

viznov commented 8 years ago

It's a bad news for me, I like your TabUtils very much. Thank you!

White-Tiger commented 8 years ago

well.. the most obvious fix is to replace

  TU_hookCode("gotoHistoryIndex",
    ["gBrowser.selectedTab", "tab", "g"],
    ["gBrowser", "tab.linkedBrowser", "g"],
    [/(?=let where)/, "let tab = gBrowser.mTabs[aEvent.target.parentNode.value];"]
  );

with

  TU_hookCode("gotoHistoryIndex",
    ["gBrowser.selectedTab", "tab", "g"],
    ["gBrowser", "tab.linkedBrowser", "g"],
    ["{", "let tab = gBrowser.selectedTab;"]
  );

mainly, aEvent.target.parentNode.value isn't valid anymore (the .value)

yfdyh000 commented 8 years ago

@White-Tiger Thank you, it works! But it get incorrect behavior for "Session History Menu", I hope it works. Waiting for further research.

I may not be interested to study it in recent. Maybe I should ignore this point, just a perfectionist.

White-Tiger commented 8 years ago

which "Session History Menu"?

yfdyh000 commented 8 years ago

TU Options - Mouse - *-click - On tabs: Session History Menu.

White-Tiger commented 8 years ago

and what kind of wrong behavior? The only difference I have (with or without "fix") is that the later also works for that menu... otherwise they seem to behave the same

yfdyh000 commented 8 years ago

Click on an inactive tab, it get the menu for activity tab always.

White-Tiger commented 8 years ago

that happens even without the change.. so it's a different issue

yfdyh000 commented 8 years ago

Works fine in Fx28 TU 1.6pre21. I think this change is changed the definition, it should get the click event target instead of the current tab.

viznov commented 8 years ago

Please release plugin fix if it's possible.

White-Tiger commented 8 years ago

@yfdyh000 well.. might not work for an old Firefox, yes, but the "Session History Menu" always opens for the active tab in newer versions anyway. So the menu needs to be fixed as well (and probably shouldn't use gotoHistoryIndex() or set the gBrowser.selectedTab temporarily) Code that rewrites version dependent code like this, should use some kind of safety checks and versioning itself. (also means to document which version requires which code)

Thomas279 commented 8 years ago

@White-Tiger can I insert your replacement manually - and where do I find it in the source code?

yfdyh000 commented 8 years ago

@Thomas279 https://github.com/yfdyh000/tabutils/search?q=gotoHistoryIndex

Thomas279 commented 8 years ago

@yfdyh000 thanx - I forgot how to search the code @White-Tiger THANK YOU - IT WORKS !

tedych commented 8 years ago

Yes, White-Tiger's solution works. Sometimes it's amazing how the official releases of things don't get fixed on time for such small things. I moved back to TMP because of this, and despite this fix works, I'll stick with the competitor until something breaks there. Shouldn't "force" users to tinker around and manually craft fixes in code found in issue trackers. And I found this in the AMO comments, by accident. And FF could stop supporting unsigned extensions at some time. It was rumored to happen earlier, not as of yet. Cannot tell for how long.

White-Tiger commented 8 years ago

my "solution" only fixes it for newer versions as yfdyh000 already mentioned. As it breaks some functionality of older Firefox versions. Tab Mix Plus isn't an option for me though... I require the "restart tab" (unload tab) feature currently present in Tab Utilities which isn't present in Tab Mix Plus... And TMP is bloated, thus slower.

viznov commented 8 years ago

Could anyone explain where can I replace original code with White-Tiger's one? Need I file tabutils.js or maybe another? I can't find tabutils.js in my profile folder.

tedych commented 8 years ago

Ok, but why favor old versions (very old if 28 is the baseline) and not newer(st)?! It sounds a bit illogical to support old versions purposefully but not the latest ten or so. That said, I too want to use this lighter addon, but until and if TMP starts to act on me, I'll stick with it. Few months ago I ditched it after troubleshooting a slowness where a different addon proved to cause the problems. TMP does not feel slower per se, it only (maybe) might cause lags when FF accumulates 1-2 weeks or more, of uptime, eventually.

@viznov, decompress the manually downloaded addon (right click - save link as...) after renaming it to .zip. Then you will find the 140KB js file in the corresponding content folder. Then repack the same folder structure back to ZIP and rename back to XPI. Install manually in Addons in FF.

viznov commented 8 years ago

@tedych, thank you, it works!

Guil211 commented 8 years ago

I modified the xp according to above instructions (download, convert xpi to zip, get the js file, convert to txt to edit in notepad, copy/paste white-tiger code in place of existing code, save file and rename from txt to js, overwrite the js file in the zip, re-convert zip back to xpi), but I can't even try it because FF thinks "it appears to be corrupt" and won't let me install. Did I miss something? How do I fix that?

Also, yfdyh000 it would be great if you could post the White-Tiger-modified version of the extension on the Mozilla website (maybe you've started this process already, I don't know), or at least here on github so guys like me don't tinker with programming stuff they don't understand in the slightest.

Cheers

yfdyh000 commented 8 years ago

I was lucky enough to fixed it today, after several failed attempts. Waiting for AMO review.

Guil211 commented 8 years ago

Much appreciated yfdyh000! Just installed it, and so far so good, I've got the browsing history back! I haven't had the chance to test it further, but I'll post here again if I see anything. Big thanks to you and White-Tiger!

yfdyh000 commented 8 years ago

Note: the "Always show the menu" feature of Session History Menu is not work for now. Although seem very few people use the Session History Menu feature (and not including me).

yfdyh000 commented 8 years ago

AMO approved. https://addons.mozilla.org/firefox/addon/tab-utilities-fixed/