The "SymbolizedError" class represents a fully resolved error: The stack
trace is fully resolved and (in the future), the full `Error.cause`
chain is also fully resolved.
We'll use the `SymbolizedError` for both "uncaught exceptions" as well
as when logging `Error` objects to the console (e.g. `console.log(new
Error())`. This means the `resolvedArgs` array in `ConsoleFormatter`
will contain one `SymbolizedError` instance for every `Error` object
logged.
Small cleanup PR that uses the result of `createPagesSnapshot` and
passes it to the two collector instances. This way, we consistently
apply the `Page[]` filtering done by `createPagesSnapshot` and we don't
have to forward the `experimentalIncludeAllPages` option to all
collectors.
I split this PR off from my "create one DevTools universe per page" PR
in preparation. This allows tests to re-use browser instances without
creating an `McpContext`.
Drive-by: Move mocked browser/page into utils.ts.
This PR prevents license notices being dropped when creating package for
publication.
This can happen when first import in the file is type-only import that
gets removed during build. When there is no empty line between the
license block comment and such import, the comment is treated as related
to the import and gets removed alongside it.
Adding an empty line between copyright notice and the import fixes the
issue.
Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
- fixes a memory leak introduced previously (I could not pinpoint it but
McpContext was retained for subsequent tests).
- adds a test that issue continue being aggregated on reload.
- moves page-specific logic to a class.
We were setting the storage inside the first collect callback which mean
that we double subscribed to the events.
This affected Network request and Console messages