Firefox profile/data persistence during dev (parity with Chromium)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 10.5k
- Forks
- 564
- PR merge metrics
- No merged PRs in 30d
Description
Feature Request
Would it be possible to support persisting data/profile when running the dev server with Firefox? I primarily test my extension on Firefox, and for that extension, starting from a blank temporary profile each run means heavily reconfiguring a specific environment, which slows iteration and makes realistic testing harder.
I also tried using firefoxArgs to reuse a profile, but most flags didn’t seem to take effect for me:
- --profile ./.wxt/firefox-data
- --ProfileManager
- --kiosk
- --devtools
Interestingly, --help prevented the browser from launching, which suggests args are being partially respected somehow.
Is your feature request related to a bug?
N/A
What are the alternatives?
- Use the temporary profile and reconfigure it each time (very time consuming)
- Build the extension and install it into an existing Firefox profile manually
- Develop primarily in Chromium where persistence exists, then periodically test in Firefox
Additional context
- The docs mention: “Right now, Chromium based browsers are the only browsers that support overriding this behavior and persisting data when running the dev script multiple times.”
- My extension relies on a specific environment which is extremely slow for me to reconfigure, considering I need to open a ton of tabs and wait for them all to load (instead of just relying on firefox resuming the session with all tabs already open, which is almost instant and only tries to load them if I click on them). Not doing this and just using a few tabs makes testing less representative and harder to catch bugs.
I’m happy to help test, provide logs, or try a PR if that's welcomed. Thanks for considering this!
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
Start by reading the dev-server documentation about browser data persistence and tracing how Firefox is launched when firefoxArgs are supplied. Compare that behavior with the existing Chromium persistence path, then determine the supported Firefox profile lifecycle and verify that repeated dev-server runs preserve the requested profile data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100