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:
@@ -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