PlasmaZones 1.12.2
6 changes, released February 19, 2026.
Fixed
- Audio visualizer: CAVA process silently failed when bar count was odd (exit code 1, “must have even number of bars with stereo output”). Even bar counts are now enforced at all layers: CavaService, KCM setter, and UI slider (stepSize=2).
- Audio shader data: QML
|| []fallback onaudioSpectrumbinding forced V4 JavaScript conversion, losing the nativeQVector<float>type needed byZoneShaderItem’s fast path. Replaced with aBindingelement guarded bywhento preserve type identity through the binding chain. - CAVA stderr capture: Switched from
ForwardedErrorChanneltoSeparateChannelsso CAVA error output is captured in daemon logs instead of lost. - CAVA exit diagnostics: Moved
exitCode()/readAllStandardError()fromstateChangedtofinishedsignal handler per Qt API contract. Only warns on non-zero exit code (stderr on exit 0 is normal for CAVA).
Changed
- Shared audio constants:
Audio::MinBars/Audio::MaxBarsmoved tosrc/core/constants.hwithstatic_assertfor even values, eliminating magic number duplication across CavaService, KCM, and QML. - Nix: Re-enabled Nix CI, release builds, flake.lock updater, and
plasmazones.nixrelease asset now that nixpkgs-unstable has the Plasma 6.6 stack (NixOS/nixpkgs#479797).