yokoffing / Betterfox

Firefox user.js for speed, privacy, and security. Your favorite browser, but better.
MIT License
5.22k stars 137 forks source link

WhatsApp web QR code not loading for one install #151

Closed RainmakerRaw closed 1 year ago

RainmakerRaw commented 1 year ago

I'm using the same modified user.js between my machines (including x86 desktops running Linux, and my MacBook Pro). On one of the Linux boxes running Fedora 37 (6.1.7-200.fc37.x86_64), WhatsApp web won't load the QR code required to sign in using my phone. It just spins for eternity and never loads. My MacBook Pro using the same user.js works perfectly with WhatsApp web, so I know (in theory) it shouldn't be the user.js at fault.

I've tried disabling all extensions (restarting into troubleshooting mode), to no avail. If I make a new profile on that machine, the page loads the QR code just fine. Having narrowed it down to the particular profile, I deleted prefs.js and restarted Firefox, thinking it was an old changed pref that didn't get modified back by user.js or whatever, but it still doesn't work. It's a pain to make a new profile (again), so I'm wondering if anyone knows what config tweak may have broken this?

I'm running Firefox 109.0-4.fc37. Extensions are uBlock Origin 1.46.0, Bitwarden 2023.1.0, h264ify-embed-fix 1.1.2, Simple Translate 2.8.0 and SponsorBlock for YouTube 5.1.12.

I have Betterfox v109 with the following overrides. Note that for ease, I have both macOS and Linux tweaks in there, so I can back up a single user.js to my NAS and offsite, and I enable/disable them as required on the particular machine:

/****************************************************************************
 * START: MY OVERRIDES                                                      *
****************************************************************************/
// Enter your personal prefs below this line:
// PREF: restore Firefox accounts
user_pref("identity.fxaccounts.enabled", true);
user_pref("browser.uidensity", 1);

// PREF: Enable GPC beacon
user_pref("privacy.globalprivacycontrol.enabled", true);
user_pref("privacy.globalprivacycontrol.functionality.enabled", true);

// PREF: smoother font
// [1] https://old.reddit.com/r/firefox/comments/wvs04y/windows_11_firefox_v104_font_rendering_different/?context=3
user_pref("gfx.webrender.quality.force-subpixel-aa-where-possible", true);

// PREF: use macOS Appearance Panel text smoothing setting when rendering text [macOS]
//user_pref("gfx.use_text_smoothing_setting", true);

/** SEARCH / URL BAR ***/
user_pref("browser.search.separatePrivateDefault.ui.enabled", false);
user_pref("browser.urlbar.update2.engineAliasRefresh", true);
user_pref("browser.search.suggest.enabled", false);
user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", true);
user_pref("network.IDN_show_punycode", true);

// PREF: allow site notifications
user_pref("dom.push.enabled", true);
user_pref("permissions.default.desktop-notification", 0);

// PREF: enable a Dark theme for browser and webpage content
// [TEST] https://9to5mac.com/
user_pref("ui.systemUsesDarkTheme", 1); // HIDDEN
user_pref("browser.in-content.dark-mode", true); // HIDDEN

// PREF: restore "View image info"
user_pref("browser.menu.showViewImageInfo", true);

// PREF: Prevent scripts from moving and resizing open windows
user_pref("dom.disable_window_move_resize", true);

// From yokoffing user-overrides.js
/** SECUREFOX ***/
user_pref("network.trr.confirmationNS", "skip"); // skip TRR confirmation request
user_pref("network.notify.checkForProxies", false); // skip proxy request check
// HTTPS-First instead of HTTPS-only
user_pref("dom.security.https_only_mode", true); // disable in user.js
user_pref("dom.security.https_first", false); // HTTPS-First instead of HTTPS-only

/****************************************************************************
 * SECTION: FONTS                                                          *
****************************************************************************/

// PREF: disable rendering of SVG OpenType fonts
// [1] https://github.com/arkenfox/user.js/issues/1529
user_pref("gfx.font_rendering.opentype_svg.enabled", false);

