EDIT
This issue may be due to WebRTC being disabled. WebRTC is required for google meet, but also used for fingerprinting.
Recently I tried to join a google meet meeting in my hardened config firefox browser, and google meet didn’t let me in at all. I was confused as hell. I could join only on my phone, but not any of my three computers I tested it on. I then went into a virtual machine with regular firefox(also linux), and the meeting works. The only conclusion I can draw is that google is so desperate for my data that they refuse to service me unless I give them this.
This post intends to inform people that issues with google products may be related to their valid wish for security, and the actions they have taken in pursuit of that. The post also intends to inform people of a solution. The two apps that I recommend are:
- Jitsi Meet: This is self hosted, but you can also make a meeting with jitsi’s own servers. A excellent alternative to google meet, the only reason I didn’t use it is that I had issues the day I needed to meet, and had to fall back to google meet instead.
- Jami: This is a distributed-network chat and video calling app which is open source and a GNU package. It does require an app, but is free and open source and will serve your purpose.****_________
What is your config? It’s possible you’ve got things configured in an unexpected, but valid, way that causes Google Meet to fail.
How does it fail? Are there errors in the console?
You’re immediately assuming malice, but it may simply be a mistake (Google’s or yours).
accessibility.typeaheadfind.flashBar 0 app.normandy.api_url app.normandy.enabled false app.normandy.first_run false app.normandy.migrationsApplied 12 app.normandy.user_id [REDACTED] app.shield.optoutstudies.enabled false app.update.auto false app.update.lastUpdateTime.addon-background-update-timer 1729383854 app.update.lastUpdateTime.browser-cleanup-thumbnails 1729405780 app.update.lastUpdateTime.recipe-client-addon-run 1725149805 app.update.lastUpdateTime.region-update-timer 1725149805 app.update.lastUpdateTime.services-settings-poll-changes 1729383854 app.update.lastUpdateTime.telemetry_modules_ping 1725149834 app.update.lastUpdateTime.xpi-signature-verification 1729383854 beacon.enabled false breakpad.reportURL browser.aboutConfig.showWarning false browser.bookmarks.editDialog.confirmationHintShowCount 2 browser.bookmarks.restore_default_bookmarks false browser.cache.disk.enable false browser.contentblocking.category strict browser.contentblocking.report.hide_vpn_banner true browser.contentblocking.report.show_mobile_app false browser.contextual-services.contextId {[REDACTED]} browser.discovery.enabled false browser.discovery.sites browser.download.manager.addToRecentDocs false browser.download.panel.shown true browser.download.viewableInternally.typeWasRegistered.avif true browser.download.viewableInternally.typeWasRegistered.webp true browser.engagement.ctrlTab.has-used true browser.engagement.downloads-button.has-used true browser.firefox-view.feature-tour {"screen":"","complete":true} browser.firefox-view.view-count 1 browser.formfill.enable false browser.helperApps.deleteTempFileOnExit false browser.laterrun.bookkeeping.profileCreationTime 1725149774 browser.laterrun.bookkeeping.sessionCount 51 browser.migration.version 148 browser.newtab.preload false browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons false browser.newtabpage.activity-stream.default.sites browser.newtabpage.activity-stream.discoverystream.rec.impressions {"5721678629791706":1725149797489,"1570241288460906":1725149797490,"1651507772597691":1725149797491} browser.newtabpage.activity-stream.feeds.discoverystreamfeed false browser.newtabpage.activity-stream.feeds.section.topstories false browser.newtabpage.activity-stream.feeds.telemetry false browser.newtabpage.activity-stream.impressionId {[REDACTED]} browser.newtabpage.activity-stream.section.highlights.includePocket false browser.newtabpage.activity-stream.showSponsored false browser.newtabpage.activity-stream.showSponsoredTopSites false browser.newtabpage.activity-stream.telemetry false browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint browser.newtabpage.blocked [REDACTED] browser.newtabpage.enabled false browser.newtabpage.storageVersion 1 browser.pageActions.persistedActions {"ids":["bookmark"],"idsInUrlbar":["bookmark"],"idsInUrlbarPreProton":[],"version":1} browser.pagethumbnails.capturing_disabled true browser.pagethumbnails.storage_version 3 browser.ping-centre.telemetry false browser.places.speculativeConnect.enabled false browser.protections_panel.infoMessage.seen true browser.proton.toolbar.version 3 browser.region.network.url browser.region.update.enabled false browser.region.update.updated 1725149776 browser.rights.3.shown true browser.safebrowsing.allowOverride false browser.safebrowsing.blockedURIs.enabled false browser.safebrowsing.downloads.enabled false browser.safebrowsing.downloads.remote.block_potentially_unwanted false browser.safebrowsing.downloads.remote.block_uncommon false browser.safebrowsing.downloads.remote.enabled false browser.safebrowsing.downloads.remote.url browser.safebrowsing.malware.enabled false browser.safebrowsing.phishing.enabled false browser.safebrowsing.provider.google.advisoryName Google Safe Browsing(Disabled) browser.safebrowsing.provider.google.advisoryURL browser.safebrowsing.provider.google.gethashURL browser.safebrowsing.provider.google.reportMalwareMistakeURL browser.safebrowsing.provider.google.reportPhishMistakeURL browser.safebrowsing.provider.google.reportURL browser.safebrowsing.provider.google.updateURL browser.safebrowsing.provider.google4.advisoryName Google Safe Browsing4(Disabled browser.safebrowsing.provider.google4.advisoryURL browser.safebrowsing.provider.google4.dataSharingURL browser.safebrowsing.provider.google4.gethashURL browser.safebrowsing.provider.google4.lastupdatetime 1725149785253 browser.safebrowsing.provider.google4.nextupdatetime 1725151601253 browser.safebrowsing.provider.google4.reportMalwareMistakeURL browser.safebrowsing.provider.google4.reportPhishMistakeURL browser.safebrowsing.provider.google4.reportURL browser.safebrowsing.provider.google4.updateURL browser.safebrowsing.provider.mozilla.lastupdatetime 1729405756174 browser.safebrowsing.provider.mozilla.nextupdatetime 1729427356174 browser.search.region US browser.search.suggest.enabled false browser.sessionstore.privacy_level 2 browser.sessionstore.resume_from_crash false browser.sessionstore.upgradeBackup.latestBuildID 20241008174909 browser.shell.shortcutFavicons false browser.startup.couldRestoreSession.count 2 browser.startup.homepage_override.buildID 20241008174909 browser.startup.homepage_override.mstone 128.3.1 browser.startup.lastColdStartupCheck 1729405749 browser.startup.upgradeDialog.version 106 browser.tabs.crashReporting.sendReport false browser.tabs.firefox-view.ui-state.recently-closed-tabs.open true browser.tabs.firefox-view.ui-state.tab-pickup.open false browser.translations.panelShown true browser.uiCustomization.state {"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":[],"nav-bar":["back-button","forward-button","stop-reload-button","customizableui-special-spring1","urlbar-container","customizableui-special-spring2","save-to-pocket-button","downloads-button","fxa-toolbar-menu-button","unified-extensions-button","ublock0_raymondhill_net-browser-action","reset-pbm-toolbar-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["firefox-view-button","tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["personal-bookmarks"]},"seen":["save-to-pocket-button","developer-button","ublock0_raymondhill_net-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar"],"currentVersion":20,"newElementCount":2} browser.urlbar.placeholderName DuckDuckGo browser.urlbar.placeholderName.private DuckDuckGo browser.urlbar.quicksuggest.enabled false browser.urlbar.quicksuggest.migrationVersion 2 browser.urlbar.quicksuggest.scenario offline browser.urlbar.speculativeConnect.enabled false browser.urlbar.suggest.quicksuggest.nonsponsored false browser.urlbar.suggest.quicksuggest.sponsored false browser.urlbar.tipShownCount.searchTip_onboard 4 browser.urlbar.trimURLs false browser.xul.error_pages.expert_bad_cert true captivedetect.canonicalURL datareporting.healthreport.infoURL datareporting.policy.dataSubmissionEnabled false datareporting.policy.dataSubmissionPolicyAcceptedVersion 2 datareporting.policy.dataSubmissionPolicyNotifiedTime 1725149776032 devtools.everOpened true devtools.toolbox.footer.height 310 devtools.toolbox.host right devtools.toolbox.previousHost bottom devtools.toolsidebar-height.inspector 170 devtools.toolsidebar-width.inspector 700 devtools.toolsidebar-width.inspector.splitsidebar 250 distribution.iniFile.exists.appversion 128.3.1 distribution.iniFile.exists.value false doh-rollout.disable-heuristics true doh-rollout.doneFirstRun true doh-rollout.home-region US doh-rollout.uri https://mozilla.cloudflare-dns.com/dns-query dom.forms.autocomplete.formautofill true dom.popup_allowed_events click dblclick mousedown pointerdown dom.push.userAgentID [REDACTED] dom.security.https_only_mode true dom.security.https_only_mode_ever_enabled true dom.security.https_only_mode_send_http_background_request false extensions.activeThemeID default-theme@mozilla.org extensions.blocklist.pingCountVersion -1 extensions.databaseSchema 36 extensions.enabledscopes 5 extensions.formautofill.addresses.enabled false extensions.formautofill.available off extensions.formautofill.creditCards.available false extensions.formautofill.creditCards.enabled false extensions.formautofill.creditCards.reauth.optout [REDACTED] extensions.getAddons.cache.lastUpdate 1729383854 extensions.getAddons.databaseSchema 6 extensions.getaddons.showpane true extensions.htmlaboutaddons.recommendations.enabled false extensions.lastAppBuildId 20241008174909 extensions.lastAppVersion 128.3.1 extensions.lastPlatformVersion 128.3.1 extensions.pendingOperations false extensions.pictureinpicture.enable_picture_in_picture_overrides true extensions.pocket.enabled false extensions.postDownloadThirdPartyPrompt false extensions.quarantinedDomains.list autoatendimento.bb.com.br,ibpf.sicredi.com.br,ibpj.sicredi.com.br,internetbanking.caixa.gov.br,www.ib12.bradesco.com.br,www2.bancobrasil.com.br extensions.screenshots.disabled true extensions.systemAddonSet {"schema":1,"directory":"{[REDACTED]}","addons":{"[email protected]":{"version":"133.2.20241017.92612"}}} extensions.ui.dictionary.hidden true extensions.ui.lastCategory addons://discover/ extensions.ui.locale.hidden true extensions.ui.sitepermission.hidden true extensions.webcompat.enable_shims true extensions.webcompat.perform_injections true extensions.webcompat.perform_ua_overrides true extensions.webextensions.ExtensionStorageIDB.migrated.screenshots@mozilla.org true extensions.webextensions.ExtensionStorageIDB.migrated.uBlock0@raymondhill.net true
Part 1
So first off I appreciate your “about:config” dump, that is helpful.
However, having ONLY that dump makes it difficult to actually diagnose your issue. It would be helpful to have an idea of what fails.
Second, you have “media.peerconnection.enabled” set to “false”. That setting controls WebRTC. Google Meet uses WebRTC. If I set that value to false my Google Meet meetings fail to load, it just stays stuck at the joining meeting phase.
So maybe that’s your culprit. Of course I would expect if you’ve had this set for a long time I would have expected it to fail for a long time. Also both alternatives you mentioned use WebRTC, so I would expect those to fail with that setting disabled.
Of course if it used to work with that disabled then it’s possible Google Meet changed and had a fallback no longer in use or something else.
As an aside, I understand that WebRTC has (had?) issues leaking local IP addresses while connected to a VPN. So I understand why you might have it disabled.
The webrtc setting is probably it. IMO it’s still google’s fault for not providing a meaningful error message. It just stuck on the loading screen, assuring me that I would enter the meeting but I just didn’t. I don’t like webrtc because it can be used for fingerprinting, so I will probably use jami in the future. Thank you very much for diagnosing my problem!
extensions.webextensions.restrictedDomains extensions.webextensions.uuids {"[email protected]":"1cf43bc6-c83e-4df3-a8d2-4038fe816116","[email protected]":"d820dd36-7976-4480-938c-d16b1e655d48","[email protected]":"c5c295b2-c7ae-43ca-b011-cf2335845c51","[email protected]":"7dec689b-6735-4d50-8320-42358545e131","[email protected]":"6eed24ef-4fed-499f-913e-ef3557628934","[email protected]":"e2130512-1026-4ea0-a0ab-75347897ece0","[email protected]":"f79cc98d-3c13-42d4-8428-bb4d904aac3e","[email protected]":"03fee1c7-accd-4276-9798-698f7a16f8c2","[email protected]":"263c52b0-3dd3-40e1-a28f-96ca794755e9","[email protected]":"76b29622-02c9-4c0b-9291-0b86a3d45d4b","[email protected]":"f24a2e9c-26ec-4114-b7c6-5223dca5fca9","[email protected]":"eeb096d0-d4a3-4e77-85c3-0643308710b1","[email protected]":"b5e0c41a-3c79-41bf-8a09-b717abcd054e","[email protected]":"9e988b15-dbad-4de5-be05-f46bbc94f24f"} gecko.handlerService.defaultHandlersVersion 1 geo.provider.use_geoclue false idle.lastDailyNotification 1729360598 javascript.use_us_english_locale true media.gmp-gmpopenh264.abi x86_64-gcc3 media.gmp-gmpopenh264.hashValue [REDACTED] media.gmp-gmpopenh264.lastDownload [REDACTED] media.gmp-gmpopenh264.lastDownloadFailReason [REDACTED] media.gmp-gmpopenh264.lastDownloadFailed [REDACTED] media.gmp-gmpopenh264.lastInstallStart [REDACTED] media.gmp-gmpopenh264.lastUpdate [REDACTED] media.gmp-gmpopenh264.version 2.3.2 media.gmp-manager.buildID 20241008174909 media.gmp-manager.lastCheck 1729383901 media.gmp-manager.lastEmptyCheck 1729383901 media.gmp.storage.version.observed 1 media.peerconnection.enabled false media.peerconnection.ice.default_address_only true media.peerconnection.ice.no_host true media.peerconnection.ice.proxy_only_if_behind_proxy true media.videocontrols.picture-in-picture.video-toggle.first-seen-secs 1725165077 media.videocontrols.picture-in-picture.video-toggle.has-used true network.IDN_show_punycode true network.auth.subresource-http-auth-allow 1 network.captive-portal-service.enabled false network.connectivity-service.enabled false network.dns.disableIPv6 true network.dns.disablePrefetch true network.file.disable_unc_paths true network.gio.supported-protocols network.http.referer.XOriginPolicy 2 network.http.referer.disallowCrossSiteRelaxingDefault.top_navigation true network.http.speculative-parallel-limit 0 network.predictor.enabled false network.prefetch-next false network.trr.custom_uri https://dns.mullvad.net/dns-query network.trr.mode 2 network.trr.uri https://dns.mullvad.net/dns-query pdfjs.enableScripting false pdfjs.enabledCache.state true pdfjs.migrationVersion 2 permissions.manager.defaultsUrl places.database.lastMaintenance 1728844120 privacy.annotate_channels.strict_list.enabled true privacy.bounceTrackingProtection.hasMigratedUserActivationData true privacy.fingerprintingProtection true privacy.history.custom true privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage true privacy.purge_trackers.date_in_cookie_database 0 privacy.purge_trackers.last_purge 1729360598375 privacy.query_stripping.enabled true privacy.query_stripping.enabled.pbmode true privacy.resistFingerprinting true privacy.resistFingerprinting.block_mozAddonManager true privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs2 true privacy.sanitize.pending [{"id":"newtab-container","itemsToClear":[],"options":{}}] privacy.trackingprotection.emailtracking.enabled true privacy.trackingprotection.enabled true privacy.trackingprotection.socialtracking.enabled true privacy.userContext.enabled true privacy.window.maxInnerHeight 900 privacy.window.maxInnerWidth 1600 security.OCSP.require true security.cert_pinning.enforcement_level 2 security.pki.crlite_mode 2 security.remote_settings.crlite_filters.enabled true security.sandbox.content.tempDirSuffix [REDACTED] security.tls.enable_0rtt_data false services.settings.blocklists.addons-bloomfilters.last_check 1729405757 services.settings.blocklists.gfx.last_check 1729405757 services.settings.clock_skew_seconds -1 services.settings.last_etag "1729393030056" services.settings.last_update_seconds 1729405757 services.settings.main.addons-manager-settings.last_check 1729405757 services.settings.main.anti-tracking-url-decoration.last_check 1729405757 services.settings.main.cfr.last_check 1729405757 services.settings.main.cookie-banner-rules-list.last_check 1729405757 services.settings.main.devtools-compatibility-browsers.last_check 1729405757 services.settings.main.devtools-devices.last_check 1729405757 services.settings.main.doh-config.last_check 1729405757 services.settings.main.doh-providers.last_check 1729405757 services.settings.main.fingerprinting-protection-overrides.last_check 1729405757 services.settings.main.fxmonitor-breaches.last_check 1729405757 services.settings.main.hijack-blocklists.last_check 1729405757 services.settings.main.language-dictionaries.last_check 1729405757 services.settings.main.message-groups.last_check 1729405757 services.settings.main.normandy-recipes-capabilities.last_check 1729405757 services.settings.main.partitioning-exempt-urls.last_check 1729405757 services.settings.main.password-recipes.last_check 1729405757 services.settings.main.password-rules.last_check 1729405757 services.settings.main.pioneer-study-addons-v1.last_check 1729405757 services.settings.main.public-suffix-list.last_check 1729405757 services.settings.main.query-stripping.last_check 1729405757 services.settings.main.quicksuggest.last_check 1729405757 services.settings.main.search-config-icons.last_check 1729405757 services.settings.main.search-config-overrides-v2.last_check 1729405757 services.settings.main.search-config-overrides.last_check 1729405757 services.settings.main.search-config-v2.last_check 1729405757 services.settings.main.search-config.last_check 1729405757 services.settings.main.search-default-override-allowlist.last_check 1729405757 services.settings.main.search-telemetry-v2.last_check 1729405757 services.settings.main.sites-classification.last_check 1729405757 services.settings.main.tippytop.last_check 1729405757 services.settings.main.top-sites.last_check 1729405757 services.settings.main.translations-models.last_check 1729405757 services.settings.main.translations-wasm.last_check 1729405757 services.settings.main.url-classifier-skip-urls.last_check 1729405757 services.settings.main.websites-with-shared-credential-backends.last_check 1729405757 services.settings.main.whats-new-panel.last_check 1729405757 services.settings.security-state.cert-revocations.last_check 1729126810 services.settings.security-state.intermediates.last_check 1729126810 services.settings.security-state.onecrl.last_check 1729126810 services.sync.clients.lastSync 0 services.sync.declinedEngines services.sync.engine.addresses.available true services.sync.globalScore 0 services.sync.nextSync 0 services.sync.prefs.sync.app.shield.optoutstudies.enabled false services.sync.prefs.sync.browser.formfill.enable false services.sync.prefs.sync.signon.rememberSignons false signon.autofillForms false signon.formlessCapture.enabled false signon.management.page.os-auth.optout [REDACTED] signon.rememberSignons false storage.vacuum.last.content-prefs.sqlite 1728004322 storage.vacuum.last.index 2 storage.vacuum.last.places.sqlite 1727815054 toolkit.coverage.endpoint.base toolkit.coverage.opt-out true toolkit.startup.last_success 1729405748 toolkit.telemetry.archive.enabled false toolkit.telemetry.bhrPing.enabled false toolkit.telemetry.cachedClientID [REDACTED] toolkit.telemetry.firstShutdownPing.enabled false toolkit.telemetry.newProfilePing.enabled false toolkit.telemetry.pioneer-new-studies-available true toolkit.telemetry.previousBuildID 20240801134912 toolkit.telemetry.reportingpolicy.firstRun false toolkit.telemetry.server data:, toolkit.telemetry.shutdownPingSender.enabled false toolkit.telemetry.unified false toolkit.telemetry.updatePing.enabled false trailhead.firstrun.didSeeAboutWelcome true webgl.disabled true
Part 2
Great. Your job is to take standard Firefox and switch one of these settings on at a time, testing Google meet until you find which one is the culprit. Good luck! 👍
I am pretty sure no one at Google tests outside Blink & only gets around to it when there are bug reports