- fix PS Sparkler for large setups: need 32bit random position, 16bit is not enough
- fix PS Fireworks 1D: need to `break` if no particles are available or it can lead to stalls on large setups
- do not use collisions by default PS Fuzzy Noise: its very slow on larger setups
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>
Update error handling guard clause to include time check.
The simpler "!enabled || strip.isUpdating()" pattern regularly causes usermods to stop responding when many LEDs are driven.
this guide is only for reference and reading - right now the content is not liked for AI agents - neither coderabbit nor copilot will automaticially use the file.
Emphasized the requirement for clear pull request descriptions.
It's already mentioned 8n the general instructions file, but copilot still was overwriting the iinial description (good) with a delta-checklist on rework (bad).
Fix SSDP M-SEARCH response in Espalexa to match real Philips Hue
bridge behavior and UPnP spec, addressing Alexa discovery failures:
1. Fix ST header capitalization: basic:1 → Basic:1 (UPnP spec)
2. Fix USN format to include full device type URN
3. Fix hue-bridgeid to use uppercase EUI-64 format (16 hex chars)
4. Increase CACHE-CONTROL max-age from 100s to 86400 (24 hours)
Fixes#5488, relates to #4875
Agent-Logs-Url: https://github.com/wled/WLED/sessions/c3fb311b-1349-48b1-abfd-6a4aca8c7a77
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
Misspelled WLED_ENABLE_* / WLED_DISABLE_* flags are silently ignored by the preprocessor, causing features to be incorrectly included or excluded with no compiler warning (e.g. WLED_IR_DISABLE instead of WLED_DISABLE_INFRARED).
This PR adds an AI rule that enforces checking of feature flags against a curated list.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: softhack007 <91616163+softhack007@users.noreply.github.com>
* comprehensive C++, Web UI, and CI/CD conventions, a condensed setup/build guide, and a new agent-mode build/test workflow with ordered commands, timeouts, validation gates, manual web validation, and troubleshooting steps.
* repository-level AI review/configuration rules, workflow best-practices, safeguards to detect and flag edits to generated web assets, and alignment checks linking AI-facing rules with human-only reference sections.
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
if the presets.json file initially contains ``{}`` (valid JSON, could be created by user edit), we need to first rewind the file. Otherwise the result would be ``{}{"0":{}}`` (ivalid JSON)
// allocate and initialize FFT buffers on first call
// note: free() is never used on these pointers. If it ever is implemented, this implementation can cause memory leaks (need to free raw pointers)
if(valFFT==nullptr){
valFFT=(float*)heap_caps_aligned_calloc(16,2*samplesFFT,sizeof(float),MALLOC_CAP_8BIT);// SIMD requires aligned memory to 16-byte boundary. note in IDF5 there is MALLOC_CAP_SIMD available
if((valFFT==nullptr))return;// something went wrong
if((raw_buffer==nullptr))return;// something went wrong
valFFT=(float*)(((uintptr_t)raw_buffer+15)&~15);// SIMD requires aligned memory to 16-byte boundary. note in IDF5 there is MALLOC_CAP_SIMD available
}
// create window
if(windowFFT==nullptr){
windowFFT=(float*)heap_caps_aligned_calloc(16,samplesFFT,sizeof(float),MALLOC_CAP_8BIT);// SIMD requires aligned memory to 16-byte boundary. note in IDF5 there is MALLOC_CAP_SIMD available
// use integer FFT - allocate and initialize integer FFT buffers on first call, 4 bytes aligned (just in case, even if not strictly needed for int16_t)
uint8_topacity=topSegment.currentBri();// returns transitioned opacity for style FADE
uint8_tcct=topSegment.currentCCT();
if(gammaCorrectCol)opacity=gamma8inv(opacity);// use inverse gamma on brightness for correct color scaling after gamma correction (see #5343 for details)
Segment::setClippingRect(0,0);// disable clipping by default
constSegment*segO=topSegment.getOldSegment();
constboolhasGrouping=topSegment.groupLength()!=1;
// fast path: handle the default case - no transitions, no grouping/spacing, no mirroring, no CCT
f.seek(0,SeekSet);// rewind to ensure we overwrite from the start, instead of appending
f.print(init);
}
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.