aminomancer/uc.css.js

[BUG] urlbarTabUrlIndicator.uc.js isn't working for me

Closed this issue ยท 15 comments

Hi @aminomancer, hope everything is fine with you and yours.

Yesterday, after FF Nightly' update, your beautiful urlbarTabUrlIndicator.uc.js 2.1 stopped working, it's not working anymore for me.

Just remembering, your last fix was more than one year ago (#67).
And for a long time it worked like a charm.
But yesterday, after Nightly update, if I mouse-hover any tab, nothing happens, the urlbar is empty.

There is always the possibility that I'm doing something wrong. But before reporting the bug, I did my homework, I tested your urlbarTabUrlIndicator.uc.js in a clean test (different device, fresh latest FF Nightly install, new profile, no add-ons, no CSS, no other JS scripts, no about:config changes, no default setting changes, untouched). And your urlbarTabUrlIndicator.uc.js works flawlessly in non updated FF Nighties. Unfortunately, yesterday Nightly update broke it, at least for me.

Hope you can help.
As usual, thank you in advance!

Hmm... it's working fine for me on the latest nightly. Why would the urlbar be empty? Even if the script was not working, it wouldn't make the urlbar empty. It just displays a tooltip on top of the urlbar, which continues showing the URL of the page as normal.

image

(hovering over tab 1 while on about:config shows the URL for tab 1 in the urlbar)

Are you using browser.tabs.cardPreview.enabled?

Oh, maybe you need to update fx-autoconfig?

Yeap, you're right, it's working. But when I reported the bug, it wasn't working. It started working again only a few days ago. Before closing this issue, I decided to monitor the situation, in case the bug appeared again. But your script has been stable, no bugs, it really seems that works again perfectly, so I think this issue can be closed. Thank you for your time and dedication!

I still think that the latest versions of FF Nightly are affecting some of your js scripts. For example, your tabtoooltipnavbuttons.uc.js has an issue, few days ago its buttons (arrows, reload) stopped working. I did not report the bug because I'm waiting to see if with new versions of FF Nightly the buttons start working again.

Ah, there was probably a Nightly update which broke something and then it was quickly fixed. That happens pretty often with the Nightly channel.

As for tab tooltip nav buttons, no that one was really broken lol. I don't use all the scripts myself so I don't notice when they're broken. Anyway, I fixed it in 9ca48d9.

Great @aminomancer ! You fixed tabTooltipNavButtons.uc.js. Thank you!

However, in my tests (and sorry if I'm making mistakes), unfortunately both js scripts (urlbarTabUrlIndicator.uc.js and tabTooltipNavButtons.uc.js now are not working together. If I'm not wrong, now both scripts are conflicting. If I disable tabTooltipNavButtons.uc.js then urlbarTabUrlIndicator.uc.js works.
I use the word "now" because both js scripts always used to work together, I never saw conflicts.

Just to be clear, tabTooltipNavButtons.uc.js works, it doesn't suffer conflicts from other js scripts.

But urlbarTabUrlIndicator.uc.js is not working if tabTooltipNavButtons.uc.js is enabled. urlbarTabUrlIndicator.uc.js seems to suffer conflicts from tabTooltipNavButtons.uc.js.
When tabTooltipNavButtons.uc.js is disabled, urlbarTabUrlIndicator.uc.js works.

I don't see how they could work together. tabTooltipNavButtons has always had this call at line 259:

gBrowser.tabContainer.removeAttribute("tooltip");

Which completely turns off the tab tooltip which is what the urlbar tab url indicator is based on. Maybe you modified the script?

There's also a visual bug where the tab url indicator appears on top of the nav buttons if you hover a tab that's too close to the urlbar. I'm not sure how you could have circumvented this issue.

Screenshot (63)

Anyway if you don't mind the visual defect, you can technically use them together starting with v1.2.7 in 6798dc2. But you will run into the issue in the above screenshto.

Hi @aminomancer!

Please let me tell you that I totally love your two java scripts, I'm really addicted to them, so since yesterday I invested lot of time doing lot of tests and research.

Unfortunately, I couldn't make work (together) the latest versions of your two java scripts.
Firstly, I thought it could be a problem with FF Nightly. So I tested your two scripts (latest versions) on a clean FF Standard (no add-ons, no about:config settings, no CSS, nothing), as usual tabTooltipNavButtons.uc.js worked flawlessly, but (as usual) urlbarTabUrlIndicator.uc.js worked only when I disabled tabTooltipNavButtons.uc.js.

Then, I tried to understand how I used both java scripts in the past, together, without conflicts. I almost know nothing about java scripts, but I invested time and I needed a solution, because I wanted to have again both scripts working together. So I remembered that I have backups of my FF customizations. And there I discovered that your urlbarTabUrlIndicator.uc.js never was a problem, and I always was able to use the latest version from your repo. Few days ago, a FF Nightly version broke urlbarTabUrlIndicator.uc.js (that's the reason I opened the present issue), but recently another new FF Nightly version fixed the problem.

However, I also discovered that I was not using your original tabTooltipNavButtons.uc.js, but a customized version of it. I remember that long time ago I took tabTooltipNavButtons.uc.js from the repo of another user. That guy kept your name on the script, but he made customizations, and nothing was explained on the "script description". That guy has a great reputation, so I copied and pasted the script, convinced that it was the original one, untouched, from your repo. And that's the reason why, for a long time, I was able to use tabTooltipNavButtons.uc.js and urlbarTabUrlIndicator.uc.js, at the same time, together, without conflicts.

That customized tabTooltipNavButtons.uc.js is based on your 1.2.3 version.
However, and as you know, days ago a new FF Nightly version broke my customized tabTooltipNavButtons.uc.js. Thanks to your kind and quick help, you fixed tabTooltipNavButtons.uc.js on your 1.2.6 version. So, today, I took your 1.2.6 fix (only the fix, not the whole script), and carefully I inserted inside my customized tabTooltipNavButtons.uc.js (based on your 1.2.3 version). Here is the new customized script. And... it worked!... now my customized tabTooltipNavButtons.uc.js and your urlbarTabUrlIndicator.uc.js are working again!
As I mentioned, my java script knowledge is almost zero. So I'm stuck with the customized 1.2.3 version of tabTooltipNavButtons.uc.js, unfortunately I don't know how to adapt your 1.2.7 version to my customized need, and worse, I have no idea how to make your 1.2.7 work together with your urlbarTabUrlIndicator.uc.js.

Further relevant explanations (logic context):

I use FF Nightly, with a CSS customization, it's an onliner model, very minimalist, so I don't have navigation buttons at the navbar. That's the reason I need tabTooltipNavButtons.uc.js. In addition, for me is much more functional to have the navigation buttons under the tab! I have these buttons where I need them, and only when I need them!

However, the tooltip of your original tabTooltipNavButtons.uc.js is too big for me, I just need the navigation buttons, and nothing else. That's the main reason I preferred the customized version of tabTooltipNavButtons.uc.js. Basically, this customization keeps only the navigation buttons, centralizing a small tooltip under the tab, tooltip that appears only when a tab has a navigation history, showing only the active navigation buttons. I prefer this customized version because is smaller, less intrusive, and the tooltip appears only when I need it, showing only what I need.

Your urlbarTabUrlIndicator.uc.js is the perfect combo for my customized tabTooltipNavButtons.uc.js. Instead of having the big tabTooltipNavButtons.uc.js tooltip, if I need to see any url tab, I just mouse-hover the tab, and its url appears on the urlbar... perfect!

Why am I explaining all this to you?
I understand that you're not using these two scripts, and probably you don't have interest or time for working on these two scripts.
But if by chance one day in the future, if you decide to work on these two js scripts, please here is my suggestion/request:

  1. Make one script, unifying your two scripts

  2. On tab tooltip, show only navigation buttons (appearing only if a tab has a history navigation)

  3. Show the url tab at the urlbar, when a tab is mouse-hovered

Thank you!

I already made the scripts compatible, like I said above. There is no need to use an old or modified version of the script. Do you not have fx-autoconfig? There are pretty detailed installation instructions in the readme.

Anyway, I tested the modified version together with this, and the changes it makes aren't really relevant to use with urlbarTabUrlIndicator. It does allow use with urlbarTabUrlIndicator for specifically tabs that don't have a back/forward button or aren't loaded, but the new version I uploaded yesterday allows the indicator to show on all tabs.

It still stuffers from the visual bug I posted above, where the indicator appears on top of the nav buttons in some circumstances. For example, open a tab and do some navigation in it so it has a back or forward button. Then open a second tab but don't do any navigation in it. Then go to tab 1, hover tab 1 so the nav buttons appear, then move your mouse cursor over to tab 2. The nav buttons stay open on tab 1, but the urlbar indicator appears for tab 2, showing on top of the nav buttons.

That script also has a serious error where movePopup has been removed, but the movePopup() call still exists, so will throw an unhandled exception.

Basically, this customization keeps only the navigation buttons, centralizing a small tooltip under the tab, tooltip that appears only when a tab has a navigation history, showing only the active navigation buttons.

Ummm, no it doesn't? Look at line 210. That's the title. If the text is hidden then you must have some CSS doing that. But obviously the same CSS will work for any version of the script, not just this modified version. It only has two modifications, and it lists both of them:

// Customization: Popup appears only on loaded tabs and only if back or forward are active
// Customization: Popup centralized under tab (use pref browser.tabs.tabMinWidth = 75 for better match on tab min width)

As for your request, I don't have much time to make bespoke requests, unless they are useful to many people. When I made this repo, I had a lot more free time, but it's not the case anymore. It's already taking a lot of my time just to keep these scripts up to date, and I only do that because I feel bad for people who have already grown dependent on my scripts and are inconvenienced when they stop working.

I use FF Nightly, with a CSS customization, it's an onliner model, very minimalist, so I don't have navigation buttons at the navbar.

If you have such specific needs that you can't use the software unless it's heavily modified, then you should learn how to make these modifications yourself. If you're gonna be picky about these things, then you won't be able to rely on other people. That's why I learned how to write code, since I could not rely on others to make their software the way I want it to be. If I wasn't able to write code, then I just wouldn't be the kind of person who should be heavily customizing software.

That's the way this stuff goes. The browser is not intended to be customized to this extent. Firefox does not provide any official support for it. So, updates are going to break customizations all the time. Something in this repo breaks just about every week, sometimes every day. If we're gonna customize the browser in ways it wasn't meant to be customized, then we need to be capable of writing code in order to maintain these customizations and fix them when they break.

FYI I added the customizations from the linked script to v1.2.8, behind prefs. Check the new prefs in the script's config object.

@aminomancer, thank you for all your work and help.

Again, unfortunately, I can't make work your latest urlbarTabUrlIndicator.uc.js together with your latest tabTooltipNavButtons.uc.js.
And yes, I'm using the latest fx-autoconfig.
As I mentioned yesterday, I tried everything on my tests, instead of Nightly I used a FF Standard clean install, untouched, no add-ons, no CSS, no about:config settings etc... and couldn't make work your two script together. Surely is my fault, some mistake from side, but I just don't know why is not working for me.

Perhaps is a broken-phone between us?
As I explained yesterday, I use urlbarTabUrlIndicator.uc.js to see the tab url at the urlbar, when any tab is mouse-hovered. Your latest tabTooltipNavButtons.uc.js shows tab urls, but at the tab tooltip, not at the urlbar. For me, urlbarTabUrlIndicator.uc.js only works when I disable tabTooltipNavButtons.uc.js.

Considering my another explanation from yesterday, I only want the 3 navigation buttons at tabTooltipNavButtons.uc.js. That's the reason I use the customized version, which keeps the 3 navigation buttons, while removing everything else from the tooltip (with a small CSS). And that's the reason I need urlbarTabUrlIndicator.uc.js, in order to see the tab url. Personally, I do like to see the tab url at the urlbar, and not at the tab tooltip.

Yeap, you already know all this, sorry for repeating arguments, I'm just trying to be clear, perhaps is a mistake from my side, or perhaps is a broken-phone between us, but I can't make work together the latest versions of your two java scripts.

You did a great work at the latest tabTooltipNavButtons.uc.js version 1.2.8, and I'm considering the possibility of adopting this version. Honestly I still don't like the big tab tooltip, but I can see the tab url at the tab tooltip. And as long I don't learn java script, I can't customize my own scripts, so I must pay the price of using java scripts that are not perfect for me. You're right about customizations, I learnt CSS and I can keep updated my customizations exactly as I need. Unfortunately I know nothing about java script, I only use your two scripts, so it's can of useless for me to invest hours learning java script only for two scripts. Your case is different than mine, you have tons of java scripts on your model, my model is very minimalist, I only need your two java scripts.

As an option, I have the customized version, which is old, which have script errors, is a kind of Frankenstein script etc, but is working for me, and also is working together with your urlbarTabUrlIndicator.uc.js. Important to mention that I use the customized version with a small CSS, so you're right, I apologize, I didn't explain that yesterday.

These scripts are only compatible with Nightly. They will not work reliably on Release builds.

Unfortunately, neither in Nightly, we cannot make your two java scripts work together.
I say "we", because I'm part of a kind of social community, which uses a customized FF (minimalist CSS + your two java scripts).

We tested your two java scripts in FF Standard/Nightly, always clean installation, different devices, testers in different countries etc... and we failed, we cannot make your two scripts work together.
I repeat, surely the error is ours, we're doing something wrong, but we simply do not know why we cannot make your two java scripts work together.

We have already taken too much time from you, we do not want to abuse more of your patience and kindness. We'll continue testing and finding a way to make your two java scripts work together.

In any case, we have three alternatives: 1) One solution is to continue using our current "Frankenstein" customized version of your two scripts (which works for us!); 2) Another solution is to not use your urlbarTabUrlIndicator.uc.js and to start using only your latest tabTooltipNavButtons.uc.js; and 3) To find a Dev to unify your two scripts, but keeping only the three navigation buttons at the tabtooltip in tabTooltipNavButtons.uc.js.

Thanks for everything!