On Case-Insensitive FS, using libraries with unmatched Sketch name case breaks the IDE at launch #418
Description
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
WiFiManager
orM5Stack
for 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