diff --git a/packages/core/src/viewport/visual-tracer.ts b/packages/core/src/viewport/visual-tracer.ts index 5a8db5f..74f0f2b 100644 --- a/packages/core/src/viewport/visual-tracer.ts +++ b/packages/core/src/viewport/visual-tracer.ts @@ -978,4 +978,19 @@ export class VisualTracer { { attr: OVERLAY_ATTR }, ); } + + /** + * Attaches automatic overlay cleanup on page navigation. + * Call once per page to ensure overlays don't persist across navigations. + * Returns a cleanup function to detach the listener. + */ + attachAutoCleanup(page: Page): () => void { + const handler = () => { + this.clearOverlays(page).catch(() => {}); + }; + page.on('framenavigated', handler); + return () => { + page.off('framenavigated', handler); + }; + } }