"experimentalModifyObstructiveThirdPartyCode" breaking resource integrity checks and page not loading #30960
Labels
experimental: modify third party code
Issues when using experimentalModifyObstructiveThirdPartyCode
Reproducible
Can be reproduced
stage: needs investigating
Someone from Cypress needs to look at this
Current behavior
Cypress with
experimentalModifyObstructiveThirdPartyCode
set totrue
breaks the page's SRI (resource integrity) making it unable to load.Desired behavior
Cypress should be able to load the page https://app.fenergonebula.com just fine, and disable SRI if required.
Either removing the
integrity
attributes from the<script>
tags,or just don't modifying JS files that were not really needed to modify.
The page loads just fine inside cypress without modifying it,
however for my case the flag
experimentalModifyObstructiveThirdPartyCode
is requiredbecause the test needs to load Microsof'ts login page,
which is required according to this official guide for AAD.
Since the flag
experimentalModifyObstructiveThirdPartyCode
is globaland not configurable dynamically,
I can't disable it during the page load.
Making
experimentalModifyObstructiveThirdPartyCode
configurable during runtime may help in some cases too.Test code to reproduce
Create a cypress project (current latest version v14)
with
experimentalModifyObstructiveThirdPartyCode
set totrue
,then create a simple test with this code:
The page https://app.fenergonebula.com that normally loads in any browser, doesn't load.
In the console errors you can see that the error is due to
the JS resource integrity checks failing and thus not loading the page's JS:
Failed to find a valid digest in the 'integrity' attribute for resource
It seems like
experimentalModifyObstructiveThirdPartyCode
is modifying some of those JS tyring to de-obfuscate it,
but Cypress fails to disable the resource integrity checks.
The target application uses script tags with
integrity
:Cypress Version
14
Node version
v20.8.0
Operating System
Windows 11
Debug Logs
Other
No response
The text was updated successfully, but these errors were encountered: