Hi 
I was not looking at how one of your software implements the specs, but what it means. It was not clear. But I did the testing.
Create a sketch with the following (64 chars length + .ino !invalid) sketch folder name:
0123456789012345678901234567890123456789012345678901234567891234.ino
It should be invalid as it consists of 68 chars with the extension. But it works. I could verify the sketch.
Try to open the previously created sketch with the other app. Get a message:
The spec allows dots:
followed by basic letters, numbers, underscores (_ ), dots (. ) and dashes (- ).
I manually removed the last 4 char and the .ino extension from both the sketch folder and file names. Now the length is 63. This:
012345678901234567890123456789012345678901234567890123456789123
Now, I can open the file.
Let's save the sketch with this content:
void setup() {
// I worked on this code 8+ hours.
}
void loop() {}
Create a new sketch with this content:
void setup() {
// junk
}
void loop() {}
Save the sketch folder and save it with the invalid filename (with the trailing 4 but no .ino):
0123456789012345678901234567890123456789012345678901234567891234
The app logs this:
The sketch name had to be modified.
Sketch names must start with a letter or number, followed by letters,
numbers, dashes, dots and underscores. Maximum length is 63 characters.
I go to the filesystem, and the intelligent name correction has silently overridden the previous content:
% cat 012345678901234567890123456789012345678901234567890123456789123.ino
void setup() {
// junk
}
void loop() {}
I did not try your web app, but presumably, every software works differently. What's the correct behavior? Thank you!