Skip to content
This repository has been archived by the owner on Nov 15, 2017. It is now read-only.

Popup extends beyond screen at lower resolution (was "Small text in Options") #55

Closed
bjgood opened this issue Nov 14, 2013 · 27 comments
Closed

Comments

@bjgood
Copy link

bjgood commented Nov 14, 2013

Hi gorhill,
On some sites my wife goes to, mainly Facebook flash games, the httpsb popup can extend down below the taskbar. Even the scrollbar doesn't go down far enough to access all of the entries listed. Would including a Small text selection (presently Normal and Large) under Options help with shortening the length of the list?

BTW, I tried to upload a png screenshot but got the message that something went wrong...so I couldn't. Sorry.

Later...

Bob

@gorhill
Copy link
Owner

gorhill commented Nov 14, 2013

What is the screen resolution when the problem occurs?

@bjgood
Copy link
Author

bjgood commented Nov 14, 2013

Hi gorhill,
My wife likes the resolution to be at 832x624. She's very near-sighted so she likes the images to be large, as do I. This problem seems to only occur on Facebook flash games where hundreds of requests are shown happening. I've seen 1.2k on some sights.

Would it be possible to add a collapse feature for the requests from a domain thus shortening the matrix?

Thank you.

Bob

@gorhill
Copy link
Owner

gorhill commented Nov 14, 2013

Ok, I am going to try and test at that resolution and see what I can think of to fix this.

@bjgood
Copy link
Author

bjgood commented Nov 14, 2013

Thanks Raymond.

Bob

@gorhill
Copy link
Owner

gorhill commented Nov 15, 2013

Ok I have been testing using a 600px-height resolution and indeed the popup is extending beyond the bottom of the screen. I would have though chromium would have done a better job at fitting the popup within the screen.

I am exploring what can be done. Changing text size is not the proper solution as there will always be a case where some web sites generate so many distinct requests that it the problem will come back.

The real solution would be for chromium to properly size the popup, but I doubt that would be a priority for them. I will enter a bug for this on their side if not done yet.

I am trying to come up with something, fiddling with CSS, but nothing satisfying yet.

@bjgood
Copy link
Author

bjgood commented Nov 15, 2013

Thanks, Raymond, for looking into this. I tried fiddling with the css files, as well. :).

You have a great extension on your hands, Raymond. It is by far the best out there with reference to script control.

Best regards,

Bob

@gorhill
Copy link
Owner

gorhill commented Nov 16, 2013

I see there is a bug entered in chromium since Feb. 2010 about this:
https://code.google.com/p/chromium/issues/detail?id=36080

So far, trying to fix on my side with CSS resulted in a horizontal bar showing up, which is not good.

I will rename the bug to reflect more the real problem.

@gorhill
Copy link
Owner

gorhill commented Nov 20, 2013

Working on this one now, I guess the only sensible approach for now is to do as you suggested, that is to make the domain groups collapsible. There are complications though but addressable, like:

  • What if there is an explicit black or whitelist rule in one of the subdomain? We don't want to hide these. Solution: don't allow collapsing of group with at least one explicit rules underneath).
  • What about the visual which allow collapsing/expanding? I try as much to restrain from visual clutter. Solution: make the widget as subtle as possible.

@bjgood
Copy link
Author

bjgood commented Nov 20, 2013

Thanks, Raymond, for looking into this again.
What you've suggested sounds like a good solution. I would have the matrix appear as it does now (expanded), though. No use penalizing other people for us who are near-sighted. :).

Thanks again.

Best regards,

Bob

gorhill added a commit that referenced this issue Nov 22, 2013
gorhill added a commit that referenced this issue Nov 23, 2013
@gorhill gorhill closed this as completed Nov 23, 2013
@gorhill
Copy link
Owner

gorhill commented Nov 23, 2013

Fixed in 0.5.9.

@bjgood
Copy link
Author

bjgood commented Nov 25, 2013

Hi Raymond,
Thanks for the fix you provided, and it does help, but I don't think it went far enough. On Facebook flash games, like CoasterVille (any of them for that matter), you have two main domains, facebook.com and akamaihd.net. Just the subdomains for akamaihd.net can extend the length of the screen. Couple that with facebook.com's subdomains...and I still have problem. Why not allow for a collapse button for every domain that has subdomains? Allowing for that shouldn't pose a problem for non near-sighted folk since the matrix is fully extended when opened anyways.

