github Lexonight1/thermalright-trcc-linux v8.3.2

latest releases: v9.5.2, v9.5.1, v9.5.0...
one month ago

Bidirectional Instance Detection with DI

Any trcc instance (CLI, API) automatically detects if another instance (GUI or API) is already running and routes commands through it via proxy instead of touching USB directly. Uses dependency injection — composition roots inject find_active_fn and proxy_factory_fn into core LCDDevice/LEDDevice. Core decides when to proxy, adapters inject how.

Features

  • InstanceKind enum + find_active() — pure core module for instance detection (GUI IPC socket > API health > None)
  • Proxy factory functionscreate_lcd_proxy(kind) / create_led_proxy(kind) return correct proxy type
  • @_forward_to_proxy decorator — transparent method forwarding on LEDDevice (13 public methods)
  • Eliminated IPCClient.available() from all source code — replaced with find_active() everywhere

Internal

  • 4784 tests (+25 new), ruff clean, pyright 0 errors
  • Composition root wiring in CLI _display.py/_led.py and API devices.py

Full changelog: https://github.com/Lexonight1/thermalright-trcc-linux/blob/main/doc/CHANGELOG.md

Don't miss a new thermalright-trcc-linux release

NewReleases is sending notifications on new releases.