• v3.3.100 003e14dfe9

    Administrator released this 2026-06-21 19:22:38 +02:00 | 9 commits to master since this release

    v3.3.100 — Complete the diagnostics: measure every UI interaction (switches, sorts, tabs, buttons)

    Following the v3.3.99 fix that eliminated the main-thread config thrash, this build closes the last measurement gap so that every action names itself in the log if it is ever slow — not just the ones that cross into the main process.

    What was already covered: every IPC handler is timed (button → main-process latency), a main-thread long-task monitor logs any block over 100 ms with its trigger, and config load/serialize are timed. Account switches were already covered too — the switch itself is a trivial in-memory operation and the rotation work is asynchronous, so it cannot block.

    What this adds (renderer side, additive, only logs when slow):

    • Interaction timing (Event Timing API): every UI interaction whose latency exceeds 50 ms is logged as renderer-interaction <type> dur=Xms proc=Yms target=<element> — always on, whether idle or under load — and names the element (id / class / data-action / label). This is the direct click-to-reaction latency.
    • Idle long-task logging: any renderer long task over 100 ms is logged immediately (renderer-longtask dur=Xms), no longer only during uploads.

    Set MHU_PERF=0 to silence the main-process probes. No functional/upload behavior changed.

    Downloads