MetaMask / MetaMask/metamask-extension

[Bug]: PPOM - Validations not working wiht Firefox Privacy Mode

Open
#35,223 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

INVALID-ISSUE-TEMPLATE regression-prod-13.1.0 regression-prod-13.11.2 Sev2-normal team-product-safety type-bug
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

Describe the bug

Recently @david.murdoch and @mark.stacey discovered that IndexedDB is not available in Firefox for private browsing mode.
This was causing an infinite loading spinner on the wallet side, and a workaround was added by David. Additionally a bug was open on Mozilla's end here.
This bug can also affect Blockaid validations when using PPOM with FF in private mode, as it also uses IndexedDB.

Thread: https://consensys.slack.com/archives/C03ETQA9EPK/p1755624859736669

Expected behavior

It seems that the solution here should be what Mark suggested:

I had suggested that we migrate PPOM storage to the controller, and persist state through the controller like with most other features.
The issue I was thinking of was completed here: https://github.com/MetaMask/ppom-validator/pull/56It seems that IndexedDB is no longer required as the storage backend as of that PR. But we never actually migrated away from it. We just removed one obstacle to migrating away from IndexedDB. (edited)

Steps to reproduce

  1. Enable "Always use private browsing mode" (Settings -> Privacy and Security -> History -> Firefox will, then select Use custom settings for history -> then check Always use private browsing mode
  2. Install MetaMask
  3. Block Blockaid API requests
  4. Trigger a tx
  5. Validations should don't happen

Error messages or log output


Detection stage

In production (default)

Version

13.1.0

Build type

None

Browser

Firefox

Operating system

Linux

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the PPOM storage and controller persistence paths, using ppom-validator PR #56 and the workaround in metamask-extension PR #35040 as context. Reproduce the failure in Firefox private browsing with Blockaid API requests blocked, then verify that PPOM validations complete without relying on IndexedDB.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.