Skip to content

Commit b05321d

Browse files
author
Natallia Harshunova
committed
Rebase plus comments fix
1 parent 9803c9c commit b05321d

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

src/McpContext.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,11 @@ export class McpContext implements Context {
127127
);
128128

129129

130-
this.#consoleCollector = new ConsoleCollector(this.browser, collect => {
131-
return {
132-
console: event => {
133-
collect(event);
134-
},
135-
pageerror: event => {
136-
if (event instanceof Error) {
130+
this.#consoleCollector = new ConsoleCollector(
131+
this.browser,
132+
collect => {
133+
return {
134+
console: event => {
137135
collect(event);
138136
},
139137
pageerror: event => {
@@ -145,8 +143,8 @@ export class McpContext implements Context {
145143
collect(error);
146144
}
147145
},
148-
issue: issue => {
149-
collect(issue);
146+
issue: event => {
147+
collect(event);
150148
},
151149
} as ListenerMap;
152150
},

src/PageCollector.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,11 @@ export class PageCollector<T> {
5555
#maxNavigationSaved = 3;
5656
#includeAllPages?: boolean;
5757

58-
58+
/**
59+
* This maps a Page to a list of navigations with a sub-list
60+
* of all collected resources.
61+
* The newer navigations come first.
62+
*/
5963
protected storage = new WeakMap<Page, Array<Array<WithSymbolId<T>>>>();
6064

6165
constructor(
@@ -120,8 +124,6 @@ export class PageCollector<T> {
120124
}
121125
};
122126

123-
// await this.subscribeForIssues(page);
124-
125127
const listeners = this.#listenersInitializer(collector);
126128

127129
listeners['framenavigated'] = (frame: Frame) => {
@@ -221,6 +223,9 @@ export class ConsoleCollector extends PageCollector<ConsoleMessage | Error | Agg
221223
#mockIssuesManagers = new WeakMap<Page, FakeIssuesManager>();
222224

223225
override async addPage(page: Page) {
226+
if (this.storage.has(page)) {
227+
return;
228+
}
224229
await super.addPage(page);
225230
await this.subscribeForIssues(page);
226231
}
@@ -245,7 +250,7 @@ export class ConsoleCollector extends PageCollector<ConsoleMessage | Error | Agg
245250
const session = await page.createCDPSession();
246251
session.on('Audits.issueAdded', data => {
247252
// @ts-expect-error Types of protocol from Puppeteer and CDP are incopatible for Issues but it's the same type
248-
const issue = createIssuesFromProtocolIssue(null,data.issue,)[0];
253+
const issue = createIssuesFromProtocolIssue(null,data.issue)[0];
249254
if (!issue) {
250255
return;
251256
}

0 commit comments

Comments
 (0)