browser
browser copied to clipboard
Lightpanda: the headless browser designed for AI and automation
Create UUID v4. Create prefixed ids. To support more of the CDP protocol, we need to remove the hard-coded IDs (session, browser context, frame, loader, ...) and be able to...
In debug mode, it has a more user-friendly output: level | the log messge | ms since last message | key=value key=value In release mode, it logs using logfmt, which...
Changes are fairly superfluous. I wanted to remove the error.NoError, but then thought having more explicit command -> options might be good (especially if we add more command and/or options)....
The change look bigger than it is because the CDP struct was changed into a generic (so that mocks could be injected). This added a level of indentation. Added a...
The implementation here is similar how the TCP server behaves: keeping track of which I/O events are in-flight and only shutting down when there are none. This has been my...
https://github.com/lightpanda-io/browser/issues/672
Puppeteer and Playwright explicitly want to write the DOCTYPE during `page.content()` `retVal = new XMLSerializer().serializeToString(document.doctype);` See: https://github.com/lightpanda-io/demo/pull/45 doctype used to be serialized as an empty string as only the top...
I guess this should eventually become a configuration option - what time is too long and should they be skipped or just be run sooner? But for now, this unblocks...
Changes the return type from `void` to `T`. This enables `tryCall` and `tryCallWithThis` to be called with a `T` other than `void`
I'm not sure that _any_ location instance should be able to change the page URL. But you can't create a new location (i.e. new Location() isn't valid), and the only...