eyedeekay / I2P-in-Private-Browsing-Mode-Firefox

I2P in Private Browsing mode for Firefox, built using Webextensions and Contextual Identities
https://eyedeekay.github.io/I2P-in-Private-Browsing-Mode-Firefox/
MIT License
63 stars 10 forks source link

Interfering with theme #105

Open point-4ward opened 3 years ago

point-4ward commented 3 years ago

Hi.

Only a minor issue (I think!), but I use a dark theme for my firefox. With this i2p addon enabled it themes i2p windows to dark blue (which I presume is desired behaviour), but it defaults other 'normal' windows back to the default firefox theme rather than the theme I had set.

The behaviour I see is that when I very first start firefox my selected black theme is in place for a few seconds, then as soon as the i2p addon starts the theme reverts back to the 'default' light theme that firefox comes with when you first install it. It's actually slightly weirder than that because I have completely disabled the default firefox theme, but it still seems to fallback to it when the i2p addon is loaded. Then opening i2p pages turns the theme blue, then dropping back to clearweb pages reverts to the default light theme.

Disabling the i2p addon restores my dark theme immediately. Re-enabling the addon immediately drops back to default.

Of course, I would like to have my dark theme for clearweb, and the blue for i2p.

The only other issue I found that mentiond this was: https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox/issues/38

That issue was closed as fixed.

Thanks for looking.

eyedeekay commented 3 years ago

Shoot. It must still be buggy. Thanks for the report, I'll have the issue fixed in the next version.

eyedeekay commented 3 years ago

98% fixed in: https://i2pgit.org/idk/I2P-in-Private-Browsing-Mode-Firefox/-/merge_requests/20

Cutting a new release sometime next week.

point-4ward commented 3 years ago

Ace, will try and test it out as soon as it's released 👍

Midou36O commented 2 years ago

It still happens to me, firefox goes to the default theme for normal tabs when i2p changes it :P

eyedeekay commented 2 years ago

Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1415267 Forum post: https://discourse.mozilla.org/t/is-there-a-known-workaround-for-undefined-behavior-in-theme-reset/88488 Until I can figure out a workaround or Mozilla fixes the bug it will switch to the default theme when you leave an I2P tab.

eyedeekay commented 2 years ago

Leaving this open because what I've done to fix it is really very clunky. It must be if this is not acceptable behavior for theme.reset but I think it's good enough, as a workaround, for now. Like it will work, but it's by definition going to involve a noticable delay while the theme is reset and Mozilla's probably going to yell at me about it next time I come up for manual review. I'm leaning 60% this is going to be annoying for me in the future. But I actually am not abusing the API's that I'm using here in that I am not using them for malicious behavior, I'm trying to use them to comply with user's expectations and my own definitions of what this plugin's behavior should be. i.e. it should successfully reset the stupid theme to the one the user actually freakin' enabled. Which apparently, requires disabling, then re-enabling the theme, which is, apparently, rate-limited. You have to wait, apparently, about 2 seconds to re-enable the theme successfully. 1 second is not enough. 5 is annoying. However, it's the only thing that actually fully restores the theme.

eyedeekay commented 1 year ago

Damn. That's what I was afraid of, it's only half a fix. The theme survives the rest of the browsing session, but it doesn't get applied in the right order when browsing is restarted. I'll need to work on it some more.

BrenBarn commented 1 year ago

This behavior is extraordinarily hostile to users. I installed the extension and it screwed up the look of my browser. I uninstalled it, and the screwups remain. Can you provide information about exactly which browser settings this extension modifies, so I can reset them and get the previous browser look and feel back?