MetaMask / MetaMask/metamask-extension
[Bug]: PPOM - Validations not working wiht Firefox Privacy Mode
Nobody has claimed this yet.
- 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
- 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
- Install MetaMask
- Block Blockaid API requests
- Trigger a tx
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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