diff --git a/.changeset/nice-poets-attack.md b/.changeset/nice-poets-attack.md new file mode 100644 index 000000000..e338d298c --- /dev/null +++ b/.changeset/nice-poets-attack.md @@ -0,0 +1,5 @@ +--- +'@openfn/runtime': patch +--- + +Fix an issue where expression result state is not serialized before being broadcast, causing blowups diff --git a/packages/runtime/src/execute/expression.ts b/packages/runtime/src/execute/expression.ts index da9a914e8..97091cc0d 100644 --- a/packages/runtime/src/execute/expression.ts +++ b/packages/runtime/src/execute/expression.ts @@ -66,14 +66,16 @@ export default ( duration = Date.now() - duration; + const finalState = prepareFinalState(opts, result); + notify(NOTIFY_JOB_COMPLETE, { duration, - state: result, + state: finalState, jobId: id, }); // return the final state - resolve(prepareFinalState(opts, result)); + resolve(finalState); } catch (e: any) { duration = Date.now() - duration; let finalError;