From 7f96e7712be0ce6150823297e0b89567b7b61c29 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 14 Jan 2026 20:51:18 +0100 Subject: [PATCH 1/3] feat(scaffolder-backend): simplify abort handling in debug:wait action Signed-off-by: mtt-artis --- .../src/scaffolder/actions/builtin/debug/wait.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/wait.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/wait.ts index e048720f29..321a5f46a8 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/wait.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/wait.ts @@ -85,14 +85,11 @@ export function createWaitAction(options?: { } await new Promise(resolve => { - const controller = new AbortController(); const timeoutHandle = setTimeout(abort, delayTime.toMillis()); - ctx.signal?.addEventListener('abort', abort); + ctx.signal?.addEventListener('abort', abort, { once: true }); function abort() { - ctx.signal?.removeEventListener('abort', abort); - clearTimeout(timeoutHandle!); - controller.abort(); + clearTimeout(timeoutHandle); resolve('finished'); } }); From 50128528375fe8b6d5a47e5ca4d32e29d0074885 Mon Sep 17 00:00:00 2001 From: mtt-artis Date: Wed, 14 Jan 2026 21:08:05 +0100 Subject: [PATCH 2/3] feat(scaffolder-backend): add changeset Signed-off-by: mtt-artis --- .changeset/cuddly-colts-dress.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/cuddly-colts-dress.md diff --git a/.changeset/cuddly-colts-dress.md b/.changeset/cuddly-colts-dress.md new file mode 100644 index 0000000000..f7e24d1c54 --- /dev/null +++ b/.changeset/cuddly-colts-dress.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Simplify abort handling in debug:wait action From 5e5f78275947f16e9f2a6d135b8512a19b7c8924 Mon Sep 17 00:00:00 2001 From: mtt-artis Date: Thu, 15 Jan 2026 20:11:46 +0100 Subject: [PATCH 3/3] fix(scaffolder-backend): remove unused abort Signed-off-by: mtt-artis --- .changeset/cuddly-colts-dress.md | 2 +- .../src/scaffolder/actions/builtin/debug/wait.ts | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.changeset/cuddly-colts-dress.md b/.changeset/cuddly-colts-dress.md index f7e24d1c54..5e541ebccb 100644 --- a/.changeset/cuddly-colts-dress.md +++ b/.changeset/cuddly-colts-dress.md @@ -2,4 +2,4 @@ '@backstage/plugin-scaffolder-backend': patch --- -Simplify abort handling in debug:wait action +Remove unused abort controller in debug:wait action diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/wait.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/wait.ts index 321a5f46a8..73d81e50bf 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/wait.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/wait.ts @@ -84,13 +84,14 @@ export function createWaitAction(options?: { ); } - await new Promise(resolve => { + await new Promise(resolve => { const timeoutHandle = setTimeout(abort, delayTime.toMillis()); - ctx.signal?.addEventListener('abort', abort, { once: true }); + ctx.signal?.addEventListener('abort', abort); function abort() { + ctx.signal?.removeEventListener('abort', abort); clearTimeout(timeoutHandle); - resolve('finished'); + resolve(); } }); },