plum-e2e 1.3.1 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/backend/package.json
CHANGED
|
@@ -46,6 +46,18 @@ const socketHandler = (io) => {
|
|
|
46
46
|
: [BUILT_IN_RUNNER_ID];
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
// Drop runner ids that no longer exist (e.g. a deleted runner still
|
|
50
|
+
// referenced by a stale client selection) so they can't wedge the run.
|
|
51
|
+
const validatedRunners = [];
|
|
52
|
+
for (const id of runners) {
|
|
53
|
+
if (id === BUILT_IN_RUNNER_ID || (await runnerService.getById(id))) {
|
|
54
|
+
validatedRunners.push(id);
|
|
55
|
+
} else {
|
|
56
|
+
socket.emit('log', `[WARN] Runner ${id} no longer exists — skipping.\n`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
runners = validatedRunners.length > 0 ? validatedRunners : [BUILT_IN_RUNNER_ID];
|
|
60
|
+
|
|
49
61
|
const isSingleBuiltIn = runners.length === 1 && runners[0] === BUILT_IN_RUNNER_ID;
|
|
50
62
|
|
|
51
63
|
if (isSingleBuiltIn) {
|
package/frontend/package.json
CHANGED
|
@@ -72,6 +72,13 @@
|
|
|
72
72
|
fetchRunners()
|
|
73
73
|
.then((r) => {
|
|
74
74
|
availableRunners = r;
|
|
75
|
+
// Drop any saved selection pointing at runners that no longer exist,
|
|
76
|
+
// so a deleted runner can't linger in the selection and break runs.
|
|
77
|
+
const validIds = new Set(['built-in', ...r.map((x) => x.id)]);
|
|
78
|
+
runnerConfig.update((c) => {
|
|
79
|
+
const pruned = c.selectedRunners.filter((id) => validIds.has(id));
|
|
80
|
+
return { ...c, selectedRunners: pruned.length > 0 ? pruned : ['built-in'] };
|
|
81
|
+
});
|
|
75
82
|
})
|
|
76
83
|
.catch(() => {});
|
|
77
84
|
|