fix(browser): detach tab-cap listing from openTab return path

This commit is contained in:
pandego
2026-03-01 14:52:55 +01:00
committed by Peter Steinberger
parent 22ec577d80
commit e303b356ba
2 changed files with 16 additions and 8 deletions

View File

@@ -165,6 +165,12 @@ function createProfileContext(
}
};
const triggerManagedTabLimit = (keepTargetId: string): void => {
void enforceManagedTabLimit(keepTargetId).catch(() => {
// best-effort cleanup only
});
};
const openTab = async (url: string): Promise<BrowserTab> => {
const ssrfPolicyOpts = withBrowserNavigationPolicy(state().resolved.ssrfPolicy);
@@ -181,7 +187,7 @@ function createProfileContext(
});
const profileState = getProfileState();
profileState.lastTargetId = page.targetId;
await enforceManagedTabLimit(page.targetId);
triggerManagedTabLimit(page.targetId);
return {
targetId: page.targetId,
title: page.title,
@@ -208,12 +214,12 @@ function createProfileContext(
const found = tabs.find((t) => t.targetId === createdViaCdp);
if (found) {
await assertBrowserNavigationResultAllowed({ url: found.url, ...ssrfPolicyOpts });
await enforceManagedTabLimit(found.targetId);
triggerManagedTabLimit(found.targetId);
return found;
}
await new Promise((r) => setTimeout(r, 100));
}
await enforceManagedTabLimit(createdViaCdp);
triggerManagedTabLimit(createdViaCdp);
return { targetId: createdViaCdp, title: "", url, type: "page" };
}
@@ -250,7 +256,7 @@ function createProfileContext(
profileState.lastTargetId = created.id;
const resolvedUrl = created.url ?? url;
await assertBrowserNavigationResultAllowed({ url: resolvedUrl, ...ssrfPolicyOpts });
await enforceManagedTabLimit(created.id);
triggerManagedTabLimit(created.id);
return {
targetId: created.id,
title: created.title ?? "",