Commit Graph

6665 Commits

Author SHA1 Message Date
Frank
eeeb93cdc5 Merge branch 'main' into V5 2026-03-27 12:19:56 +01:00
Will Miles
6a16593be5 Merge pull request #5438 from willmmiles/ipv6-dns-fix
Fix DNS hangs on ESP32
2026-03-26 18:48:57 -04:00
Will Miles
58239ced02 Fix RMT bus drivers for v5
Use a simpler shim in bus wrapper, and clean up the HI driver to
indicate that it's not v5 compatible (yet).
2026-03-26 18:43:04 -04:00
Will Miles
4f7b574d22 dynarray: Directly apply linker fix
Rather than append a linker file, we edit the upstream supplied ones to
add our section to the binaries.  Works better on all platforms.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-26 18:41:59 -04:00
Will Miles
b222940ad1 Env cleanup 2026-03-26 18:41:59 -04:00
Frank Möhle
78ecd3805e service cleanup after removing return FRAMETIME (#5443)
Clean-up and simplification of strip.service() after individual effect FRAMETIME was removed.
* Activation "_frametime" is now the same for all effects, so effects scheduling based on individual frametime is not needed any more
* Special handling for mode_static is obsolete, because the solid effect does not have a different timing any more
* Ensures a safe fallback segment after servicing to avoid stale state.
* Brightness changes use a capped refresh threshold to avoid excessive redraws.
2026-03-26 12:31:08 +01:00
Damian Schneider
4c7fa0303b load pixel forge tools from json file, improved tools list, bugfixes (#5404)
* load pixel forge tools from json file, bugfixes

- load available external tools from a json file instead of hard-coding them in
- add buttons to update or delete tools (instead of manually deleting files in /edit)
- fixed bug that file system memory was not updated after uploading or deleting files
- fixed a bug where gifs with a space would not display
- fixed bug of page not loading properly (out of sync access to tabSw() )
- remove pixelforge from ESP8266 1m builds (does not fit)
- add inline html page if pixelforge is not built in to avoid 404
2026-03-26 10:28:23 +01:00
Will Miles
0d539c524c Merge branch 'main' into V5 2026-03-25 19:29:45 -04:00
Frank
d8cb20a9e7 bugfix: prevent _segment_index being misaligned w.r.t. segments vector
prevent that an inactive segment in the segments list causes misalignment between getSegmentID() and actual segments vector.
2026-03-24 15:21:31 +01:00
Frank
710f897a1d strip.service bugfix: avoid losing trigger events
* avoid losing "trigger" events if suspend requested during effect service
* clarify some misleading comments
2026-03-24 11:54:25 +01:00
Will Miles
abb4124ab4 Fix formatting 2026-03-22 08:54:41 -04:00
Will Miles
3c7fbabd23 Use correct fix for SHA256 hash string
@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.
2026-03-22 08:36:06 -04:00
Will Miles
bda74bafb8 Fix DNS hangs on ESP32
Discard IPv6 RA packets, which cause LwIP to overwrite the IPv4 DNS
servers, resulting in DNS queries hanging up because there are no
accessible servers.
2026-03-22 07:38:06 -04:00
Damian Schneider
9cf3a7d184 Add stencil blendingmode and minor speed optimisations (#4889)
* Optimisatins in blendSegment()
* adding new blend mode: "Stencil"
2026-03-22 11:29:16 +01:00
Frank
5cef850c47 prevent _usedSegmentData Counter Underflow During Mode Blending
In startTransition(), a copy of the old effect's data buffer is made using raw malloc() — it deliberately bypasses allocateData(). This buffer is never added to the _usedSegmentData static counter (only allocateData() does that). If the old effect then calls allocateData() it causes _usedSegmentData to underflow.

https://github.com/wled/WLED/issues/5427#issuecomment-4103228702
2026-03-22 02:33:25 +01:00
Frank Möhle
74763040ad Hostname creation cleanup, avoid that default DNS name ESP-xxxxx gets used (#5424)
Bug Fixes
* Improved hostname sanitization and buffer-size safeguards to prevent truncation and ensure DNS-compliant names.
* Hostname is now applied earlier during network setup and on reconnects (ESP32), improving connectivity and ensuring settings take effect.
* Solves the problem that ESP32 boards show as "ESP-xxxxxx" on the network, no matter if DNS name is defined or not
* (breaking fix) prevent hostnames with double ``WLED-`` prefix, like ``wled-WLED-kitchen``

New Features
* Added a length-aware hostname retrieval API with an mDNS-preference option and robust fallback behavior.
* Preserved legacy compatibility by providing a length-aware alias for legacy hostname preparation.

Open Ends
* mDNS name is not sanitized when registering the mDNS endpoint, to avoid breaking previous functionality
2026-03-21 17:31:42 +01:00
Damian Schneider
7a635c88d6 hotfix in color_fade() only round up in video mode, let it go to zero otherwise 2026-03-21 15:19:29 +01:00
Damian Schneider
dc5a7350d2 improved hue preservation in color fade, should also be faster (#5434) 2026-03-21 12:48:48 +01:00
Will Miles
81f251c125 Merge pull request #5332 from DedeHai/asyncDNS
implement async DNS lookup - no more stuck NTP requests
2026-03-20 13:20:07 -04:00
Damian Schneider
ff9067f10b remove debut print, remove whitespaces 2026-03-20 16:38:10 +01:00
Will Miles
144c0f9dd6 Ensure AsyncDNS safety
Make AsyncDNS queries return a future-like object backed by a smart
pointer.  This ensures that the client cannot release the backing
memory while the dns query callback is still holding a reference to it,
preventing any use-after-free cases.
2026-03-19 21:38:45 -04:00
Will Tatam
a721264205 Merge pull request #5407 from wled/copilot/allow-upgrade-to-esp32
Allow OTA upgrade between ESP32_V4 and ESP32 release names
2026-03-18 16:44:41 +00:00
Will Miles
f28cbea2c2 Metadata compatibility cleanup
- Remove unnecessary checks
- Remove unnecessary constructions
- Fix unsafe buffer-to-String
2026-03-16 18:20:41 -04:00
Will Miles
3b256eed1e Merge branch 'main' into copilot/allow-upgrade-to-esp32 2026-03-16 18:17:51 -04:00
Damian Schneider
610c80a0ae UI improvement: clearer tool icons and added text description (#5425)
* add two new icons (folder, hammer), add text to tool buttons
2026-03-16 06:56:59 +01:00
Frank Möhle
aa6cd883c2 Fix typo 2026-03-16 01:09:06 +01:00
Frank Möhle
7006285856 Update language guidelines in copilot instructions
Clarify language requirement for code comments and documentation.
2026-03-16 01:07:41 +01:00
Frank Möhle
7e490fcd28 ensure that targetFPS is set to default on a fresh install (fixes #5408) 2026-03-13 18:55:08 +01:00
Frank Möhle
6f030e540f OTA update page restyling, automatically set download URL based on info.repo (#5419)
* use same style as other settings pages
* Hide "back" button while update is in progress
* set "download latest binary" URL and badge based on info.repo; directly link to "latest" release
* correct bad name of "Security & Updates" page
* ensure that "update bootloader" section get hidden when not supported
2026-03-13 18:44:35 +01:00
Frank Möhle
a63a307c6e Update PR review instructions for generated html files
Clarified instructions for PR authors regarding generated files and updating Web UI files.
2026-03-13 18:40:42 +01:00
Frank Möhle
b57d51ef19 correction 2026-03-13 17:42:30 +01:00
Frank Möhle
34722aa371 Update instructions for editing html_*.h files
Clarified instructions regarding editing auto-generated HTML files.
2026-03-13 17:41:26 +01:00
Frank Möhle
19c178d0f9 Update development workflow instructions
Clarify development workflow instructions and emphasize that the changes apply to agent mode only.
2026-03-13 17:36:26 +01:00
Frank Möhle
3244d0f593 Clarify handling of generated html_*.h files
Updated instructions regarding generated html_*.h files to clarify that they should not be committed, and they don't need to be re-generated in any PR.
2026-03-13 17:29:07 +01:00
Frank
64f3aa96dd replace depricated ADC constant
according to espressif docs:
`ADC_ATTEN_DB_12` is deprecated, it behaves the same as `ADC_ATTEN_DB_12`
2026-03-12 16:01:43 +01:00
Frank
f816b5fa98 bugfix #5295 - change remaining references to strip.paletteBlend into paletteBlend
these were leftover after refactoring paletteBlend into a global variable.

see #5295 for details
2026-03-12 16:00:20 +01:00
Frank
02fc15ffd1 Merge branch 'main' into V5 2026-03-11 18:15:09 +01:00
Frank Möhle
e4cd730654 Info page: Total LEDs, GitHub repo, minor re-styling (#5418)
* 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.
2026-03-11 18:07:19 +01:00
BobLoeffler68
c7fa496fda Spinning Wheel FX in the user_fx usermod (#5293)
* Added the Spinning Wheel effect into the user_fx usermod

* Fixed integer overflow when storing color scale in aux1. And added a comment about the velocity scaling.

* Additions/changes:
* Added Color Per Block checkbox. Enabled will set the spinner LEDs to the same color (instead of changing colors depending on the palette and LED position).
* Added Sync Restart checkbox.  Enabled means that all spinners will restart together (instead of individually) after they have all stopped spinning.
* Added resizing the spinner slider (between 1 and 10 LEDs).
* Changed how we do random speed and slowdown start time (sliders set to 0 = random).
* tweaks here and there

* One minor fix for the spinner colors

* Changed the two analogRead() to hw_random16()

* Changes from SEGLEN to vstripLen suggested by coderabbitai, but it's not working correctly now. Committing and pushing so coderabbitai can check the latest code.

* Rolled back changes from vstripLen to SEGLEN as that is what works correctly.  Also changed to the global paletteBlend.

* Fixed a color issue by using ColorFromPaletteWLED() instead of color_from_palette(). Also removed color_wheel() and the Color Mode option as it's very similar to the new color function. And now using strips variable instead of SEGMENT.nrOfVStrips() after the initial assignment at the top of the code.

* Added the ability to spin the wheel(s)/spinner(s) with a push button or the new Spin Me checkbox.

* Set default of check1 to 1 so it will automatically spin.
2026-03-11 18:01:56 +01:00
Joachim Dick
40442551ef New smooth effect: Color Clouds (#5268)
* 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
2026-03-11 08:19:42 +01:00
Frank
541eb72d67 Merge branch 'main' into V5 2026-03-10 21:19:30 +01:00
Will Miles
cfa93c9778 Merge pull request #5416 from willmmiles/usermod-validation-path-matching
Fix usermod validation portability
2026-03-10 16:01:51 -04:00
Will Tatam
c35358c005 Display relase on info page 2026-03-10 19:07:19 +00:00
Frank Möhle
e0164fc502 Add esp32-C61 bootloader offset
C61 uses the same offset as C6
2026-03-10 20:05:45 +01:00
Frank Möhle
9e6c927d50 Fix preprocessor directive syntax for ESP32 2026-03-10 19:11:50 +01:00
Frank
49f2208a4e Merge branch 'main' into V5 2026-03-10 19:07:06 +01:00
Frank Möhle
bae62d2caf Use C3 defaults for all new MCUs (C5, C6, P4) 2026-03-10 19:06:14 +01:00
Will Miles
2ab9659332 Speed up usermod validation
Avoid checking usermods we've already matched, and exit early if we've
got everything.

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-10 10:29:56 -04:00
Will Miles
3bfdb736e3 Fix usermod validation portability
Use proper path analysis instead of bare text matching.

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-10 10:11:44 -04:00
Will Tatam
53d6c4b059 Merge pull request #5172 from wled/copilot/update-install-prompt-messaging
Simplify upgrade reporting prompt with checkbox-based preference
2026-03-08 20:06:05 +00:00