Skip to content

WLED TV v1.3.3

Choose a tag to compare

@leonida92 leonida92 released this 06 Nov 23:43
· 21 commits to main since this release

WLED TV v1.3.3: Unified WledControllerClient & Streamlined Settings

Unified WledControllerClient & Shared Socket Lifecycle

  • Unified Fixture Client (WledControllerClient): Consolidated UDP protocol streaming (DDP multi-packet, DRGB MTU clamping, WARLS indexing, SK6812 RGBW channel conversion) and HTTP device management (/json/state, /json/info) behind a single, high-leverage interface operating on domain models (WledDevice).
  • Eliminated Socket Churn & Port Exhaustion: Replaced independent per-activity DatagramSocket allocations and manual teardown across 5 UI screens with an application-scoped singleton (DefaultWledControllerClient) owning a shared, reusable socket and connection-pooled OkHttpClient.
  • Zero Jitter Hot Path: Frame transmission (sendFrame) remains synchronous on the 60Hz ambient loop for sub-millisecond pacing, while HTTP device control and fleet-wide operations are main-safe suspend functions running off the main thread.
  • Concurrent Fleet Blackout: Multi-device power-off calls execute in parallel with individual timeout safeguards, preventing offline or lagging controllers from delaying shutoff for the rest of the fleet.
  • High-Level Domain Flashing: Added flashDevice(device) on the controller client to replace manual byte allocations and timer loops across device setup screens.
  • Internal Encapsulation: Low-level WledUdpSender and WledHttpClient are now marked internal, preventing any UI screen or service from bypassing the controller client architecture.
  • Fast In-Memory Testing Seam: Added FakeWledControllerClient double, enabling all 106 unit tests across 14 test suites to pass 100% green in ~8 seconds without network I/O.

Streamlined Settings

  • Removed Physical Corner Alignment Wizard: Completely removed CornerFinderActivity, obsolete calculation models, and layout cards to streamline TV strip geometry setup directly to intuitive perimeter segment counters.