Fedora Start constantly hijacking Firefox Home page!

I’ve set Firefox to use default Home page and Fedora Start page keeps hijacking the setting. And I set it back and I know for a fact it’ll hijack it again one day. Can someone fix this nonsense and make it stop? Manjaro did this crap to a point it pissed me off so much I removed Manjaro and never used it again.

This only applies to Firefox obtained from Fedora RPM repository and not Snap or Flatpak which use stock unmodified app. Can someone fix this nonsense because it’s insanely annoying.

I do not see this happen. I wonder what is difference in our setups.?

Are you using the rpm or flatpak of firefox?

What are the exact steps that reproduce the issue for you?

1 Like

Did you operate the setup for both Homepage and new windows and for New tabs option?

RPM, Flatpak is not affected since it’s serving unmodified binaries.

There are no steps to reproduce. I set it to Default Firefox home and it just randomly reverts back to Fedora Start as home page.

Manjaro did the exact same bs. Exact!

I also use the RPM (though on silverblue), but this is part of the firefox profile and should not be affected by any updates, especially since it lives in your home directory. Are you perhaps creating new profiles, new users or fresh installations regularly?

Isn’t Silverblue by default using Flatpak apps?

Most but not all:

$ firefox --version
Mozilla Firefox 139.0.4

There are two places I see that you need to make changes.

  1. Start firefox
  2. Go into settings
  3. click on Home section
  4. Change Homepage and new windows settings - I have my home page URL
  5. Change New tabs - I have Blank page

What do you have?

I use a custom startpage that is self-hosted, but I’ve never had this issue, and I have my profile for at least a year by now. I just looked through some other posts around here, do you use firefox sync? Similar issues apparently appeared a while back, e.g. on bugzilla: 2020436 – Upgrading firefox package reverts home page setting from about:home/about:newtab to https://start.fedoraproject.org/

As well as the sync stuff, this comment is interesting: 2020436 – Upgrading firefox package reverts home page setting from about:home/about:newtab to https://start.fedoraproject.org/

If you look at about:config, is the ‘browser.startup.homepage’ key printed as bold when contains your values (about:home)? If it’s bold it means user defined value and should be kept. If it’s printed by regular font it’s default value and it’s supposed to be overwritten by update

It could explain the difference in reported behaviour here.

@barryascott 's homepage is a user-defined home URL. That’s not Firefox’s default so it’s preserved on upgrades.

But @rejzor 's homepage is the Firefox default. It’s not considered “user-defined” by Firefox and it gets overwritten in upgrades.

This person suggests a workaround:

I’ve thought of another workaround: I set my home page to about:home# (so that it’s no longer set to the default option) and it just survived one Firefox update

No. Do you?

I think the question really needs to be asked of @rejzor as the person experiencing the problem.

It appears to be an issue related to firefox’s syncing across systems with different system defaults. It’s an interesting corner case where firefox’s sync feature undoes what appears to be an unneeded customization by comparing user settings across systems.

The reason why it seems to happen sporatically is because of how firefox sync works. Sort of impossible for Fedora to fix, as its Firefox sync that is wiping out the local setting trying to normalize across multiple systems.

The workaround appears to be to set a custom url in the settings to about:home# which will act as a user override that will apply to all systems, instead of getting confused by the difference between what defaults mean across systems.

I should note, this would also come up on any sort of institutional managed machine that uses systemwide firefox settings to set an internal homepage default different from Fedora.

All Fedora is doing is setting a set of default prefs that apply only if neither a systemwide pref is defined nor a user supplied pref isnt seen. Firefox is just doing a simple ordered merge of a set of pref config paths. Whats really interesting is Firefox also lets the systemwide prefs lock out user overrides, as a design feature for sysadmins to make use of.

Firefox sync doesn’t seem to understand how to deal with the idea of differing systemwide prefs across systems. My guess is sync doesn’t “see” the systemwide prefs and and just has knowledge of the user profile overrides without the additional context of what the systemwide prefs are doing differently from one system to another.

