Repository navigation
Conversation
|
I pushed a second commit, 20aa29c, to fix the unit test failures on Node 22 ( The 11 tests that expect the warning failed there with The change:
CI on 20aa29c: the unit tests now pass in all four jobs. Two jobs are still red, and I believe neither comes from this PR:
|
…-firefox-id Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
merged master in. the audit-deps failure was from a few deps that got bumped on master after I branched off, and CI is green now. the windows timeout also failed once on master around the same time, so I think it's a flaky one. @willdurand whenever you get a chance could you take a look at this one? no rush at all, happy to change anything :D |
Fixes #3547
web-ext runcan temporarily load a Firefox extension without an explicit ID, which can make it surprising when the same manifest fails during permanent installation or signing. This change prints one actionable warning before browser startup when a Firefox runner is selected and the manifest has no explicit extension ID. Temporary loading still proceeds.The check reuses
getManifestId()to respectbrowser_specific_settings.geckoprecedence and support legacyapplications.gecko.id. It covers the default target, Firefox Desktop, Firefox Android, and mixed targets, without warning for Chromium-only runs or printing twice when both Firefox targets are selected. The message says permanent installation or signing may require an ID, since Manifest V2 signing can generate one.Unit tests cover target combinations, Manifest V2 and V3, modern and legacy IDs, empty IDs, manifest precedence, warning timing, and unchanged validation failures. Two existing parser stubs now return valid manifest fixtures. A CLI regression test uses the repository's fake Firefox binary to verify that the warning reaches stderr without
--verbose, appears once, and still permits successful temporary installation.Validation:
npm run buildpassed.npm testpassed: 603 tests, no lint errors (one existing unused-disable warning inindex.js).npm run test-functionalpassed: 21 tests, 4 pending (real-Chrome and production import tests).npm run prettier-devalso passed.