- Never write to console on the server side - we use stdout for
communication. This includes logPolitely and deprecate.
- Pass undefined instead of null in some BrowserContext methods.
- Use explicit _setFileChooserIntercepted instead of on/off magic.
This makes it easier to reason about our packages.
The only difference is what each package downloads.
When the browser is not downloaded, it will fail to launch.
Each browser gets a 'download' attribute in the browser.json file.
Currently, Ctrl-C while extracting browser might yield users in
a bad place.
This patch adds a marker file inside browser directory to make
sure that browser extraction completed.
Note: this was already attempted in #2489, but was eventually
reverted in #2534.
References #2660
We now commit protocol.ts files during the roll.
New utils/roll_browser.js helps with that.
This makes our installation very shallow:
- build installer;
- download browsers.
This reverts 2 commits:
- "fix(installer): create tmp directory inside `browserPath` (#2498)"
commit 946b4efa3b55dd96396b1c34f1f159735beaaaea.
- "feat: support atomic installation of browsers (#2489)"
commit 3de0c087bcc2592ae9fa65a79a29129e2b153e06.
This addresses installation issues we see in some CI environments.