The settings are NOT different on my systems. They ALL use Firefox Home for home page. Which is the default for Snap and Flatpak. Most distros don’t even modify Firefox even in DEB or RPM form. It’s only Manjaro and Fedora who stuck bunch of their own bookmarks into it and change home page and behold, I only had exact same problems with both where home page keeps getting hijacked back even though I set the home page to Firefox Home. I’ve used Manjaro years ago and Fedora now has same problem so far apart in time. Wtf?

Can you at least confirm that you have firefox sync enabled, before I try to explain further to ensure what you are experiencing is related to the sync problem as documented in the bug reports.

Yes, I’m using sync on all systems that use same settings.

Did you change things significantly in user.js? I did that once trying out arkenfox and it behaved like this until I started with a fresh profile

Okay, now that we’ve established you are probably experiencing what I am describing..

Let me try to clear up a misunderstanding.

When you say “the same settings” you are talking in the language of Firefox “user profile preference overrides”

But Firefox allows and documents as a feature the concept of “systemwide prefernce overrides” that are merged with user supplied preference overrides" according to some precedent rules. User overrides are applied last after sytemwide overrides.

The Firefox sync feature doesn’t seem to work well when “systemwide preference overrides” are different across different systems.

Let me use my work system, which is a Fedora based respin as an example of what I’m talking about concerning systemwide overrides.

The fedora firefox package includes a systemwide preferences file
/usr/lib64/firefox/browser/defaults/preferences/firefox-redhat-default-prefs.js

When firefox starts up the overrides defined in the /usr/lib64/firefox/browser/defaults/preferences directory get applied first.

But I also have system administrator preference overrides in /etc/firefox/defaults/pref created by my employer that redefine the browser homepage to a work specific default, different from the fedora packaging default.

This directory of systemwide preference overrides under /etc/ gets applied after the stuff down in /usr/ because the firefox systemwide pref overrides in /etc/ represents local administrator intent, which should obviously override package vendor intent.

Then after that, my user prefence overriders which are stored in a profile specific directory under ~/.mozilla/firefox are applied.

So on this system I see the firefox startup home page defined by a file down in /etc/ and not the application default, nor the fedora packaging defined override.

With me so far?

So when I fire up firefox with a fresh user on this system and check the about:config in the browser what I see for browser.startup.homepage is the start up page defined by the system administator from the overrides defined in /etc/. I check my user prefs.js I see that there is no browser.startup.homepage override defined in the scope of my user profile.

I can now set a user defined preference override using about:preferences to Firefox homepage and choose “Firefox Home (default)” and I can confirm in about:config that the value of browser.startup.homepage has changed to about:home. I check my user prefs.js I see that there is now browser.startup.homepage override defined in the scope of my user profile.

From Firefox sync’s point of view there is no user profile override to sync until there is something listed in browser.startup.homepage in the user profile’s preferences file.

Now on the same system if I install the firefox flatpak from flathub… which does not see the system administrator supplied systemwide pref override

s nor does it see the packaging systemwide it does not have a browser.startup.homepage override defined.

If I try to sync these two firefox profiles using Firefox sync… one has browser.startup.browser defined and the other does not, which wins? If sync was working correctly shouldn’t all the profiles across all the systems now include the browser.startup.homepage override with the about:home defined? I’ve made an explicit user override request on one system, and sync should respect that and apply it to all synced systems right?

That’s not what is happening. Firefox Sync sees the value of about:home as special and strips it from the user profile being synced, seeing it as redudant because it matches the application default.

This really appears to be bug in how Firefox sync works, its stripping out some user supplied overrides because sync doesn’t seem to realize that system overrides are allowed by the design of Firefox, and is making assumptions that user supplied overrides are redudant in some situations and strips them out.

@rejzor

The workaround for this weird Firefox sync behavior is to set a custom homepage URL that firefox does not recognize as an application default, and thus will no longer strip it as redudant while syncing.

For example, about:home# is functionally equivalant to aobut:home but Firefox sync shouldn’t curently try to strip it as as redudant/unnecessary preference override. This is the best documented workaround for the problem at present.