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. |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| database | ||
| mcp | ||
| models | ||
| schemas | ||
| services | ||
| utils | ||
| __init__.py | ||
| main.py | ||