Problem
The deploy-on-aws plugin registers a PostToolUse hook on Edit|Write that runs validate-drawio.sh. This script checks for the defusedxml Python dependency before checking whether the file being written is actually a .drawio file.
As a result, every single file write (HTML, markdown, JSON, memory files, etc.) produces:
Missing required dependency: defusedxml. Install it with: pip3 install defusedxml>=0.7.1
...even though the hook has nothing to do with the file being written.
Location
scripts/validate-drawio.sh, lines 13-16:
python3 -c "import defusedxml" 2>/dev/null || {
echo '{"systemMessage": "Missing required dependency: defusedxml. Install it with: pip3 install defusedxml>=0.7.1"}'
exit 0
}
The file extension check comes later in the script. The dependency check should either:
- Come after the file type check (so non-drawio files exit early and silently), or
- The hook matcher in
hooks.json should be scoped to .drawio files rather than matching all Edit|Write events
Impact
Anyone with the plugin enabled who hasn't installed defusedxml sees this warning on every file write across every project and file type. Produces noise that undermines trust in the hook system.
Version
deploy-on-aws v1.2.0
Problem
The
deploy-on-awsplugin registers aPostToolUsehook onEdit|Writethat runsvalidate-drawio.sh. This script checks for thedefusedxmlPython dependency before checking whether the file being written is actually a.drawiofile.As a result, every single file write (HTML, markdown, JSON, memory files, etc.) produces:
...even though the hook has nothing to do with the file being written.
Location
scripts/validate-drawio.sh, lines 13-16:The file extension check comes later in the script. The dependency check should either:
hooks.jsonshould be scoped to.drawiofiles rather than matching allEdit|WriteeventsImpact
Anyone with the plugin enabled who hasn't installed
defusedxmlsees this warning on every file write across every project and file type. Produces noise that undermines trust in the hook system.Version
deploy-on-awsv1.2.0