// PREF: limit font visibility (Windows, Mac, some Linux) [FF94+]
// Uses hardcoded lists with two parts: kBaseFonts + kLangPackFonts [1], bundled fonts are auto-allowed
// In Normal windows: uses the first applicable: RFP (4506) over TP over Standard
// In Private Browsing windows: uses the most restrictive between normal and private
// 1=only base system fonts, 2=also fonts from optional language packs, 3=also user-installed fonts
// [1] https://searchfox.org/mozilla-central/search?path=StandardFonts*.inc
user_pref("layout.css.font-visibility.resistFingerprinting", 1); // DEFAULT
    user_pref("layout.css.font-visibility.trackingprotection", 1); // Normal Browsing windows with tracking protection enabled
    user_pref("layout.css.font-visibility.private", 1); // Private Browsing windows
        user_pref("layout.css.font-visibility.standard", 1); // Normal Browsing windows with tracking protection disabled(?)

/** PESKYFOX ***/
user_pref("general.autoScroll", true); // disable unintentional behavior for middle click
user_pref("browser.tabs.loadInBackground", true); // CTRL+SHIFT+CLICK for background tabs; Settings>General>Tabs>"When you open a link, image or media in a new tab, switch to it immediately"
user_pref("media.videocontrols.picture-in-picture.improved-video-controls.enabled", true);
user_pref("media.videocontrols.picture-in-picture.display-text-tracks.size", "small");
user_pref("image.jxl.enabled", true);

/** FASTFOX ***/
user_pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
user_pref("browser.sessionstore.interval", 30000); // set minimum interval between session save operations
user_pref("gfx.webrender.compositor.force-enabled", true); // reinforce
user_pref("layers.gpu-process.force-enabled", true); // reinforce
user_pref("media.hardware-video-decoding.force-enabled", true); // reinforce
user_pref("media.av1.enabled", false); // disable AV1 to force video hardware decoding
user_pref("network.http.speculative-parallel-limit", 18);
user_pref("network.dns.disablePrefetch", false);
    user_pref("network.dns.disablePrefetchFromHTTPS", false);
user_pref("network.prefetch-next", true);
user_pref("network.predictor.enabled", true);
user_pref("network.predictor.enable-prefetch", true);
user_pref("network.predictor.enable-hover-on-ssl", true);
    user_pref("network.predictor.preresolve-min-confidence", 10);
    user_pref("network.predictor.preconnect-min-confidence", 20);
    user_pref("network.predictor.prefetch-min-confidence", 30);
        user_pref("network.predictor.prefetch-force-valid-for", 3600);
        user_pref("network.predictor.prefetch-rolling-load-count", 120);
    user_pref("network.predictor.max-resources-per-entry", 250);
    user_pref("network.predictor.max-uri-length", 1000);

/** DELETE IF NOT macOS ***/
//user_pref("pdfjs.defaultZoomValue", "page-width"); // LAPTOP; PDF zoom level

//// MY EXISTING TWEAKS
//
// VAAPI ON LINUX
user_pref("media.ffmpeg.vaapi.enabled", true);
user_pref("gfx.webrender.all", true);
//
// Encrypt Client Hello (replaces ESNI)
user_pref("network.dns.echconfig.enabled", true);
user_pref("network.dns.http3_echconfig.enabled", true);
user_pref("network.dns.use_https_rr_as_altsvc", true);
// Enable http3/quic
user_pref("network.http.http3.enable", true);// Enable DoH3
user_pref("network.trr.allow-rfc1918", true);
user_pref("network.trr.custom_uri", "https://own.dns.server/dns-query/");
user_pref("network.trr.disable-ECS", false);
user_pref("network.trr.mode", 3);
user_pref("network.trr.uri", "https://own.dns.server/dns-query/");
//

/****************************************************************************
 * END: BETTERFOX                                                           *
****************************************************************************/
RainmakerRaw commented 1 year ago

Never mind... I deleted prefs.js (again) and restarted to no avail. Deleted all site data for web.whatsapp.com and it started working. I've never used it on this machine before, so... gremlins. Thanks anyway!