Fix stale presenter after expected operation errors

This commit is contained in:
zainnadeem(RedOpsCell) 2026-06-22 11:18:23 +05:00
parent a0a369a7ef
commit 2a226e53be
2 changed files with 35 additions and 0 deletions

View File

@ -241,9 +241,11 @@ class Recipe {
// Cannot rely on `err instanceof OperationError` here as extending
// native types is not fully supported yet.
dish.set(err.message, "string");
this.lastRunOp = null;
return i;
} else if (err instanceof DishError || err?.type === "DishError") {
dish.set(err.message, "string");
this.lastRunOp = null;
return i;
} else {
const e = typeof err == "string" ? { message: err } : err;

View File

@ -7,6 +7,9 @@
import TestRegister from "../../lib/TestRegister.mjs";
const oversizedPdfLikeInput = "%PDF-1.0\n" + "A".repeat(5000);
TestRegister.addTests([
{
name: "RenderPDF",
@ -34,4 +37,34 @@ TestRegister.addTests([
}
],
},
{
name: "RenderPDF followed by Generate QR Code error returns plain text",
input: oversizedPdfLikeInput,
expectedMatch: /^Error generating QR code\. \(/,
recipeConfig: [
{
"op": "Render PDF",
"args": ["Raw"]
},
{
"op": "Generate QR Code",
"args": ["PNG", 1, 0, "High"]
}
],
},
{
name: "RenderPDF followed by Generate QR Code error does not render iframe",
input: oversizedPdfLikeInput,
unexpectedMatch: /<iframe/i,
recipeConfig: [
{
"op": "Render PDF",
"args": ["Raw"]
},
{
"op": "Generate QR Code",
"args": ["PNG", 1, 0, "High"]
}
],
},
]);