On Case-Insensitive FS, using libraries with unmatched Sketch name case breaks the IDE at launch
ubidefeo opened this issue · 2 comments
Describe the bug
Only applies to Mac OS with Case-Insensitive HFS+ / APFS or other case insensitive File Systems (basically nowhere else)
If one or more libraries contain Sketch examples whose names have case mismatch with the containing folder,
the IDE breaks at launch while trying to populate the File > Examples menu.
To Reproduce
Steps to reproduce the behavior:
- On Mac OS install the library
WiFiManagerorM5Stackfor ESP32/8266 - (re)launch the IDE
- The process will be interrupted
Expected behavior
As it happens for Sketches, when the Sketch folder and the Sketch .ino files are not an exact match (in case) the Sketch should be ignored.
To test this, try opening a random sketch from your Sketchbook folder into your Finder, change the case of only one letter of either the Sketch folder name or the .ino file name and (re)launch the IDE.
This sketch will no more be available in your File>Sketchbook list
Screenshots
n/a
Desktop (please complete the following information):
- OS: Mac OS Mojave with Case-Insensitive FS (default setting for legacy reasons)
- Version: 0.1.3-nightly-20210204
Additional context
This is a CLI related issue, because CLI returns the sketch list to the gRPC interface.
My guess is that the Go Path module find the folder name, checks to see if a .ino file with the same name is contained and returns true wether or not the case of the Sketch .ino name is an exact match with the folder name.
The sketch is then assumed to be valid and made available to the IDE for menu item.
When the IDE tries to load the Sketch name it fails to move forward because it expects an exact name (case-sensitive)
arduino/arduino-cli#1174
@kittaakos also for this one, the solution will come from the CLI
The fix is available as part of the 0.1.4 release. I am closing it.