Skip to content

v2.8.3 — Architectural Hardening, Singleton Runner Lifecycle & Zero Polling

Choose a tag to compare

@xyasharx xyasharx released this 12 Oct 17:05
· 169 commits to main since this release
88a8166

Dendro 2.8.3 — Architectural Hardening, Singleton Runner Lifecycle & Zero Polling

Summary of Changes

  • Zero-Polling Architecture: Removed the residual 500ms polling timer in main.py. The Linux kernel now manages process signals natively with SIG_DFL, ensuring true 0.0% CPU usage while idle.
  • Singleton Transaction Runner: Refactored PolkitTransactionRunner from being re-instantiated on demand across multiple UI methods into a persistent, single-instance service on MainWindow. This eliminates redundant signal re-bindings and prevents orphaned QObject memory leaks.
  • Event-Queue CLI File Opener: Replaced the arbitrary 300ms magic sleep timeout with an event-driven QTimer.singleShot(0) queue post, opening local .rpm package files immediately once the main window completes its initial display map.
  • Diagnostic Timestamp Parity: Added ISO millisecond timestamps ([YYYY-MM-DD HH:MM:SS.mmm]) to the backend startup benchmark logs, matching the initial telemetry banner.
  • Static Analysis Compliance: Cleaned up variable scoping in main.py to ensure 100% clean passes under Ruff (F821, F822, F823).

Full Changelog: v2.8.2...v2.8.3