When a sketch's external library headers were only referenced from project headers (e.g. esp32-eyes.ino includes Common.h, Common.h includes <ESP32Servo.h>), the compile failed with fatal error: ESP32Servo.h: No such file or directory because _detect_external_includes was only called on main_content (the processed .ino). Project .h/.cpp files were never scanned, so ESP32Servo / DHT / Adafruit_Sensor referenced only transitively through user code never reached _resolve_library_components and never landed in user_libs_all/. Fix: collect ext_headers from main_content PLUS every uploaded .h/.hpp/.ino/.c/.cpp file before resolving libraries. Lib resolver already walks transitive includes inside the lib bundle once it's copied; this just makes sure the first-level set covers user project headers too. Repro: open https://velxio.dev/example/robot-desktop-eyes, click Compile. Before this commit: 13 errors starting at ESP32Servo.h. After: ext_headers includes ESP32Servo.h on the first pass and the build proceeds. |
||
|---|---|---|
| .. | ||
| app | ||
| scripts | ||
| sdk | ||
| tests | ||
| .env.example | ||
| Dockerfile | ||
| debug_qemu.py | ||
| mcp_server.py | ||
| mcp_sse_server.py | ||
| requirements.txt | ||