Repository navigation
fix(test): repair marketplace PNG fixture - #3838
Conversation
|
🚀 Deploying Preview to Cloudflare 🚀Preview URL: https://noah-fix-marketplace-png.try.emdashcms.com, https://noah-fix-marketplace-png-emdash-playground.emdash-cms.workers.dev (commit fc124a3)This URL reflects your latest Preview deploymentPreview Deployments by commit
|
There was a problem hiding this comment.
This PR makes a focused, well-scoped repair: it corrects the IDAT CRC of the private marketplace-test plugin’s fixture PNG and adds a real-server, cross-browser regression test that proves the served bytes decode in Chromium/Firefox/WebKit.
I checked:
- The PNG checksum change: the IDAT CRC
0xefa2a75bmatches the CRC-32 of the unchanged IDAT data, while the previous0xefbf6945was invalid. - The new
e2e/tests/plugin-fixture-image.spec.tsroute (/_emdash/api/plugins/marketplace-test/fixture-image) is declaredpublic: truein the plugin, so the unauthenticatedrequest.getcall is correct and no CSRF/auth setup is needed. - The test exercises observable behavior (HTTP response code,
image/pngcontent type, browser decoding) rather than asserting the byte array back at itself. playwright.table.config.tsnow includes the new spec in the table/cross-engine lane, and the Firefox/WebKit projects filter to@table-cross-engineas intended.- The new
test-planrule forpackages/plugins/marketplace-test/selectse2e_table(plusunit/integration) while leaving other plugin fixtures on their existing plan. - No changeset or i18n updates are required:
@emdash-cms/plugin-marketplace-testisprivate: true, and the remaining changes are test/CI coverage.
The change is additive, low-risk, and directly guards against the Firefox “Image corrupt or truncated” regression described. No blocking issues or convention violations found.
What does this PR do?
Repairs the PNG served by the private
marketplace-testplugin'sfixture-imageroute. Its IDAT checksum was invalid (efbf6945instead ofefa2a75b), causing Firefox to report "Image corrupt or truncated" during the table E2E clipboard/save/publish test. Only the three incorrect checksum bytes change; the image data and dimensions stay the same.Adds a direct browser-decoding regression through the real public plugin route, without loading the admin shell or relying on hydration timing. Chromium, Firefox, and WebKit run it in the table cross-engine lane. A focused test-plan rule ensures future marketplace fixture changes also select that lane; other plugin fixtures retain their existing coverage.
Standalone follow-up to the CI audit of #3824 and #3825, based on
main. No linked issue. This does not alter either MCP/blocks PR, increase retries or timeouts, or address unrelated hydration/autosave flakes.Type of change
Checklist
pnpm typecheckpassespnpm lintpassespnpm testpasses (or targeted tests for my change)pnpm formathas been runmessages.pochanges except in translation PRs — a workflow extracts catalogs on merge tomain.Translation, Discussion, and screenshots are not applicable: no production UI or strings change, and the fixture's pixel data is unchanged. No changeset is needed:
@emdash-cms/plugin-marketplace-testis private and excluded from releases; the remaining changes are test/CI coverage.AI-generated code disclosure
gpt-6.1-sol); independent adversarial review with GPT-5.6 Sol (gpt-5.6-sol,xhigh). The persistent review converged clean after correcting a CI selection gap.Screenshots / test output
Not applicable: no production UI changes.
page.evaluate: Invalid encoded image data.e2e_table: false; all 18 test-plan tests now pass, including on CI's Node 22.16.0.pnpm build,pnpm format,pnpm lint:quick,pnpm lint, andpnpm typecheckpass; type-aware lint JSON reports zero diagnostics.xhigh) review: clean/convergence, no findings or remaining nits.