fix(logic): subscribe signals referenced by array action node params
subscribeRefs() walked node kinds to build the signal subscription set but omitted the new action.array.push/set/remove nodes. Signal or local-var references in their expr/index params were never subscribed, so the live cache held no value and they resolved to NaN at run time (action.accumulate was handled, its modern equivalent action.array.push was not). Add the missing cases, including the comma-split index list for array.set. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
9d48292976
commit
9d9e538a90
@@ -399,7 +399,14 @@ export class LogicEngine {
|
||||
case 'flow.loop': if ((node.params.mode ?? 'count') === 'while') collectRefs(node.params.cond ?? '').forEach(want); break;
|
||||
case 'action.write':
|
||||
case 'action.accumulate':
|
||||
case 'action.array.push':
|
||||
case 'action.log': collectRefs(node.params.expr ?? '').forEach(want); break;
|
||||
case 'action.array.set':
|
||||
collectRefs(node.params.expr ?? '').forEach(want);
|
||||
String(node.params.index ?? '').split(',').forEach(s => collectRefs(s.trim()).forEach(want));
|
||||
break;
|
||||
case 'action.array.remove':
|
||||
collectRefs(node.params.index ?? '').forEach(want); break;
|
||||
case 'action.config.apply':
|
||||
case 'action.config.read':
|
||||
case 'action.config.write': {
|
||||
|
||||
Reference in New Issue
Block a user