replayio / playwright

Replay enabled fork of the Playwright library
Apache License 2.0
4 stars 0 forks source link

Doesn't work in macOS 12.0 Monterey #3

Open jazzdan opened 3 years ago

jazzdan commented 3 years ago

It looks like installing this package doesn't work in macOS 12.0 Monterey:

$ npm install

> @recordreplay/playwright@1.10.6 install
> node install.js

Installing replay browsers...
Done.
/Users/dan/devel/playwright/lib/install/installer.js:130
            throw new Error(`Failed to download ${browserName}, caused by\n${e.stack}`);
                  ^

Error: Failed to download chromium, caused by
Error: ERROR: Playwright does not support chromium on mac12-arm64
    at Object.assert (/Users/dan/devel/playwright/lib/utils/utils.js:86:15)
    at Registry.downloadURL (/Users/dan/devel/playwright/lib/utils/registry.js:307:17)
    at Object.downloadBrowserWithProgressBar (/Users/dan/devel/playwright/lib/install/browserFetcher.js:84:26)
    at async validateCache (/Users/dan/devel/playwright/lib/install/installer.js:129:9)
    at async installBrowsersWithProgressBar (/Users/dan/devel/playwright/lib/install/installer.js:80:9)
    at /Users/dan/devel/playwright/lib/install/installer.js:130:19
    at async validateCache (/Users/dan/devel/playwright/lib/install/installer.js:129:9)
    at async installBrowsersWithProgressBar (/Users/dan/devel/playwright/lib/install/installer.js:80:9)
ryanjduffy commented 3 years ago

https://github.com/microsoft/playwright/issues/7646

ryanjduffy commented 3 years ago

might need to merge upstream to resolve this

jazzdan commented 3 years ago

Commenting this out caused it to work but I dunno if it would break things:

https://github.com/RecordReplay/playwright/blob/main/install.js#L22

bhackett1024 commented 3 years ago

Commenting this out caused it to work but I dunno if it would break things:

https://github.com/RecordReplay/playwright/blob/main/install.js#L22

The idea behind this call (which should have a comment) is that we install the regular playwright browsers so that things will still work (though without recordings) when running against platforms/targets which we don't support yet. It would be nice to keep this, but upstream merges are tricky because this repository isn't a proper fork. Do things work if this call is wrapped in a try/catch?