change: drop the per-provider custom scripts feature (#82) #198
Loading…
Reference in a new issue
No description provided.
Delete branch "remove-custom-scripts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The per-provider custom-scripts feature is arbitrary root command execution configured from the GUI: script strings live in config.json and run inside the root service's tunnel threads (#82). Research posted on the issue: upstream added it undocumented and unrequested in 2018, it shipped broken for six weeks before the author noticed himself, and no user ever filed a bug against it — no known users, wide quiet root-exec channel. The hooks also fire per tunnel process while being keyed per provider, which is how #81 (pre/down running for hop connects via the
h != 1string/int comparison) exists.Closes #82, closes #81 (the buggy guards existed only to gate this feature and are removed with it).
Fix
exe_custom_scriptsand all six call sites in tunnel.py plus the one in aqomui_service.py, including the #81 guards.save_scripts/clear_scripts/update_scripts_enabled.{provider}_scriptskeys inload_config: configs written before the removal carry them, and settings are re-persisted wholesale on the next save, so they'd otherwise linger forever.shlex/runimports and scripts-only test stubs.If demand ever appears, the re-add shape is the inverse (hooks in the GUI process as the user, driven by the state signals it already receives — the Viscosity model); see the issue.
Verification
load_configscrubs legacy*_scriptskeys; scripts-enablement tests removed with the feature.ruff check --select E9,F63,F7,F82 .andpython -W error::SyntaxWarning -m compileallclean.🤖 Generated with Claude Code