Thank you.

As always, best regards,

Bob

@gorhill
Copy link
Owner

gorhill commented Nov 25, 2013

This is what I did. I suppose it might be too subtle, as I tried as much as possible to avoid visual clutter -- my primary concern for the UI of the matrix. There is a collapse/expand button for all domains with at least one subdomain, and there is a master collapse button for the whole matrix:

Location of collapse domain button

The button will appear fully opaque when the mouse gets close to that region (otherwise it is faintly rendered).

@bjgood
Copy link
Author

bjgood commented Nov 25, 2013

Hey Raymond,
I am aware of the "subtle" button to collapse or expand domains (as per your image above) that do not contain any plugin, script, XHR, frame or other information. But the domains that do contain this info do not have a expand/collapse button. Sometimes it's necessary to collapse a domain as per my example about akamaihd.net.

The only thing I'm not aware of is the location of the master collapse button.

Thanks,

Bob

@gorhill
Copy link
Owner

gorhill commented Nov 25, 2013

Ok I think I understand: you have at least one cell with an explicit rule (block or allow) under akamaihd.net?

@bjgood
Copy link
Author

bjgood commented Nov 25, 2013

Raymond,
Yes. As a matter of fact there are many, many explicit cells...which is why the blooming domain is so long.

Thanks,

Bob

@bjgood
Copy link
Author

bjgood commented Nov 25, 2013

Explicit is a relative term. My take, with reference to httpsb, is a cell that has numbers in it other than for the "image" category. If a domain has info, other than "image"" info, you can't collapse it.

Later Raymond,

Bob

@gorhill
Copy link
Owner

gorhill commented Nov 25, 2013

If no subdomain has any explicit rule (meaning no explicit block [dark red] or allow [dark green] cell), it should be collapsible. The numbers are there for information only, they don't prevent the collapsing, they will actually be accrued in the domain row once collapsed. So something is not working right if you have no rule anywhere in a subdomain. I suspect there is one but you can't see it because the menu extends too far...

One thing you can do is go to the "Rule manager" page, and see if there is any rule for a subdomain for akamaihd.net and facebook.net. If yes, remove the lock for it (and any other subdomain) and go back to the page for which you want to collapse the subdomains, open HTTPSB menu, click the "Clear temporary rules" icon, and see if you can collapse.

@bjgood
Copy link
Author

bjgood commented Nov 25, 2013

OK. I found the master collapse button located on the "all" header row, but it really doesn't help matters much.

Thanks again.

Bob

@gorhill
Copy link
Owner

gorhill commented Nov 25, 2013

Ok I made a modification locally which appears to work: the condition for whether subdomains are collapsible is less strict:

Before: For any domain, not a single one subdomain can be collapsed if only one has an explicit block/allow rule in one of its columns.

After: For any domain, only a subdomain which has an explicit block/allow rule won't be collapsible, other subdomains with no explicit block/allow rule will collapse.

@bjgood
Copy link
Author

bjgood commented Nov 25, 2013

I did as you suggested and afterwards I did find the collapse button on the akamaihd.net domain header line but the facebook flash game would not load. An akamaihd.net subdomain light red script cell (with a number in it...I assume an explicit rule) was required (I changed it to green) for the page to load.But afterwards the collapse button for akamaihd.net was gone. The full length of the akamaihd.net domain/subdomain was now showing with no way to collapse it.

BTW, if I change popup.js line 590 to this...

section.toggleClass('collapsible', subdomainRows.length > 0 /&& subdomainRows.children('.gdt,.rdt').length === 0/);

the collapse button appears on all domain headers lines thus allowing me to collapse them if I wish with no ill effects that I could find. Try it on a site with a lot of subdomains listed and you'll see what I mean.

Later...

Bob

@gorhill
Copy link
Owner

gorhill commented Nov 25, 2013

There is a new version which should be available shortly to the public. I changed the condition for when a subdomain is collapsible, it is more relax now. But the condition that if it has a rule it must not be hidden is the same, it is just now that peer subdomains without an explicit rule are allowed to collapse.

