Engine: macro recorder applies the macro policy to the steps of a recorded script run

An Automate script run while recording was replaced by all of its steps except automate.* ones,
without the policy check that top-level commands get. For example, a script that runs
window.activate or macro.list produced a recorded macro that the runner refused on playback. The
steps of a recorded script run, and of an inlined macro run, now go through the same policy as
top-level commands; refused ones are left out and listed as skipped.
This commit is contained in:
prxnvt
2026-10-22 02:26:32 -04:00
parent 3f9223c85f
commit efce63f75f
3 changed files with 33 additions and 7 deletions
+4 -3
View File
@@ -125,9 +125,10 @@ references the selection when recording starts is the example input: references
on its sheet become tokens (on another sheet `C4` stays that sheet's `C4`), and the input's shape,
header and column types are inferred. Toggles such as Bold are recorded with the state they set
(`"on": true`), so playing them back sets them rather than flipping them. Commands a macro may not
run are left out and listed in the result; a macro run while recording is replaced by its steps
when it has no inputs, no output and only plain commands (otherwise it is left out and listed), and
an Automate script run by the script's steps.
run are left out and listed in the result, also from the steps of a macro or script run while
recording; a macro run while recording is replaced by its steps when it has no inputs, no output
and only plain commands (otherwise it is left out and listed), and an Automate script run by the
script's steps.
## Other commands and storage