* Treat empty or effectively-empty configuration files as invalid: restore defaults, optionally fall back to stored settings, and avoid silently using blank configurations.
* Improve presets handling by detecting and recreating empty or undersized preset files so presets are reliably initialized and usable.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: softhack007 <91616163+softhack007@users.noreply.github.com>
@coderabbitai caught the problem, but its fix suggestion was out to
lunch on this one. Passing an unsigned char to String.concat() appends
it as a number instead of appending the character.
Instead, mask the unneceeded bits.
Refactor file closing logic to improve concurrency handling: "Consuming" doCloseFile early reduces the risk that several tasks will try to close the same file.
* New Effect: Color Clouds
ColorClouds: Random start points for clouds and color
ColorClouds: new config option 'More red'
* ColorClouds: Incorporated review comments
- Support for color palettes
- Use perlin16() instead of inoise16()
- Use cos8_t() instead of cos8()
* ColorClouds: incorporated more review comments
* ColorClouds: incorporated final review comment
* Info page updates and minor re-styling
* added GitHub repo (link)
* added Total LEDs
* removed lwip major version on esp32
* two horizontal lines for better readability
* add rel="noopener noreferrer" for improved security
* When using target="_blank", it's a security best practice to include rel="noopener noreferrer" to prevent the new page from accessing window.opener.
* switch-cases that fall through
* potential buffer overflow in improv.cpp
* potentially uninitialized variables in FX.cpp
* potential array out-of-range on segment::col[]
* minor optimization: only apply gamma correction when result is needed
* tag some possibly unused variables with [[maybe_unused]]
* do not call strip.show(), just shedule a "show()" in the next main loop.
* experimental fix for inconsistent state when loading a preset (see upstream https://github.com/wled/WLED/issues/5200)
* relax checks in d_malloc_only, allow RTCRAM (avoids "unexpected end of JSON input) errors
* debug messages improved
* set errorflag when d_malloc() or d_calloc() failed