The change you did above would hide explicit rules from view, which is something I do not want.

Another approach to consider, if you create page-scoped rules, you would not have to worry much about whitelisting the whole akamaihd.net domain, since it still be blacklisted outside that page-scope.

@bjgood
Copy link
Author

bjgood commented Nov 26, 2013

Hi Raymond,

\The change you did above would hide explicit rules from view, which is something I do not want\

Yes, it did. But at least with that alteration I was able to collapse or expand all the elements of a domain to suit my screen real estate needs. The new version, though a vast improvement, still forces explicit rules to show which on Facebook flash game sites still can result in me not being able to reach all domains or subdomains. I wish I could with the new version...but I can't on some sites.

My question is...why is it so important that explicit rules need to be visible at all times? They're required for a page to render...fine...but what's to preclude them from being collapsed once they are checked or locked green?

You're a great coder and I'm highly envious but I also hold a lot of respect. Thanks for such a great extension. :).

Later Raymond...

Bob

@bjgood
Copy link
Author

bjgood commented Dec 5, 2013

Hello Raymond,
I sure wish you'd reconsider allowing for the collapse of all rules under a given domain. As it is now I can't even use HTTPSB because the matrix listing can extend below the bottom of the screen on many sites. Maybe adding a selection in Options to allow for this (discreet and out of the way)?

Don't be too pissed at me, dude. I'm just hoping to be able to use your great extension once again.

Regards,

Bob

@gorhill
Copy link
Owner

gorhill commented Dec 5, 2013

When the matrix is fully collapsed, only complete domains can be white or blacklisted. So this is the part that confuses me: how could you end up with having a rule in a subdomain?

This is the trade-off for using collapsed domains (which I use mostly myself nowadays), is that the user won't end up with explicit rules in subdomains, hence it shouldn't be an issue that the domain won't collapse if there is an explicit rule in one of the subdomain.

As stated before, hiding explicit rules will potentially lead to confusion, picture this scenario: a blacklist rule is hidden from view because of a collapse, page doesn't work, user can't understand why since all show whitelisted, etc. To me this is a very important rule: do not send mixed signal, i.e. do not show the extension is doing something while doing something else.

Unless there is a privacy concern, could you share with me specifically which of your subdomain has an explicit rule?

@bjgood
Copy link
Author

bjgood commented Dec 5, 2013

Raymond,
Under 0.6.0 where I altered your code at line 590 with this...

section.toggleClass('collapsible', subdomainRows.length > 0 /&& subdomainRows.children('.gdt,.rdt').length === 0/);

I was able to completely collapse a domain (with a lot of subdomains that I had already configured...making that row explicit) thus contracting the matrix list enough to allow me to reach the other domains listed below that I was unable to reach previously. I grant you, it was a pain re-expanding a collapsed domain looking for required elements that had been added by a subdomain of another domain further down the matrix list which prevented the page from rendering properly, but at least HTTPSB was usable for me then.

Changing the resolution of the monitor every time the matrix extends below the bottom of the screen is just not feasible...especially for my wife.

Facebook flash games are the main problem where I've seen as many as 1.4k subdomains showing. I have seen this on other sites as well.

BTW, most people, who use higher resolutions, would not need to use a domain collapse feature, but having it there for those who do need it would be nice.

Regards,

Bob

@gorhill
Copy link
Owner

gorhill commented Dec 5, 2013

Can I have a typical URL for your case? I want to experience first-hand what you are experiencing.

@bjgood
Copy link
Author

bjgood commented Dec 5, 2013

Sure. Here are a few. Just allow for all plugin, script, XHR, frame, and other cells for each subdomain of a domain (except for the subdomains which begin with ads)...

http://www.wunderground.com/q/zmw:24228.1.99999

http://www.newegg.com/

This is at resolution 832x624 (Ati open source driver). On my Desktop the matrix extends off the screen. Domains Google, akamaihd, Facebook, cloudflare, weather, and others should be listed.

No point giving you a Facebook flash game link since you've got to build it up from scratch, a a big offender is a game called CoasterVille.

Best regards,

Bob

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants