effectcraft/crates/engine
Claude 605b7c3a25
Scripting: scripts can't grant themselves file and network access (#590)
A running script reached `prefs.set` through `app.run` and could turn on
Settings > Scripting & Expressions > Allow Scripts to Write Files and Access
Network (or turn off Warn User When Executing Files), which the File, Socket
and system.callSystem gates then read: the permission the user withheld was
the script's to take.

Commands a script issues now go through `Session::execute_for_script`, which
marks the session as running for a script for the command and everything it
runs (engine.batch, ScriptUI callbacks, scheduled tasks). While it is,
`prefs.set` refuses any change that would leave the Application Scripting
settings different (compared on the resulting settings, so dotted keys,
whole-page objects and batches are all covered), and a script's
`prefs.reset` keeps them as the user set them. Command scripts read from a
file (File > Scripts > Run Script File... with .json/.jsonl) count as
scripts too. The UI, CLI, control channel and MCP still change them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiAJeFttZp83Fh7YuzAR5f
2026-10-10 18:50:57 +00:00
..
presets M9.6: text animation depth (selectors, animator properties, per-char 3D, path text, presets) 2026-10-02 00:01:19 -04:00
scripts M13.1: ScriptUI frontend (dialogs, palettes, dockable panels), script menus, example plug-in, docs 2026-10-03 04:24:01 -04:00
src Scripting: scripts can't grant themselves file and network access (#590) 2026-10-10 18:50:57 +00:00
tests Merge pull request #471 from sanyamsingh001/fix/parenting-3d-position 2026-10-10 12:49:17 +00:00
Cargo.toml M13.35: Roto Brush trained model — swappable segment module, MobileSAM in pure Rust 2026-10-05 17:55:02 +07:00