From edd5fadf57e096ae656758edffe80a9c810786b3 Mon Sep 17 00:00:00 2001 From: Yuki Hattori Date: Tue, 14 Jan 2025 20:55:47 +0900 Subject: [PATCH 1/2] Make stable created preview window detector When opening multiple previews with `--preview`, the preview window detector will sometimes fail with the parse error of empty URL for `other` type page. --- src/preview.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/preview.ts b/src/preview.ts index aac35d0a..ef41a71b 100644 --- a/src/preview.ts +++ b/src/preview.ts @@ -165,15 +165,17 @@ export class Preview extends (EventEmitter as new () => TypedEmitter { debugPreview('Activated the window finder for %s.', id) - const url = new URL(target.url()) + if (target.type() === 'page') { + const url = new URL(target.url()) - if (url.searchParams.get('__marp_cli_id') === id) { - debugPreview('Found a target window with id: %s', id) - pptr.off('targetcreated', idMatcher) + if (url.searchParams.get('__marp_cli_id') === id) { + debugPreview('Found a target window with id: %s', id) + pptr.off('targetcreated', idMatcher) - void (async () => { - res((await target.page()) ?? (await target.asPage())) - })() + void (async () => { + res((await target.page()) ?? (await target.asPage())) + })() + } } } From 471fbe8c97157e40f87b63be321978980908e1ae Mon Sep 17 00:00:00 2001 From: Yuki Hattori Date: Tue, 14 Jan 2025 22:07:06 +0900 Subject: [PATCH 2/2] [ci skip] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72c1b23c..4718a002 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +### Fixed + +- Make the preview option stable against occasional invalid URL errors ([#627](https://github.com/marp-team/marp-cli/pull/627)) + ## v4.0.4 - 2024-12-25 ### Added